• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yuankui
V2EX  ›  程序员

前端的打包技术这几年突飞猛进, Java 的打包技术还基本是 maven

  •  
  •   yuankui · Jul 23, 2019 · 15262 views
    This topic created in 2523 days ago, the information mentioned may be changed or developed.
    啥时候 Java 也能有 webpack,babel,可以对 Java 代码进行 ET ( extract,tranform ),然后编译的,这种工具?
    那 Java 的开发效率,还不蹭蹭蹭的上去啊?

    对了,有做类似项目吗?

    > 我能想到的一个问题是,Java 语法比较硬,IDE 容易出现各种提示报错~
    Supplement 1  ·  Jul 23, 2019
    嗯,webpack 和 maven 完全不是一个东西的。webpack 的 entry->loader->plugins -> output 跟 maven 的 lifecycle 有啥本质上的区别。不都是定义一个流程框架,然后支持插件扩展吗?最终不都是输出一个打包的 target ?
    Supplement 2  ·  Jul 23, 2019
    搭车问下,Java 有啥比较成熟的 hotreload 工具吗?

    js,flutter 真香。
    Supplement 3  ·  Jul 23, 2019
    现在回想起来,有点后悔发这个帖子了。
    这个帖子的看官主要是两类人:后端 Java 党,和前端 js 党。

    按照 V2EX 日常的画风:js 党永远在吐槽 node_modules,以及前端技术变化太快,学不过来了。Java 党也是永远瞧不起 js 这种动态的,弱类型的,非 CPU 密集型的语言(写个秒杀试试?话说,用 nodejs 写不了秒杀吗?)。

    所以,很清楚了,js 党在吐槽 js,java 党也看不起 js。

    但是前端似乎没有体会过?

    1. 开发 spark job,几分钟,跑 job 要跑几个小时,然后发现某行某个 string 写错,得重来?
    2. 开发重型的基于 SSM 的重型 web 应用,启动花了 5 分钟,然后改了一个类的结构,然后又要重启? 5 分钟。

    经历了这些,你还觉得 Java 对开发者很友好?
    Supplement 4  ·  Jul 23, 2019
    说 gradle 的朋友们,不好意思,我是站在 java 后端角度来说的(忽略你们了,抱歉),所以我为了严谨,我还专门加了“基本” 2 字。

    话说,gradle。webpack 我觉得不错的地方在于,他可以扩展一个语言的语法,比如 jsx,tsx。

    有时候,我写后端,想扩展下 Java 语法,想想,我就吓了一跳,还是不要了。。
    Supplement 5  ·  Jul 24, 2019
    日了狗了,恶心的一逼🤢。
    总有那些渣渣喜欢通过人工攻击+贬低别人来寻找优越感,以后我见一个 ban 一个。
    罪恶,今天忍不住爆粗口了。
    123 replies    2019-07-25 09:39:56 +08:00
    1  2  
    atx
        101
    atx  
       Jul 24, 2019
    翻页
    695975931
        102
    695975931  
       Jul 24, 2019
    c sharp 的 nuget 就挺好用的。不像 webpack 和 maven 一样需要学
    VoidChen
        103
    VoidChen  
       Jul 24, 2019
    重启啥,基本就写完最后调试 2 下,改个实体你还要重启看效果?
    jitongxi
        104
    jitongxi  
       Jul 24, 2019
    ....java 也有 gradle 啊,更新极其频繁,我记得 15 年左右那会 gradle 还都是被墙着的, 那会写 android 的,真是要死要活.
    至于后端,gradle 普及率不高, 因为后端根本没有打几十个渠道包的场景,其他特性我还真没发现。
    ala2008
        105
    ala2008  
       Jul 24, 2019
    我们后端 2015 年开始就用 gradle 了。。你说的是插件吧
    sirm2z
        106
    sirm2z  
       Jul 24, 2019 via iPhone
    自从发现这个论坛的大部分口径都是

    前端没技术含量,js 是个乐色,进而进化到“前端开发,玩 js 的都是菜狗”这种隐晦观点

    之后,涉及到语言的帖子基本就不去看了
    lonelyBoy
        107
    lonelyBoy  
       Jul 24, 2019
    @efaun 天地,天地尚不能久,而况于人乎?
    langxuan
        108
    langxuan  
       Jul 24, 2019
    开发 spark job,几分钟,跑 job 要跑几个小时,然后发现某行某个 string 写错,得重来?

    ===================

    这算是 java 的锅? java 改名叫时臣算了
    zpf124
        109
    zpf124  
       Jul 24, 2019   ❤️ 1
    任何一个编译语言做 高版本到低版本的 transform 都是有些麻烦的, 但其实不是不能做, 没多少人做的原因其实一目了然.

    只有 js 这种运行环境不受官方控制, 各大浏览器的引擎不受约束, 各做各的导致标准推行困难. 新语法难以直接投入使用, 才被迫出来 babel 这种东西.
    其他语言 包括同样是解释性语言的 python 有什么 3 转 2 的项目特别受关注,几乎成为标配的吗?
    因为别人可以直接说 这项目就是用新标准写的,爱用不用,用就去安新版本的环境,或者你自己手动改造到旧版本去,爷不伺候.

    而且 因为需要将语法糖转换到旧语法, 你听说过"js 推出了一个新写法,这个写法使用了 xx 特性,性能提高了 xx 倍"这种其他语言发新版本会提及话吗?
    js 里类似的话是什么呢 "v8 引擎采用了 xx 算法,优化了某种类型的某种调用的性能"

    至于打包工具来说, maven 有些复杂,有些老旧死板, 但其实比 webpack 只强不弱.
    fivesmallq
        110
    fivesmallq  
       Jul 24, 2019
    开发效率的瓶颈并不在这里。
    LokiSharp
        111
    LokiSharp  
       Jul 24, 2019
    额。。。你是真的不知道 Kotlin 么
    neo3991
        112
    neo3991  
       Jul 24, 2019
    Jenkins 打包?
    b1iy
        113
    b1iy  
       Jul 24, 2019
    JavaScript 大法好,Webpack 强无敌.
    Maven 也就只能说是「能用」

    (手动狗头)
    pmispig
        114
    pmispig  
       Jul 24, 2019
    我仿佛看到了一个笑话,PHP 新版本性能又提升了 200%
    yizmaoaa
        115
    yizmaoaa  
       Jul 24, 2019
    启动慢是 spring 全家桶启动慢....

    maven gralde 之类的我觉得还是挺好的,gradle 也支持 kotlin 与 groovy

    一些东西还是跑 unit test...好点。

    如果没有 unit test 并且用的还是 spring 系的。。那么重启之类的就确实很蛋疼。。
    llhhss
        116
    llhhss  
       Jul 24, 2019   ❤️ 1
    又见月经引战帖。。
    1. js 需要编译是因为运行时和标准不统一,以及网络环境限制,非要说 ET,那 kotlin,scala 都算
    2. 突飞猛进是因为提升空间大,不够成熟
    3. 开发效率和打包有什么关系?觉得语法比较硬的话,你觉得 ts 和 js 哪个开发效率高?
    q397064399
        117
    q397064399  
       Jul 24, 2019
    @lihongjie0209 #23 何况 Java 承诺过 向下兼容字节码的,根本不需要担心这种问题
    leegoo
        118
    leegoo  
       Jul 24, 2019
    @ 2. 开发重型的基于 SSM 的重型 web 应用,启动花了 5 分钟,然后改了一个类的结构,然后又要重启? 5 分钟。

    可能你了解的 SSM 项目是比较老的版本了,
    而且现在也有 jrebel 热启动插件,无需重启
    jesson
        119
    jesson  
       Jul 24, 2019
    看了这么多,楼主确实是个傻屌,已拉黑
    userdhf
        120
    userdhf  
       Jul 24, 2019
    现在 web assembly 可以把其他语言编译成字节码了,然后在浏览器里运行
    beizhedenglong
        121
    beizhedenglong  
       Jul 24, 2019
    大部分人对于前端的理解还停留在页面仔的时代, 很多依然觉得前端现在用的东西很落后。 楼主在这问没有用,hot reload/ react 的一些设计理念早就被 native 开发借鉴了,
    Mirt
        122
    Mirt  
       Jul 25, 2019 via iPhone
    @yuankui Tomcat 是可以支持热部署的啊 还有 jrebel 插件 别说你给 pojo 加个属性了 你就是加个方法加个实现也不需要重启
    yuankui
        123
    yuankui  
    OP
       Jul 25, 2019
    @Mirt 是支持的,不过不知道支持到啥程度。因为是收费的,没有作深入体验。
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2265 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 141ms · UTC 00:26 · PVG 08:26 · LAX 17:26 · JFK 20:26
    ♥ Do have faith in what you're doing.