前端想要进化,就必须要摆脱浏览器这个枷锁。

33 天前
 tool2dx

前端大部分主流框架的设计理念,一开始就和浏览器这个运行环境牢牢绑定。可惜好时代已经过去了。现在并不是一个炫酷网页或者几个 APP 页面,就能吃饱穿暖的年代。

面对客户繁琐定制化需求,代码高度复杂化,已经远超前端的承受能力。

隔壁传统语言,在对应巨大代码库的时候,都会有严格的单元测试,比如 google test ,有细粒度的筛选,能一定程度保证代码量膨胀同时,质量没那么糟糕。

但是前端一部分逻辑在后端,另外一部分逻辑在界面的动态交互上。写自动化测试难度就上去了,要背上浏览器这个沉重的壳。

理想状态下,前端代码要完美做到功能随写随测随改,还是有一定门槛难度的。

可能传统前端的诞生初衷,就不是为了承接那么多的需求。

10494 次点击
所在节点    前端开发
117 条回复
hazardous
33 天前
没有浏览器就没有前端,只有客户端。
duanxianze
33 天前
没有浏览器,还有小程序
duanxianze
33 天前
正经说一句,你这是典型的只考虑技术的程序员思维,现实中渠道重要性远大于技术,换句话说就是让用户用的上比用的好重要一万倍,没有浏览器大多数业务就没了,再好用也没用了
tool2dx
33 天前
@hazardous 客户让你在前端绣花,浏览器的存在就变得很碍事。反而觉得写客户端还省事一点。

你也不太可能把客户所有的功能逻辑,都丢给后端。

还有一种开发理念,就是用别的语言开发,最后再翻译成前端。类似 unreal/u3d 那种游戏开发,就能 hold 住比较大的代码量。
tool2dx
33 天前
@duanxianze "没有浏览器大多数业务就没了,再好用也没用了"

我的意思是浏览器不适合开发超级大项目。在浏览器里运行和调试,和传统语言对比,也没那么方便。

说白了,我就想把浏览器 API 给抽象出来。和大量核心业务代码无关。

现在所有的前端界面/逻辑都杂合在一起,维护起来头大。
wanguorui123
33 天前
没有浏览器,又回到军阀割据的客户端技术时代
tool2dx
33 天前
@wanguorui123 单从客户需求角度来看,要求是一点都不比早期客户端低。

卷不动市场,就开始卷业务需求了。
h1104350235
33 天前
Electron 和 Flutter 跳出前端的概念,才是拯救前端的方法。
QlanQ
33 天前
@tool2dx #7 没有浏览器,在你让我下载 应用体验的那一刻,我就放弃了

感觉你这完全是 弄错了 辈分了。
浏览器出来,才有了前端
现在反过来,前端觉得 浏览器 功能不够,是个盲盒,太复杂?我可以这样理解吗?
NickHopps
33 天前
浏览器正在朝着操作系统的方向演进
Agdhfdjh
33 天前
你说的是 ssr 吧,大量业务逻辑可以放到 node 服务器上下发,前端专注视图层,国外已经是主流了
clue
33 天前
说句实话, web 前端能发展成现在这样, 离不开海量需求、浏览器、标准化, 脱离浏览器(以及它背后的一整套标准), 它啥也不是
nodejs 真是是因为 js 特别好才发展起来的吗? 它只是因为受众多被动发展起来的

你想找个例子也比较简单, 看看 flutter 现在发展怎么样
tool2dx
33 天前
@QlanQ 浏览器作为前端主要运行环境之一,我对此没什么异议。发帖吐槽,就只是浏览器接口不够抽象,不适合超级大项目开发。

写个小项目,是完全没问题的。
sentinelK
33 天前
楼主通篇的句式都是“前端的诞生初衷”,“远超前端承受能力”
所以这跟浏览器有什么关系?

换句话说,什么模式的 UI 呈现,和浏览器呈现有本质区别?
QlanQ
33 天前
@tool2dx #13 有没有可能浏览器本来就不是为了干大项目的?
somebody1
33 天前
越看越迷糊,尤其是 op 回复的那几个,根本不知道 op 究竟想要什么。

什么东西发展到现在都不是凭空出现的,都是有其历史必然性的,抛开这些东西谈合理不合理,没什么意义。
tool2dx
33 天前
@sentinelK 我也觉得 UI 本不应该和浏览器呈现做强绑定。

但是现在前端框架设计的大前提,就是假设你在浏览器里运行的。

UI 抽象程度不够的后果,就是无法细粒度做单元测试。没单元测试就无法承载超大代码量,很容易写成屎山。
AllenTsui
33 天前
客户端写单测,没有 UI 交互的、不严重依赖系统功能的、不依赖硬件功能的,单元测试好写好测。只要依赖了就是集成测试,跑的特别慢啊。从个人体验上来说,集成测试慢的我想骂娘。
xz410236056
33 天前
客户端已经死的不能再死了,FE 才是未来。
tool2dx
33 天前
@QlanQ " 有没有可能浏览器本来就不是为了干大项目的?"

客户提新需求,又不管你是不是用浏览器。前端代码只会越来越复杂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1033484

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX