
1 efaun 2019-07-23 14:19:27 +08:00 人类这么多年了还是碳基生命 |
3 misaka19000 2019-07-23 14:24:42 +08:00 那么多 JVM 方言还不够你用的吗 |
4 liangkang1436 2019-07-23 14:24:57 +08:00 这能比嘛 |
5 lihongjie0209 2019-07-23 14:25:02 +08:00 说明成熟稳定, 前端变化快那是因为太年轻. 而且你有什么需求需要再次对源代码进行 ET??? |
6 misaka19000 2019-07-23 14:25:12 +08:00 PS 现在 gradle 也慢慢的越来越多了吧 |
7 lhx2008 2019-07-23 14:27:26 +08:00 via Android maven 的打包有什么问题?如果你想做后面的工作,可以再接 CI。东西不是越新越好的,nginx 十几年了没啥变化,不就是个反代么? |
8 murmur 2019-07-23 14:28:41 +08:00 前端忙着造轮子,所以需要 babel,java 的是用汽车造车库,车随便摆一下就行了 |
9 xnode 2019-07-23 14:30:58 +08:00 前端我都学不动了,别更新了 |
10 yuankui OP @lihongjie0209 我倒感觉前端这个车开的挺稳的啊,关键是还能开得快~ @misaka19000 @lihongjie0209 ET 我举个李子坝,比如 lombok 应该用过吧?但是 lombok 的实现还是 hack 了 JDK 的编译器,并不是 JDK 宣布要支持的,哪天 JDK 不支持了,这个功能,说没,就没。 参照下 ruby 的元编程。在 Java 里面,想象一下比如只需要给一个实现了 Iterable 的类,加上一个注解,就可以使用各种基于 Iterable 的各种实现方法,比如 map,reduce,fitler,toMap,forEach,等等各种方法。。当然,这些方法,目前还是有的。 自己写个单独的代码改写的程序还是挺容易的,但是就是与现有的工具,集成不起来~ |
12 chendy 2019-07-23 14:33:24 +08:00 虽然经常有人说 gradle 好用,但是 maven 用着好好的… |
13 souths 2019-07-23 14:33:34 +08:00 gradle 啊也很好用 |
14 misaka19000 2019-07-23 14:34:07 +08:00 这些只能说是锦上添花,不能算是真正的痛点 |
15 lhx2008 2019-07-23 14:35:01 +08:00 via Android @yuankui 并没有 hack,这是个 JDK 提供了接口的,而且可以很好的集成进 maven 插件 。 |
16 yanguangs 2019-07-23 14:39:48 +08:00 maven 的背景是 04 05 年,那个时候,兄台又有什么高见呢? 就是 16 年的时候,我都搞过依赖本地 jar 包的项目呢. |
17 yinzhili 2019-07-23 14:41:24 +08:00 前端天天造轮子,各个轮子又有自己的缺点,变来变去非常累 |
18 vitoaaazzz 2019-07-23 14:43:02 +08:00 工程管理 + 支持插件,我没看出 webpack 和 maven 有什么本质区别,各种功能都是通过插件实现的。至于说哪类插件 webpack 有而 maven 没有那大概率是因为不需要。 |
19 momocraft 2019-07-23 14:44:32 +08:00 那是因为浏览器只能跑 JS 啊 不满 java 的本来就有 scala kotlin 可以选 |
20 userdhf 2019-07-23 14:44:43 +08:00 前端:在没人的地方挖个坑出来,再把挖出来的土垫到别的坑里。 |
21 chanchan 2019-07-23 14:46:42 +08:00 前端万岁 Java 已死 前端文明 Java 粗鲁 |
22 Mohanson 2019-07-23 14:47:04 +08:00 via Android 娱乐圈总想与别的圈比较一番,然后得出贵圈不如我圈的结论… |
23 lihongjie0209 2019-07-23 14:47:51 +08:00 @yuankui #10 并不是 hack 编译器, 只是修改字节码. 只要 jvm 的字节码标准不变, lombok 就可以用. 如果要是变了, 你关心就不应该是 lombok 了 |
25 peneazy 2019-07-23 14:53:57 +08:00 via iPhone 反正到了 35 岁基本都转行了,考虑那么多干啥 |
26 niaobulashi 2019-07-23 14:58:29 +08:00 @Mohanson 这比喻阔以的 |
27 reus 2019-07-23 15:17:04 +08:00 什么水平…… maven 那是依赖管理,本来 java 编译器就会做优化啊 |
28 Mazexal 2019-07-23 15:24:52 +08:00 java 语法比较硬=.= 强类型语言都这样的, 工业化大型项目就需要这样强类型检测, 不然很容易出问题 |
29 skypyb 2019-07-23 15:25:46 +08:00 gradle 确实好用 好就好在结构清晰,依赖一眼就能全看光光了,父子模块公共模块啥的该有的都有,配起来也方便 maven 那 XML 看得人头大 |
30 leon0318 2019-07-23 15:31:13 +08:00 via Android gradle 好用 |
31 codermagefox 2019-07-23 15:31:45 +08:00 哪里突飞猛进了嘛.你举个例子? |
32 szq8014 2019-07-23 15:34:50 +08:00 前端圈那不是需要把 其它语言(DSL)编译成 js/html/css 才需要的嘛,后端用啥语言直接用就是了。。maven 负责用插件编译成 jvm 字节码就行了。。kotlin/scala/java/clojure/... 的插件都有呀。。 |
33 maven 还行啊 |
34 nullboy 2019-07-23 15:40:20 +08:00 你不让 IDE 报错,难道想上线运行的时候报错么~ > IDE 容易出现各种提示报错~ |
35 SunShine 2019-07-23 15:58:31 +08:00 js 在出现 node 之前就是刀耕火种的石器时代,做个压缩工具还得劳驾 java 你一个工业化这么多年的语言,羡慕一个刚刚开始工业化起步的语言,掉价啊 |
36 troywinter 2019-07-23 16:10:46 +08:00 你没搞懂问题是什么,java 是编译型语言,打包后是字节码,js 需要打包是因为 js 是解释型语言,打包的仍然是 js,两者根本没有可比性,另外,如果 java 敢改字节码的话,这门语言早就废了 |
37 yuankui OP @SunShine js 在出现 node 之前就是刀耕火种的石器时代,做个压缩工具还得劳驾 java 你一个工业化这么多年的语言,羡慕一个刚刚开始工业化起步的语言,掉价啊 =========== 不掉价,js 没那么多包袱,有了 webpack+babal 之后,可以随意扩展 js 语法了。比如 jsx,这些特性,在 java 里面想都不用想。。 看看之前开发者要求 flutter 增加类 jsx 语法支持的,google 那边开发者各种不愿意。。 |
38 nichijou 2019-07-23 16:29:00 +08:00 via Android @yuankui 你类比错了,你应该把 JS 和 Java 字节码对比,然后看 compile 到这两种的语言们,哪队更多更强大 |
39 jydeng 2019-07-23 16:30:38 +08:00 有了 babel 之后,新特性、提案都能很快普及,这点确实很爽。 |
40 yuankui OP @codermagefox js 以及衍生语言 - 后端框架一大堆 - 前端框架一大堆,而且活跃程度很高,react,vuejs - 移动开发,react-native,h5,小程序。。 当然这些都给予 nodejs,然后 webpack,babel 等等一个个积累出来的。 就说,现在 js 啥不能干,啥开发效率不高吧? 当然,除了大数据。。这种计算密集型的。。 跟 jquery 年代的 js 对比下,感受下? 相比之下,感受下这些年,Java 变了啥? 除了 java8 的 lambda ? |
41 chenxiaohong 2019-07-23 16:36:10 +08:00 汽车这么多年还是靠轮子,圆形的轮子 |
42 keelii 2019-07-23 16:38:40 +08:00 这有啥好奇怪的,Java 需要处理的文件就只有 .java 最多 .xml ,前端呢?.html/.css/.scss/.less/.ts/.js... 前才不需要所谓的构建工具,后者没有构建工具活不下去。 |
43 yuankui OP @nichijou 你类比错了,你应该把 JS 和 Java 字节码对比,然后看 compile 到这两种的语言们,哪队更多更强大 ========== js 说:来吧,Java,scala,clojure,kotlin,jruby,jpyton,groovy,你们一起上班,我不虚你们。。我也有兄弟,TypeScript,CoffeeScript,ES6,。。而且我还可以扩展。。 这些阵营中,除了 Java (后端,大数据),kotlin (主要是 android ),其他的份额都很小众啊。 |
44 yuankui OP @chenxiaohong 所以,当磁悬浮出现的时候,大家都震精了! |
46 rb6221 2019-07-23 16:41:29 +08:00 你是觉得换一个工具就=进步了吗,那你还是慢慢玩前端吧,刷刷版本号,换个版本代号,美滋滋 正经:因为 java 的代码层面的各种工具和库本身就可以成熟的支持各类需求了,maven 没变就是因为需求没变。 webpack 支持多,只是因为 js 语言本身的支持少,要靠额外工具来支持,仅此而已。 至于为何语言不支持要靠工具来支持,我就不讨论语言本身了,简单一点,人家发展早,生态丰富,所以支持度够多。 |
47 codermagefox 2019-07-23 16:42:13 +08:00 @yuankui #40 后端框架一大堆.请举例子. 前端框架一大堆,都是基于 VDOM,就这一个进步. 移动开发这些....emmm....都是应用层的,你要说是新技术,我就不想抬杠了. Webpack 是谁写的,建议查一下. 你觉得在空地上建房子容易,还是拆老小区容易? 而且还不是建,都是抄的,哈哈 |
49 yuankui OP @codermagefox https://v2ex.com/t/580083 参考这篇帖子 好像 webpack 作者开发 webpack 的原因,就是因为“作者苦 Java 久矣?”哈哈 https://blog.csdn.net/P5dEyT322JACS/article/details/80090052 |
50 rockyou12 2019-07-23 16:56:07 +08:00 lz 什么智障? maven 也好 gradle 也好都可以在编译器操作不管是代码还是生成的 class,maven 的 plugin 就有大量基于 apt 的代码生成插件,很多 jvm 语言也是通过 maven 插件来实现的编译,aop 也有 Compile-time weaving。 总结就是 webpack 能做的,maven 和 gradle 其实也能做,而且这两兄弟还能做包管理。更不要说 gradle 这种基于 groovy 的脚本,吊打 js 那破烂连 ide 提示都做不了的语法。 |
51 codermagefox 2019-07-23 16:56:29 +08:00 @yuankui #49 应用层的东西,怎么说呢,我也可以写一个"shabi.js"然后宣传它傻逼都能用,这就算新工具了? 个人是认为,正是因为前端不成熟,所以才发展快. 毕竟,大部分前端(包括我在内),连熟练工的级别都还没达到,谈什么工程? 不要被繁荣的表象蒙蔽咯~ |
52 LokiSharp 2019-07-23 17:02:20 +08:00 gradle Kotlin DSL 的表示??? |
53 JASONWOOD 2019-07-23 17:02:28 +08:00 工业级的语言,尤其是 server 端的那种,首要目标应是稳定啊。浏览器这种客户端的平台,三天两头一个更新倒还好,语言和框架跟着变也没问题,毕竟挂就挂一批。要是 server 端也这么来回跳脚,早被弃用了 |
54 JASONWOOD 2019-07-23 17:05:55 +08:00 我为大多数前端项目在使用 node 感到遗憾,真的是漂亮我外面,丑陋的内里。node_modules 那一坨,我天,真真是个超级黑洞 |
55 fumichael 2019-07-23 17:07:51 +08:00 |
56 yuankui OP @rockyou12 这就恼怒了?但是我不跟吵,我们新平气和来论嘛~ 1. 你给我用 apt 做个 javax 这种类似于 jsx 好用的扩展语法来,还能支持 IDE 提示来?要是觉得太简单,不屑于做,提个方案也行啊 2. 代码提示? TS 了解下?( TypeScript is a typed superset of Javascript that compiles to plain Javascript.) |
57 youxiachai 2019-07-23 17:09:56 +08:00 gradle 表示?? |
58 abelmakihara 2019-07-23 17:12:26 +08:00 我都想穿越到 10 年后前端大一统再工作了 |
59 yuankui OP @codermagefox 因为新,所以发展快,这是有道理的。 就从变化和进步程度来说,相比之下,10 年来,Java 明显让人觉得还是那个老样子。 Javascript 虽然历史也很悠久,但是给人感觉就是焕发了第二春~ |
60 youxiachai 2019-07-23 17:14:04 +08:00 @yuankui jvm 语言不是蛮多嘛...为啥会有老样子一说.... |
61 yuankui OP @youxiachai gradle 可以的,在安卓端由于 google 强退下迅速普及。 后端普及率还是比较低哈,我就经历的几个公司,还没遇到用 gradle 管理后端(包括大数据)代码的。 当然,有可能我所经历的公司都比较 low |
62 zppass 2019-07-23 17:14:28 +08:00 36 楼同学的回复大家可以看一下,我觉得还是有道理的,但也不绝对。(我记得 Java 貌似有一个字节码编程的东西) 如果觉得 maven 打包,会编译报错什么的让你觉得不爽。首先你看他要检验多少东西。 首先就是 Java 是强类型语言,你前端打包字不是字节码什么的不说,Js 本身是弱类型的。即使校验,你说他校验什么,一个变量我可以赋值给一个值也可以是一个数组,你让我校验类型我他妈弄死你。 其次,这种校验是不是有必要的,我觉得还是有的。就像楼上一位说的总不能线上部署上在看问题有没有出现。而且 Javascript 这种弱类型动态的性质,实际上很多人都想去尝试修正,于是就有了 TypeScript 这种东西,各家也在跟进,比如 vue 什么的。(这前端也真的是难学,一直在变,然而又是最直观最容易挑毛病的,真的应了人人都是产品经理那句话,谁都能过来指手画脚指导一下。) 就跟很多新技术一样,要是经得住考验,自然会迅速传播的,话说 gradle 好用不,有大佬讲一下不。 |
63 yuankui OP |
64 yuankui OP |
65 youxiachai 2019-07-23 17:21:14 +08:00 @yuankui 我倒是觉得你的逻辑蛮怪的...... 你觉得 js 变化快,还不如说 js 底子差..才要那么多变化...只能说之前是一坨屎,现在变成一坨比较香的屎而已... 语言的进步也不是看小众不小众,不是看语言的特性的吗.... 其实找你这个逻辑,你的 es6 代码最后不也要用 babel 编译成 es5 才能跑,具体逻辑参考上面的屎论断... 说句不好听的,就是饭吃多了,看到屎香了,就觉得屎也蛮好的.... |
67 yuankui OP @youxiachai 就是这个道理啊。 就好像我以前是 Java 这口饭的,后来无意中迟到 js 这口屎。但是觉得好难吃哦。 后来,经过这么多年,我发现,饭还是原来的饭,但是现在的屎居然做的比饭还好吃。 大家都听到这个消息后,争先恐后的来抢着吃屎。。 那些吃不到屎的?反倒是眼巴巴的看着吃屎羡慕不已。。 这个比喻吧? |
68 xy2401 2019-07-23 17:36:10 +08:00 maven 确实够用 但是却 非常不好用。 |
69 brust 2019-07-23 17:38:32 +08:00 你觉得不好就别用就是了 |
70 zhybb2010 2019-07-23 17:39:27 +08:00 maven 除了 xml 现在相比起来没那么优美,功能并不缺失啊,况且 maven 也是迭代更新的,问题不大 |
71 yuankui OP |
72 br00k 2019-07-23 17:43:11 +08:00 没用过比 npm 更差的包管理了 |
76 Cursor 2019-07-23 18:08:39 +08:00 via iPhone 还在 maven,有一种东西叫做 gradle … groovy 语言自定义 task,自定义插件的… |
77 jackchao7432 2019-07-23 18:10:14 +08:00 嗯,前端天下第一 |
78 qwab16 2019-07-23 18:32:50 +08:00 Tobias:你好,Gregor。实际上,谷歌也在参与 webpack 的开发,只不过是间接参与。我在迷上 Javascript 以上,也写过 Java。谷歌曾经推出过一个工具,叫 GWT ( Google Web Toolkit ),让 Java 程序员能用 Java 编写客户端应用。GWT 其实是一个 Java 应用到 Javascript SPA 的编译器,也使用了谷歌的一些应用。 GWT 有一个功能我研究了很长时间,就是代码拆分( code splitting )。这个功能可以延迟加载不常用的代码。对于要保持初始加载速度的大型应用,这个功能非常重要。但我没发现 Javascript 的开源工具( 2012 年)中哪个具备这个功能,于是我就想写一个这样的工具,也就是 webpack。 上面哪里你看到苦于 java 了?????? |
80 TomorJM 2019-07-23 18:51:12 +08:00 gradle 呀, 听说过没? |
81 zjiecode 2019-07-23 18:58:35 +08:00 作为一个 androider,我写 java 都用 gradle。 |
84 micean 2019-07-23 19:13:30 +08:00 只要能编译成 class,你想怎么玩都可以,maven 插件也可以做很多事 |
85 itechify PRO 这不是打包问题,是本身对语言歧视问题 |
86 NeinChn 2019-07-23 19:30:07 +08:00 开发效率蹭蹭上去了,维护效率蹭蹭蹭跌的谁都搞不定 这就是 Python 和 JS 希望的事情.... 维护不了了就全部重写.... |
87 iPhoneXI 2019-07-23 19:30:48 +08:00 via Android 所以我喜欢 Python/golang,等 Java 进化到 kotlin/scala 再说吧 |
88 rockyou12 2019-07-23 19:57:04 +08:00 @yuankui 看你这是 js 这个屎吃多了,觉得比以前的 java 香了,哪知道现在 jvm 上日新月异还是甩开 js 的屎山一大截。 而且我真的不知道 webpack 有啥好吹的,用过的都嫌它配置嗦。然后前端为了做一点点输出改变都还是要写一堆屎一样的 webpack 配置,而且 3 大框架写法都还不一样,简直是屎中之屎。 而且 js 这么屎,你这种想扩展语法扩展的憨憨门居功至伟。ES2018 来了,同学新语法糖看完了吗? |
89 liuxey 2019-07-23 20:06:07 +08:00 楼主写后端,居然想扩展 Java 语法,想想,我也吓了一跳 |
90 cyspy 2019-07-23 20:16:44 +08:00 有什么是 maven 不能做的吗? js 最大的错误就是 js 语言设计本身,后面从 ES 到构建系统都是在擦屁股罢了 |
91 Mirt 2019-07-23 21:53:06 +08:00 via iPhone java web 项目热部署的话不用每次改动都重启吧。。。 |
92 billlee 2019-07-23 22:01:20 +08:00 现在看来 maven 确实不好用,主要是 maven 扩展需要编译,流程过于复杂复杂,导致定制构建过程的成本太高。比较新的 gradle, sbt 就支持脚本方式扩展了。 |
93 easylee 2019-07-23 22:07:10 +08:00 前辈坚持要 maven,否则早换 gradle 了(新环境)。 |
94 applehater 2019-07-23 22:42:30 +08:00 改方法里内容并不需要重启,另外,写一部分就可以做单元测试的,“试错式”编程才那么多重启吧。 |
95 orm 2019-07-23 22:46:13 +08:00 via iPhone jrebel 插件,热加载,无需重启应用 |
96 wdlth 2019-07-23 23:01:24 +08:00 webpack 竟然在笑别的构建器配置? webpack 的插件…… |
97 closedevice 2019-07-23 23:37:27 +08:00 webpack 走开... |
98 baozijun 2019-07-23 23:45:41 +08:00 via iPhone 现在做 Java 开发常规编码还有人重启? |
99 sxlzll 2019-07-23 23:48:56 +08:00 曾经 java 码农因为受不了动不动就整一大坨环境+分层+编译,转到了前端 |
100 yuankui OP |