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

2024-04-18 09:21:47 +08:00
 tool2dx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

写个小项目,是完全没问题的。
sentinelK
2024-04-18 10:14:44 +08:00
楼主通篇的句式都是“前端的诞生初衷”,“远超前端承受能力”
所以这跟浏览器有什么关系?

换句话说,什么模式的 UI 呈现,和浏览器呈现有本质区别?
QlanQ
2024-04-18 10:16:41 +08:00
@tool2dx #13 有没有可能浏览器本来就不是为了干大项目的?
somebody1
2024-04-18 10:17:32 +08:00
越看越迷糊,尤其是 op 回复的那几个,根本不知道 op 究竟想要什么。

什么东西发展到现在都不是凭空出现的,都是有其历史必然性的,抛开这些东西谈合理不合理,没什么意义。
tool2dx
2024-04-18 10:19:58 +08:00
@sentinelK 我也觉得 UI 本不应该和浏览器呈现做强绑定。

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

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

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

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

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

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

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

© 2021 V2EX