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

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

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

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

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

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

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

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

17356 次点击
所在节点    前端开发
118 条回复
tool2dx
2024-04-18 11:34:02 +08:00
@Chrisssss "你能说出几个因为浏览器承载力不足导致要转平台的例子吗?"

浏览器是个平台,承载力不单指技术上,由于前端产品过剩,早晚和 APP 一样,会有一大批劣质前端产品被市场淘汰。

能留下来的产品,只能把功能卷到极致。不断叠加新需求后,就很容易触及技术上限。
cmlx1014
2024-04-18 11:38:00 +08:00
@hazardous 浏览器就是客户端啊
oliveira
2024-04-18 12:29:46 +08:00
我不是很理解为什么你的认知还停留在前端=浏览器端?

现阶段基于夸端技术和 Nodejs 的逐步完善,JS 代码运行在包括但不限于浏览器端、IOS/Android 端( React Native/Flutter )、Windows/MacOS 端( Electron/Tarui )和服务器端( Nodejs )等等,不仅如此还衍生出小程序和 Hybrid 这种夸端架构。

理论上前端包含所有跟人进行交互的界面和程序。
pinecone1
2024-04-18 12:32:56 +08:00
浏览器是前端的亲爹,就是因为浏览器在几乎所有端设备上的广泛覆盖,才让前端产品易于触达和分发。
脱离浏览器就是没了命,不可能的。
确实浏览器里很多内容都是黑盒的,不暴露给 JS Context ,但是你只能受着。你可以选择加入 Chrome 团队,定 w3c 标准规范,要求浏览器标准化更多能力并对 JS 开放。
QlanQ
2024-04-18 12:40:47 +08:00
@tool2dx #20 代码复不复杂 和浏览器有什么关系呀,浏览器只是很多系统权限没有,你吐槽的方向好奇怪
@clue #29 所以 vscode 算 OP 说的前端项目吗?
ZGame
2024-04-18 12:43:00 +08:00
我觉得反而是浏览器相关的前端成就客户端。正因为浏览器里的 html+css+js 这些是公开的,各大厂商互相牵制,定制标准,才成就前端世界的百花齐放,复杂度这种东西是客观存在的,只能是分解或者转变思路。像前端 mvc,mvp,mvvm ui=fn(state) 思路的变化和组合。
我觉得真的劣化的反而是被单一大厂生态所控制的。flutter,swift,这些。。。。
tool2dx
2024-04-18 12:47:41 +08:00
@QlanQ "所以 vscode 算 OP 说的前端项目吗?"

vscode 只是大厂在推,代码也没想象中那么美好。每个模块都有 browse 目录,里面代码也是随手就写 div 。div 离开浏览器环境后,完全无法复用代码。

ts 可以复用,div 不行。
wolfan
2024-04-18 12:49:51 +08:00
OP 同志,当你看到一个个的网站变成一个一个的应用程序的时候,你会发现你 TMD 的怀念浏览器的存在。
crysislinux
2024-04-18 12:52:12 +08:00
扯什么犊子呢,前端你要想处处都单测也完全可以,之所以测试少是因为界面变的快。

跑集成测试加个浏览器有啥沉重的,后端还得初始化数据呢
tool2dx
2024-04-18 12:56:12 +08:00
@wolfan 浏览器只是对用户友好。

当开发者想把前端应用,做到和本地应用完全相同的复杂级别,可能需要付出双倍努力。

你看 adobe 推出的在线 photoshop ,都是残缺版本。和本地应用比还是有很大差距的。
aikilan
2024-04-18 13:01:18 +08:00
当一个产品的需求越来越复杂,需要依赖的第三方库越来越多,你最后不过是重新发明了浏览器。客户还会质疑你这为什么还不如谁谁谁家的网页版好用,你试图用技术说服他,他觉得你话真多,我只是想要一个好用的产品,你跟我谈技术实现有什么用?
aikilan
2024-04-18 13:04:56 +08:00
还是那句话,技术是手段,而不是目的。
wolfan
2024-04-18 13:10:33 +08:00
@tool2dx 你一个铁匠居然不是想着把锄头卖给农民而是卖牧民,你觉得你这打铁铺是不是很神奇。
x86
2024-04-18 13:20:14 +08:00
前端圈整活手段还挺多,线上都满足不了他们了
dayeye2006199
2024-04-18 13:21:25 +08:00
那是因为你不会写 wasm ,webGL 之类的东西。人家也是做前端的
clue
2024-04-18 13:42:21 +08:00
Java 想要进化, 就必须要摆脱 jdk 这个枷锁

浏览器(web 标准) 之于 前端, 就像 jdk 之于 java

我感觉这个话题没什么讨论的意义了
LandCruiser
2024-04-18 13:44:23 +08:00
说白了,你想要银弹,但是不管是职业生涯,还是技术方案,都没有银弹。此贴终结~
43n5Z6GyW39943pj
2024-04-18 13:45:30 +08:00
你所谓的大项目,载体是什么?
Guidoo
2024-04-18 13:48:06 +08:00
op 15 天内注册
Rever4433
2024-04-18 13:48:59 +08:00
我倒是觉得前端只有浏览器还是太小,应该扩大浏览器的能力,可以集成个虚幻引擎什么的,在浏览器就能玩 3A 。其次手机浏览器也应该进化一下,把所有的 App 全部杀死,只用浏览器解决全部问题。

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

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

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

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

© 2021 V2EX