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

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

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

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

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

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

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

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

17327 次点击
所在节点    前端开发
118 条回复
shui14
2024-04-18 10:26:42 +08:00
展示型的页面交互设计是重点很看设计天赋,业务功能型的开发做不了主,毕竟大部分是垃圾伪需求,工具软件型的专业程度很高基本上跟前端没什么关系,只不过是在用 js 写程序而已
一般而言,ios 也算前端,桌面也算前端,跟用户相关的都可以算前端,你自己把自己放进笼子里了
如果是软件工程师,那又有什么区别。回想一下,程序设计( c 语言版),写程序而不是写 c
现在绝大部分公司架构都是混,都在写组件脱离框架根本写不了程序,在浏览器里数大项目,sdk 算吧,可有几个能设计好。这段时间流行的车机医疗软件,连以前 FLASH openFL 都不如,连 qt 抄都不会抄,而且去年 webgpu 已经正式版了,配合 wasm ,完全可以脱离浏览器编译到不同的环境,你的界面何必是 html 呢还可以是 IMGUI 。这么重大的利好,一群前端还是卷编译器
8355
2024-04-18 10:28:43 +08:00
既然要开倒车
那聊一聊 b/s 架构和 c/s 架构各自的优缺点吧
sentinelK
2024-04-18 10:28:44 +08:00
@tool2dx 所以问题的核心在于代码结构设计,和呈现媒介没有任何关系。
出于安全性以及程序复杂度上考虑,一个良好的程序架构,前端应该只负责数据可视化以及数据交互。

实际生产环节中前端承载过多的业务内容,从整个软件工程角度讲,都是出于成本、偷懒等原因做的过度妥协。
换句话说,代码腐败速度过快,在系统架构设计的时候,就已经命中注定了。

也就是说,前端“乱、杂、不好修”,是一个基于事实原因的既定结果,而不是原因。
liuhuihao
2024-04-18 10:29:29 +08:00
有没有可能浏览器就不是用来让你实现你说的”大项目“的。每个载体有他合理的使用场景,你说的所谓的”大项目“可能本身就不适合在浏览器运行。
就好比公路上跑着很多的小汽车,你客户让你造一辆货车,你要愣是在公路上铺铁轨也能跑,但公路设计的时候就是为了跑小汽车的,总不能说你这个项目是个大货车就否定公路吧,毕竟还有很多小汽车要跑呢
liuhuihao
2024-04-18 10:30:12 +08:00
@liuhuihao 火车,打错了
liuhuihao
2024-04-18 10:32:06 +08:00
@liuhuihao #25 然后你发了个帖子,说 ”运输业想要进步,就必须要摆脱公路的枷锁,我们以后就只铺铁路”,你让那么多的小汽车情何以堪
libasten
2024-04-18 10:32:57 +08:00
这是要开倒车?
回到安装本地客户端的时代?哪怕是 eletron 这种,要在本地双击安装等一会才能用系统的话,很多人不喜欢吧?
cxzweb
2024-04-18 10:36:31 +08:00
全世界这么多系统都依赖于浏览器,所有技术都是为了于服务人们,用户只会考虑怎么方便怎么来,而不会考虑你用的什么技术。我是用户的话我会选择浏览器,看剧、看直播、包括耍抖音我都用浏览器。
clue
2024-04-18 10:36:43 +08:00
@QlanQ #15 但是, 完全能干大项目, 比如 vscode
clue
2024-04-18 10:44:13 +08:00
另外提一句, 目前 UI 方面, web 标准是毫无异议的最全面最完善的, 未来基本也不可能有谁非要脱离它自己做另一套了, 并且它也不是排它性的, 比如 AR/VR 技术, 在 web 已经有 WebXR 标准了, 它是一个标准集, 旧的标准慢慢废弃, 新的标准一代代改进, 你可以理解为它是一个开放的平台

就像现在不会有人自己再开发另外一套 ip 协议来颠覆现有的互联网, 只会有 ipv6, web 也是类似的
zihuyishi
2024-04-18 10:48:59 +08:00
我看最近国内的大厂都很想干掉浏览器把用户往手机 app 上逼,要不干脆去转手机 app 开发吧,就没前端那么多的事情了
june4
2024-04-18 10:49:12 +08:00
这说得就离谱,难道客户端原生 UI 就好测试了,比前端麻烦得多。前端是最透明最容易检测的技术没有之一。
snarkprayer
2024-04-18 10:56:56 +08:00
你是不是在找“整洁架构”
tool2dx
2024-04-18 10:57:03 +08:00
@clue 你的能力和技术,不应该和某一个平台强绑定。

浏览器的承载力是有上限的,万一有一天浏览器推不动新项目,这时候要转平台,那你的经验和积累,应该是可以无缝切换的。

别一年经验重复十年,没前途的。
opengps
2024-04-18 10:59:13 +08:00
想想以前前后端不分离的时候,哪有前端岗位,都是后端捎带着做的界面
Chrisssss
2024-04-18 11:00:22 +08:00
@tool2dx 你能说出几个因为浏览器承载力不足导致要转平台的例子吗?
leaves615
2024-04-18 11:02:56 +08:00
不能改变,就适应。
Chrisssss
2024-04-18 11:06:46 +08:00
@tool2dx 按照你的说法因为浏览器的问题所以无法承载超大代码量,容易写成屎山。以我的经验(前司的网页 SaaS 应用全加起来有几十万行的代码)来看是不存在这个问题的,因为 99% 的网页应用无法触及到浏览器的承载力上限,大部分的屎山都是人为造成。
另外由于浏览器单个页面展示的内容不是无限的,所以一个大型应用大概率是多页面的,可以很清晰的根据页面维度来做页面级别的单元化测试和端到端自动化测试
5I4v7N4CPSlF03tx
2024-04-18 11:12:14 +08:00
js 没有内存管理,浏览器给标签自动分配内存,cpu gpu 地调用也是随缘,突出一个后妈生的,至今小程序这种套壳浏览器的爆内存强退问题腾讯也没解决,但是时代在发展,js.ts 的开发社区生态是安卓、winform 们比不了的,干过客户端再回到前端,三方插件真爽,调试真爽,直呼真香,只有一句未来可期吧
sighforever
2024-04-18 11:22:23 +08:00
作为个人肯定怎么搞都行,但作为一个工作,现在这么分工本来就是发展的必然结果,是需求,成本,协作,发布等综合下来的结果。除非人机交互出现其他革命性的变化,比如 AR 那种,不然现在这种依托浏览器的前端工作改变的可能性不大了

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

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

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

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

© 2021 V2EX