npm 拥有所有语言中最多的包;每隔两周打开 hackernews 就会有一个新的框架出来; JS 每隔一年语法就让人不认识了;前端众多的框架不知道从何下手,很多框架是有功能上的重叠的和学习成本的;
而 vanillajs 框架就是推荐你用原生,框架里面没有任何代码只有一行注释。而 JS 通过多年的进化也已经成为了功能强大的语言了,确实也没必要在其上再覆盖一层框架和学习成本去完成项目。
框架的使用反而会增加项目的维护难度,原生提供更好代码体验,甚者如果你一定要使用框架,原生对所有框架更友好。
1
Kasumi20 2020-12-29 09:39:15 +08:00 34
重新定义最近
|
2
jowan 2020-12-29 09:40:45 +08:00 6
村通网
|
3
37Y37 2020-12-29 09:41:01 +08:00
这个 6 啊
|
4
fjj666 2020-12-29 09:42:56 +08:00 12
JS 每年加几个 api 就不认识了?原生写的代码好维护?是没参加过工作吗?
|
5
clino 2020-12-29 09:43:25 +08:00
“The Vanilla JS team maintains every byte of code in the framework and works hard each day to make sure it is small and intuitive.”
哈哈,行为艺术啊。 |
6
lancelock 2020-12-29 09:44:00 +08:00
想笑
|
7
liuzhaowei55 2020-12-29 09:45:09 +08:00 via Android
然而只不过是因为它被使用的比较多,成为了事实标准,然后所有浏览器都内置了。
|
8
n37r09u3 2020-12-29 09:45:20 +08:00 1
5 年前的老玩意
|
9
tabris17 2020-12-29 09:46:02 +08:00
前端 js 代码又不跑在服务器上,效率低下关我什么事 /doge
|
10
hellangel2020 2020-12-29 09:46:13 +08:00
村通网
|
11
PinkRabbit 2020-12-29 09:46:44 +08:00
老哥搞笑的?
|
12
P233 2020-12-29 09:47:00 +08:00 2
vanilla 不就是原生的意思吗?
|
13
xiangbohua 2020-12-29 09:47:46 +08:00
no code
|
14
u6pM63mMZ34z32cE 2020-12-29 09:48:14 +08:00
这个网站存在 10 年了吧 lz 的最近定义有点长啊
|
16
Chikaku 2020-12-29 09:50:02 +08:00
这个不是六七年前就有了?
|
17
nuanyang 2020-12-29 09:51:22 +08:00
所以是哪个框架呢?
|
18
kop1989 2020-12-29 09:51:22 +08:00
吾之蜜糖 汝之砒霜
我了解并理解目前 web 前端庞大臃肿的架构和设计逻辑现状。 但我负责的产品中我选择了 JQuery+我自己实现的页面栈来做单页面应用。这是我结合产品和公司条件的决策。 无脑上当前流行架构 or 死守原生 js,都是不负责任的行为。 |
19
crclz 2020-12-29 09:54:16 +08:00 1
如果一个前端开发人员这样说的话,我会称之为“低能”
|
20
duan602728596 2020-12-29 09:56:43 +08:00 9
前端上框架叫不好维护,后端上框架叫生态丰富。
前端加新的 api 叫瞎折腾,看不明白,后端加新的 api 叫 feature 。 老双标了 |
21
nthhdy 2020-12-29 09:58:26 +08:00
这框架是搞笑的吗
|
22
gzf6 2020-12-29 10:05:12 +08:00
框架更多的是约束代码组织结构吧,用原生的写,最后也会形成自己的一套框架
|
23
waiaan 2020-12-29 10:06:15 +08:00
不仔细看还真以为是框架了
|
24
vision1900 2020-12-29 10:11:23 +08:00
同意,Vue 和 React 最多再流行 5 年。等到新的 HTML 标准以及 Web Components 普及, 原生会重新夺回它的地位
|
25
cslive 2020-12-29 10:15:11 +08:00
3g 网速是真的快
|
26
bnm965321 2020-12-29 10:15:42 +08:00
很多组件如果不用框架我写不出来。。
|
27
shintendo 2020-12-29 10:17:31 +08:00
JS 每隔一年语法就让人不认识了
------------- 楼主能举个例子吗?一个就行。 |
28
newbieRenew 2020-12-29 10:24:33 +08:00 via iPhone
不用框架?完成同样的项目,你的工作时间大概需要增加 N 倍。
|
29
libook 2020-12-29 10:34:19 +08:00
原生 JS 现在确实很强大了,手撸页面已经不像以前那么难了,很多以前主要由框架和库提供的功能,现在 JS 也有类似的原生 API 可以直接用了。
不过框架也是在发展的,一些原生 JS 具备的功能会逐渐被从框架中移除,而框架也会增加其他特性来增强原生特性的高效运用。比如之前各个框架都有自己的组件机制,后来 WebComponent 出来之后各个框架都开始对 WebComponent 进行支持,从完全自己实现组件机制到底层复用 WebComponent,然后表层再根据框架架构思想封装成更易用的特性。 原生特性是分散的,而框架往往是提供了一种现成的解决方案,让大部分需求场景可以直接套用,让开发者把精力更多放在业务上。 |
31
wr516516 2020-12-29 10:40:37 +08:00
@tiglapiles 项目坚持十年都在使用维护,不重构的吗
|
32
love 2020-12-29 10:47:21 +08:00
一看就是没写过复杂 App 的,现在的普通 react 单向数据流架构能使复杂度线性增长,而 jquery 时代是指数增长,代码很容易乱得一 B
|
33
mascteen OP @shintendo
const proto = new Proxy({}, { get(target, propertyKey, receiver) { console.log('GET '+propertyKey); return target[propertyKey]; } }); const obj = Object.create(proto); obj.weight; 只看代码,这个在终端输出什么? |
34
tremblingblue 2020-12-29 11:16:47 +08:00
@tiglapiles 话说,这个看字眼都能猜到。。。
|
35
nightwitch 2020-12-29 11:25:42 +08:00
vanilla 本身就是原生无修改的意思。。
|
36
um1ng 2020-12-29 11:27:04 +08:00
这尼玛不就是原生 js 吗
|
37
KuroNekoFan 2020-12-29 11:30:16 +08:00
@tiglapiles 实际工作中用这样的写法可能会被人打死
|
38
JerryCha 2020-12-29 11:42:04 +08:00
我是老实人
Vanilia JS 意思就是原生 JS |
39
DOLLOR 2020-12-29 11:46:57 +08:00
我一直觉得把 Web API 或 DOM API 叫做“原生 JS”就跟外行把“硬盘”误叫作“内存”一样。这就是典型的语言和 API 分不清的结果。
“vanilla”这个称呼倒是比“原生 JS”好十倍。 所谓的“原生 JS”这种称呼,应该拿来跟 TS 、coffee 相比才对。 |
40
shroxd 2020-12-29 12:09:51 +08:00 via iPhone
框架是一种解决复杂问题的抽象,比如现代前端框架主要解决的问题是如何同步 UI 和 state 。你当然可以不用任何框架,但当代码量增长,你所做的对 UI 和 state 同步代码的抽象最终还是会变成一个低配版的 Vue/React 。还大概率没有他们封装的好,或者说根本不可能。
|
42
okcdz 2020-12-29 13:28:36 +08:00
这是在搞笑?还是认真的
|
43
no1xsyzy 2020-12-29 13:33:56 +08:00 2
|
44
liubian 2020-12-29 13:50:05 +08:00
名字就能看出 玩你了
|
45
xianxiaobo 2020-12-29 13:51:06 +08:00
钓鱼贴?有种贴吧的感觉
|
46
nannanziyu 2020-12-29 13:51:34 +08:00
@no1xsyzy
vanilla adjective UK /vəˈnɪl.ə/ US /vəˈnɪl.ə/ used to describe a product or service that is basic and has no special features: sample: I just want a vanilla bank account with low charges. |
47
totoro52 2020-12-29 13:57:21 +08:00
前排那些喷的 这是钓鱼贴啊 vanillajs 翻译过来就是原生 JS 这个东西起初就是为了调侃现在的人框架用多了,连最基础的原生写法都不知道是啥了
|
48
zooeymango 2020-12-29 14:48:26 +08:00
哈哈哈哈,这可真最近了
|
49
sockpuppet9527 2020-12-29 17:00:47 +08:00
披头士
|
51
no1xsyzy 2020-12-29 18:23:58 +08:00
@nannanziyu 我只是想发图罢了(
|
52
anguiao 2020-12-29 18:29:57 +08:00 via Android
不用框架的结果,就是自己造了一个更蹩脚的框架。
|
53
mascteen OP @shroxd js 已经是相当抽象的高级语言了,你说的一些页面当然用框架完成没有问题,可是如何要写大型应用就不行了,例如 d3js, chartjs, videojs..., 至于你说的相似页面的状态管理,这个就见仁见智,像 sveltejs 就把状态全部交给 js 来做了。
|
54
libook 2020-12-29 18:40:31 +08:00
@tiglapiles 大多数企业生产来说,没有啥是一成不变的,业务会变,技术会变,体量会变,所以技术上所有决策都是针对于当前情况权衡评估的结果,过一阵子发生了各种变数,可能就要有新的结论了。
比如产品发展初期需要大量 MVP 试错,那么不管用不用框架,能最大速率迭代就能加速产品试错,从而尽早找到一个可靠的发展方向。 但到了成熟期,已经产生了大量的代码,就不能像初期那样为快不破,而是要有有效的方案在保障开发效率的同时减少新的技术债的产生。 之后随着市场、业务、组织结构等变化,每隔一段时间就需要对项目进行重构,同时引入新的技术和淘汰旧的技术。 所以如果说抱着始终用一种方案的想法去使用或不使用框架,都是肯定靠不住的;得对未来一段时间的需求走势做预测,然后从现在设计的时候就选择一种能满足未来一段时间需求的方案就好,时限到了就拥抱变化,重新设计方案。 |
55
crysislinux 2020-12-29 18:44:22 +08:00 via Android
不知道 webcomponent 你们用过没。那是真的难用。。
|
56
SuperMild 2020-12-29 18:47:17 +08:00 2
vanilla 表示原味,来源于冰淇淋的口味,因为最基础的冰淇淋味道就是香草味,后来才被其他行业引申用来指基本款。因此对于英文母语的人来说,看到 vanillajs 就能猜到大概,减轻了恶作剧成分,变成一个很轻的开玩笑。
|
58
libook 2020-12-29 18:54:02 +08:00
@tiglapiles 我理解你的意思,但现实就是这样,现在大多行业发展都是不断推陈出新的过程,只不过互联网行业这个速度很快而已。
作为一个面试官来说,如果一个前端开发人员有能力用原生 JS 写出复杂交互的页面,意味着这个人基本功足够扎实,框架学起来很快,但解决问题还是要回归基础。 另外加班其实通常属于管理问题,只要不是故意压榨的话,又加班显现通常都是因为管理无能,没法控制项目风险,也没法发挥团队的最大产能。 |
59
msg7086 2020-12-29 18:56:13 +08:00 via Android
你用着原生代码天天加班,我用着框架每天改完业务逻辑就能回家,我们都有美好的未来。
|
60
dsnake1984 2020-12-30 01:53:37 +08:00
从来不用 php 框架 影响我速度。
|
62
iwh718 2020-12-30 11:28:12 +08:00 via iPhone
香草 js 出来多少年了。又炒剩饭啊😹
|
63
WishMeLz 2020-12-30 14:21:11 +08:00
被骗人数 = 被骗人数 + 1
|