1
efaun 2019-07-23 14:19:27 +08:00 3
人类这么多年了还是碳基生命
|
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 1
说明成熟稳定, 前端变化快那是因为太年轻.
而且你有什么需求需要再次对源代码进行 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 1
前端忙着造轮子,所以需要 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 1
前端天天造轮子,各个轮子又有自己的缺点,变来变去非常累
|
18
vitoaaazzz 2019-07-23 14:43:02 +08:00 1
工程管理 + 支持插件,我没看出 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 2
前端:在没人的地方挖个坑出来,再把挖出来的土垫到别的坑里。
|
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 1
反正到了 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 1
gradle 确实好用
好就好在结构清晰,依赖一眼就能全看光光了,父子模块公共模块啥的该有的都有,配起来也方便 maven 那 XML 看得人头大 |
30
leonme 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
ResidualWind 2019-07-23 15:38:51 +08:00
maven 还行啊
|
34
nullboy 2019-07-23 15:40:20 +08:00
你不让 IDE 报错,难道想上线运行的时候报错么~
> IDE 容易出现各种提示报错~ |
35
SunShine 2019-07-23 15:58:31 +08:00 1
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
janus77 2019-07-23 16:41:29 +08:00 2
你是觉得换一个工具就=进步了吗,那你还是慢慢玩前端吧,刷刷版本号,换个版本代号,美滋滋
正经:因为 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 4
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 16
|
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 1
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。
|
82
Sharuru 2019-07-23 19:08:45 +08:00 via Android
人无知无畏。
|
84
micean 2019-07-23 19:13:30 +08:00
只要能编译成 class,你想怎么玩都可以,maven 插件也可以做很多事
|
85
oneisall8955 2019-07-23 19:21:42 +08:00 via Android
这不是打包问题,是本身对语言歧视问题
|
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 1
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 |