在 2016 年做 Java 开发是一种什么样的体验? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
q397064399
V2EX    Java

在 2016 年做 Java 开发是一种什么样的体验?

  •  
  •   q397064399 2016-10-14 12:05:13 +08:00 8692 次点击
    这是一个创建于 3287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 2016 年做 Java 开发是一种什么样的体验?

    嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听说 Web 技术已经发生了一些变化。听说你是这里对新技术最了解的开发工程师?

    你算是找对人了。我对今年的技术别提多熟了, VR 、机器学习、守望先锋……你尽管问吧。我刚去了几个热门的技术大会逛了一圈,没有什么新技术是我不知道的。

    厉害。是这样的,我要开发个网站,用来展示用户的最新动态。我想我应该通过后端接口获取数据,然后用一个 table 来展示数据,用户可以对数据进行排序。如果服务器上的数据变化了,我还需要更新这个 table 。我的思路是用 jQuery 来做。

    可别用 jQuery !现在哪还有人用 jQuery 。现在是 2016 年了,你绝对应该用 React 。

    等等,这句话之前已经有一位前端大神和我说过了,我今天主要是想问你后端该怎么做。

    哦,你后端语言是 Java?

    对不起,咱们 Java 十年前在用 Spring ,十年后今天还在用 Spring

    偶尔有些企业级开发的老古董还在用 Struts1.x 不过一般都切到 Struts2.x

    ORM 依旧是 Hibernate xBatis 为主流

    真的是有点老掉牙了

    第 1 条附言    2016-10-15 08:08:33 +08:00
    不要人身攻击,这个主题本来就是发着好玩的,闹着玩的,大家开心就好
    第 2 条附言    2016-10-15 08:19:31 +08:00
    补充一下, Java 的生态系统确实很好
    64 条回复    2016-10-15 12:02:09 +08:00
    ren2881971
        1
    ren2881971  
       2016-10-14 12:12:51 +08:00
    LZ 想表达什么。。。
    uqf0663
        2
    uqf0663  
       2016-10-14 12:15:06 +08:00
    哈哈,这是 JAVA 的高端黑吗
    wobuhuicode
        3
    wobuhuicode  
       2016-10-14 12:41:59 +08:00
    python 笑而不语
    0915240
        4
    0915240  
       2016-10-14 12:47:30 +08:00 via Android
    想表达什么
    sutra
        5
    sutra  
       2016-10-14 12:54:54 +08:00 via iPhone
    @0915240 不应该去看看另外两篇, Javascript 和 PHP 的人
    wemore
        6
    wemore  
       2016-10-14 12:57:31 +08:00 via Android
    哈哈
    0915240
        7
    0915240  
       2016-10-14 12:59:16 +08:00 via Android
    @sutra 看过 诚然已经被黑出翔
    menc
        8
    menc  
       2016-10-14 13:00:23 +08:00   7
    开头太长了,你不如直入正题。

    十二年前,我是一个 Java 程序员,后来我转了 C ,去写驱动。
    上周我们要重新使用 Java 来写一个网站,于是我找了一个在写 Java 的哥们询问一下技术路线。
    ‘我以前用的 Struts 1.5 ,现在可能过时了吧’
    ‘恩,是过时了,现在我们用 Struts 2.0 ’
    ‘我以前用的 Spring ,现在该用什么?’
    ‘还是 Spring ’
    ‘ Hibernate 呢’
    ‘也还是 Hibernate ’

    Java 真是个好语言,十年如一日。
    qY3209HZitEb5Zty
        9
    qY3209HZitEb5Zty  
       2016-10-14 13:07:27 +08:00
    支持啊
    anmaz
        10
    anmaz  
       2016-10-14 13:08:25 +08:00
    java 面向企业的业务太多了
    yongzhong
        11
    yongzhong  
       2016-10-14 13:12:46 +08:00
    ORM 依旧是 Hibernate xBatis 为主流

    真的是有点老掉牙了

    =================
    "为什么要用新的呢?" pythoner 如是说
    qinxi
        12
    qinxi  
       2016-10-14 13:14:48 +08:00
    强行守望先锋
    sorra
        13
    sorra  
       2016-10-14 13:15:58 +08:00
    EJB 已经大为减少了, ZooKeeper 广泛应用, Reactive 有抬头之势
    kingcos
        14
    kingcos  
       2016-10-14 13:17:37 +08:00
    Java 的 Web 方向现在多用 SSM 还是 SSH ?还是有更新的框架吗?
    myv2ex
        15
    myv2ex  
       2016-10-14 13:27:09 +08:00
    如果你真去做基础软件开发,在为大家做推动科技文明的新轮子,你可以这样说哦,就算大家用 Java 也分你所描述的躺在轮子上写 CRUD 的,还有很多人用着轮子造出更快更好的轮子,让下一波写 CRUD 的人躺在新轮子上睡觉。你确定好你是哪一类了吗?
    zmj1316
        16
    zmj1316  
       2016-10-14 14:02:32 +08:00
    写 C++的也苦逼啊
    loveuqian
        17
    loveuqian  
       2016-10-14 14:05:01 +08:00
    守望先锋 是什么鬼。。。。
    wd85318
        18
    wd85318  
       2016-10-14 14:07:07 +08:00
    这种弱智标题是不是表明了楼主语言匮乏?
    murmur
        19
    murmur  
       2016-10-14 14:12:51 +08:00
    Java 真是个好语言,十年如一日。
    java 岂止是轮子啊 简直是跑车都造好了 你见过前端有 elasticsearch(以前还在用 solar)、 hadoop 、 spark 这种拿来就开的车么
    murmur
        20
    murmur  
       2016-10-14 14:17:05 +08:00
    @myv2ex 真呵呵了,你去看看很多人推崇的 fetch ,连 json param 都不支持,想用 json 做参数要自己拼 url , axios 、 jquery 都是 key-value 写进去就自动拼好
    所以说 fetch 是个好轮子,更语义化(更漂亮),就是没有螺丝口,需要自己用绳子绑到轴承上
    前端现在有些东西就是在开倒车
    clino
        21
    clino  
       2016-10-14 14:17:44 +08:00
    在 V2EX 发知乎类的问题表述是一种什么样的体验?
    viator42
        22
    viator42  
       2016-10-14 14:24:03 +08:00
    @menc Spring MVC 不是已经代替 SSH 组合了么
    Technetiumer
        23
    Technetiumer  
       2016-10-14 14:42:38 +08:00   2
    《在 2016 年 xxxx 是一种什么样的体验?》 系列

    在 2016 年学 Javascript 是一种什么样的体验?
    t/310767

    在 2016 年做 PHP 开发是一种什么样的体验?
    t/312651

    在 2016 年做 Java 开发是一种什么样的体验?
    t/312747
    Phariel
        24
    Phariel  
       2016-10-14 14:48:26 +08:00
    发知乎体的标题我一律 block
    myv2ex
        25
    myv2ex  
       2016-10-14 14:48:44 +08:00
    @murmur 我也对你呵呵了,你举的这个 fetch 的连轮子都算不上,至多是个消遣的需要拼的玩具而已,我所指的另外一部分人是做更底层的人,你没看明白吗?
    Technetiumer
        26
    Technetiumer  
       2016-10-14 14:56:08 +08:00   1
    为啥发 Javascript PHP 的评论里全是赞,楼主发 Java 的评论里都是骂?
    acoder2013
        27
    acoder2013  
       2016-10-14 15:00:21 +08:00
    @viator42 Spring MVC 代替 Spring , Hibernate ,哈哈哈哈哈
    wraith4
        28
    wraith4  
       2016-10-14 15:23:01 +08:00
    还没脱裤子呢就完了?
    CFO
        29
    CFO  
       2016-10-14 15:24:27 +08:00 via Android
    不应该吹一波 SpringBoot 吗?
    misaka19000
        30
    misaka19000  
       2016-10-14 15:31:24 +08:00
    @clino 在 V2EX 发知乎类的问题表述是一种什么样的体验是一种什么样的体验?
    erbajie
        31
    erbajie  
       2016-10-14 15:33:14 +08:00
    哈哈哈哈哈
    erbajie
        32
    erbajie  
       2016-10-14 15:34:41 +08:00
    @loveuqian 守望先锋你不知道啊!暴雪出的游戏啊!很火的!
    murmur
        33
    murmur  
       2016-10-14 15:36:00 +08:00
    @myv2ex 更底层的人是什么,你是说 google 在 ng2 的 bundle 里带了个超大的编译器么?然后现在才做本地 aot(还好 release 的时候已经做完了)
    稍微早一点的, react 没开倒车? ng1 和 vue 管咋的还是双向绑定, avalon 更是到用 vbs 实现双向绑定,到了 react 这就得各种 trick 一起上了, redux 也好 flux 也好,你们高兴就行咯
    如果还是底层的,是创造语言的人?那是真大神做的
    letitbesqzr
        34
    letitbesqzr  
       2016-10-14 15:37:02 +08:00
    orm 方面 因为 spring data jpa 火起来后,hibernate 5.2 以后已经将 jpa 的实现合并了 hibernate-core 里了... 然后还有 querydsl jooq 这些东西冒出来。。。怎么能说没新东西。。。
    murmur
        35
    murmur  
       2016-10-14 15:39:59 +08:00
    @viator42 springmvc 只是替换了 strut2 , oom 的话, mybatis 和 hibernate 还是要选一个
    murmur
        36
    murmur  
       2016-10-14 15:42:56 +08:00
    *更正一下应该是 orm
    springz
        37
    springz  
       2016-10-14 16:07:48 +08:00
    spring-boot 得心应手
    qq2234699127
        38
    qq2234699127  
       2016-10-14 16:23:36 +08:00
    好像不错的样子, JAVA 兼容是不错,完全自己写要看水平能力
    m8syYID5eaas8hF7
        39
    m8syYID5eaas8hF7  
       2016-10-14 16:55:54 +08:00
    建议把 dubbo , thrift 编进段子里
    kidult
        40
    kidult  
       2016-10-14 17:19:43 +08:00   5
    不是吹,在前端还在检查 webpack 配置的时候,后端已经写完了
    liuzhen
        41
    liuzhen  
       2016-10-14 17:41:00 +08:00
    厉害了 优越哥
    caixiexin
        42
    caixiexin  
       2016-10-14 17:45:08 +08:00 via Android
    明显是在恶搞和高级黑,为什么有人喷知乎体?
    lytofb
        43
    lytofb  
       2016-10-14 19:07:06 +08:00
    java 的轮子确实太多了,不像 php 这种到现在连个像样的数据库连接池都没有
    iyaozhen
        44
    iyaozhen  
       2016-10-14 19:15:15 +08:00 via Android
    @lytofb 呵呵,你要这样说就没意思了。不是 PHP 不想做,是运行机制限制了。而且一般后端都有 DBProxy ,和 Proxy 建立短连接的开销也没有想象中的那么大。 PHP 的运行机制有自己的好处,特别是做 web 这一块。
    romisanic
        45
    romisanic  
       2016-10-14 19:26:37 +08:00
    我还以为要吹一波 Spring Boot 呢
    差评!!
    quericy
        46
    quericy  
       2016-10-14 19:52:22 +08:00
    该来的总会来的
    run2
        47
    run2  
       2016-10-14 20:11:42 +08:00
    @LINEX 今天阿里云栖他们会上还真说了,而且那个语音识别自动字幕把他们自家的产品名都弄错 n 回
    yszx
        48
    yszx  
       2016-10-14 20:45:42 +08:00
    不大的项目推荐一波 ebean
    odirus
        49
    odirus  
       2016-10-14 20:55:05 +08:00
    Java 对我最大的意义就是,随便一个轮子就够我学习好一阵了。沉淀数十年的语言,里面聚集了无数的智慧。
    yidinghe
        50
    yidinghe  
       2016-10-14 22:07:23 +08:00 via Android
    java 永远每天都有新东西出来,那些说十年不变的,只是自己不去关注罢了。
    ppwangs
        51
    ppwangs  
       2016-10-14 22:23:10 +08:00
    好框架,轻量级框架都有,就看你会不会用了。
    用 java 的忍惯性思维很强,逮住一个用到死……
    zonghua
        52
    zonghua  
       2016-10-14 22:25:55 +08:00
    用 Java 编写游戏服务器的表示框架架构都是自己实现的
    lwbjing
        53
    lwbjing  
       2016-10-14 23:03:42 +08:00 via iPhone
    玛蛋,我要去写个 html 的。
    twogoods
        54
    twogoods  
       2016-10-15 00:35:35 +08:00 via Android
    歪个楼,发几个不错的新手易读的轮子~
    meunicorn
        55
    meunicorn  
       2016-10-15 01:06:11 +08:00
    你让我 Android 开发怎么办。。。
    Lpl
        56
    Lpl  
       2016-10-15 01:13:29 +08:00 via Android   1
    我用 React + Redux + ReduxForm 写三个表单写了快一个星期,后端我就写了一天
    ihuotui
        57
    ihuotui  
       2016-10-15 01:39:05 +08:00 via Android   1
    你只能局限在语言上面了,什么分布式,性能监控,性能优化,日志采集,单单说一个语言有什么好说,太无聊了。还有业务和系统架构的进化。
    mazyi
        58
    mazyi  
    PRO
       2016-10-15 04:28:27 +08:00
    怎么这么多喷的, 多么好玩的段子啊~
    Zovven
        59
    Zovven  
       2016-10-15 06:39:03 +08:00
    @Lpl 可以试试 dva
    q397064399
        60
    q397064399  
    OP
       2016-10-15 08:15:11 +08:00   1
    @ihuotui 不是说语言,是说 Java 的生态好,十年如一日 很多轮子经得起考验,业界有自己的标准跟规范
    refresh
        61
    refresh  
       2016-10-15 10:07:02 +08:00
    稳定是个好东西
    CRVV
        62
    CRVV  
       2016-10-15 11:12:40 +08:00 via Android
    @murmur
    例子举错了
    fetch 是 XMLHttpRequest 的改进版本
    和 jQuery.ajax 不是一个层面上的东西

    而且,不支持有 JSON 的原因,我认为是,从 JSON 到 querystring 的转换没有标准,各个库略有区别。这种要加到 Web API 里的,没标准还是不加为好
    t0byxdd
        63
    t0byxdd  
       2016-10-15 11:14:59 +08:00
    it works and it works fine, so what's the problem?
    aitaii
        64
    aitaii  
       2016-10-15 12:02:09 +08:00
    逛了这么久了,我想问一下,那些提到 java 就说臃肿难用的人对 java 研究到什么程度了呢。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5534 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 01:22 PVG 09:22 LAX 18:22 JFK 21:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86