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

238 天前
 tool2dx

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

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

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

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

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

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

14406 次点击
所在节点    前端开发
117 条回复
tool2dx
237 天前
@Guidoo 我这头像是老用户了。大号前几天和小仙女互怼了几句,讨论产品经理好还是程序员好,结果就 404 了。
NerbraskaGuy
237 天前
浏览器和客户端为啥非得二选一,感觉你的逻辑是浏览器太弱了跑不动大型业务,浏览器就会被淘汰。flutter 出来这么久了还不是原生的更多,是业务决定了使用什么平台,不是平台跟不上业务所以就得死。
tool2dx
237 天前
@clue java 管理大项目没问题啊,UI 是 UI ,逻辑是逻辑,可以分开的。

前端框架的花活,都是逻辑和交互掺杂在一起的。

浏览器(web 标准)是开发复杂代码的体验不好,不是用户体验不好。
shyangs
237 天前
@tool2dx


前端沒有限制你要用既有框架.

你完全可以自創一個把 UI (View)和 邏輯 分開的前端框架.
tool2dx
237 天前
@shyangs 说的没错,这就是我理想中的前端状态。

能不能实现我不知道,但是我希望尽可能向这个方向努力。

高度的代码可维护性,本来就是需要牺牲一部分灵活性为前提,作为代价的。
zzNucker
237 天前
哥们 前端现在早就囊括终端了,不限于浏览器
murmur
237 天前
@dayeye2006199 那为啥不用 unity ?
IvanLi127
237 天前
op 说的前端是啥? Web 前端摆脱了浏览器那就不是 Web 前端了。浏览器承载不了的话就承载不了,方案那么多,没必要吊死在一棵树上。硬要吊的话可以自己增强浏览器,比如 Electron 。Web APP 也有离线可运行的,逻辑可以完全在一起,即使分开,自动化测试的难度也没有什么变化。

浏览器只是一个用户代理,你摆脱这个但是没说要用什么代替,那剩下的不就是用户自己看 text/plain 么?
clue
237 天前
@tool2dx 要不你看看 tauri ? webview 做交互界面, 其它逻辑用 rust, 分离的方法多的是, 但脱离浏览器/webview 只能说是逆版本行为
pkoukk
237 天前
作为真的做过传统桌面 client (.NET FORM)的开发表示
你想多了,客户端更难搞测试,不是代码难测试,而是环境
你要面的是海量的黑盒组件,有些是 C 或者 C++封装的组件
有些是 Win32API ,system dll ,COM 组件
更别提有的画图组件还要用 DIRCTX
这中间的兼容性和运行环境能把人搞死,再加上那时候流行什么精简版 xp ,国产管家提供系统瘦身

在你眼里,浏览器是桎梏,在我眼里,浏览器前端就是像 Docker 一样的划时代伟大产物
Guidoo
237 天前
@tool2dx #61 🤣好吧 我还以为是新用户呢
tool2dx
237 天前
@pkoukk 浏览器前端门槛还是太低了,以至于没多少人会把软件工程学当一回事情,只求写代码高效,加入语法糖,提前完成业务逻辑。

项目小,你好我好大家好。等项目慢慢变大,就开始慢慢爆地雷了。

都说传统桌面早晚会过时,但是真正把所有桌面端用网页重写,就知道有多困难了。
blur1119
237 天前
@h1104350235 electron 不也是套了壳的浏览器?
mxT52CRuqR6o5
237 天前
要不要摆脱浏览器这个枷锁我不好说,但不要随便给自己设枷锁我觉得没问题,不要这也做不了那也做不了,只能做自己知道的那点东西
pkoukk
237 天前
@tool2dx #70 没有软件工程,说明项目还不够复杂。
等到有勇士尝试用前端实现某些项目失败之后,他们就会重视起来。
人类的发展就是不断用新的材料烧开水,造轮子,这很正常
Mikawa
237 天前
你要找的是不是单机部署的 Electron 项目
belin520
237 天前
你说的前端是 web 前端吗
HelloApex
237 天前
IOS 和 Android 不是前端吗
ns09005264
237 天前
Webassembly+WebGPU ,能当多平台客户端用,也能在浏览器中运行。
像这样: https://mvlabat.github.io/bevy_egui_web_showcase/index.html
weixind
237 天前
高大上的 B 话一大堆。跟谁学到的臭毛病。

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

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

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

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

© 2021 V2EX