为什么 WEB 技术发展到现在都变成单页模式了?以后一直这样下去么?
现在
在大或是超大项目中单页模式看不有什么优势每次修改都需要重新打包编译部署。都是全量更新。
在上古时代 jsp 模式下都是修改哪块改哪块,部署那块。不用每次全量部署更新。
为什么越发展感觉越落后了呢?
未来
以后的 WEB 框架发展还是会变成什么样子?返回到到以前的模式。还是保持单页模式?
如果 WEB 与后段业务按插件或是微服务模式,使用才会加载部署不使用就停止不是更节省资源么?效率更高么?
为什么现在的前端主流都是单页模式?
附加问题
考虑开发大或超大形式系统如 ERP 类似超级多的功能模块为什么都会选择模块化模式?而很少有单页模式去解决呢?
如果有一套前后端都能够灵活配置扩展的前端分离微微服务框架模式不是更好么?
为什么现在主流市场没有成熟的产品框架呢?返到是前后端越发展越撕裂感。学的东西多东西真的会调整开发效率或是运维效率能有多少呢?
得益于网速以及客户端性能的大幅提升,开发效率和开发体验要大于你说的节省资源
单页模式体验更好吧,不用进行一些小操作就要触发整个页面刷新
国内是这样的,国外比较流行 next.js 与 remix.js 可以看成不是单页模式
哪会出现前端功能部署了但是后端微服务部署使用的情况。设计架构上存在优化的点呀!前端会有冗余。
这个应该不是单页模式的主要优点, jsp+Ajax 一样能实现局部更新而不刷新整个页面. 我觉得主要还是 vue 这些框架和打包工具流行后才逐渐兴起的, 还有就是 Android 套 H5 的开发模式,促进了单页面的发展
超大型的前端项目也可以按模块部署编译的。
只是现在绝大部分的前端搞不来,而且需求场景比较少。
而且很多超大型项目其实都可以拆分成多个独立的大项目。
天下大势,合久必分,分久必合。
单页面局部刷新体验更好点
nextjs 就不是单页,而且越来越多人用
单页模式最大的原因就是为了兼容 APP ,让手机端的网页体验能接近 APP
返回到到以前的模式。还是保持单页模式?
个人拙见,返回是不可能的,现在的开发模式就是为了解决以前的问题。那么现在遇到新的问题,应该去解决新的问题,而不是回到以前去面对以前的问题。
SPA 和 MPA 有各自的适用场景。
SPA 适用于类 App 的开发,典型的就是各种 PWA ,MPA 适用于 App 端内嵌的 Web 页面开发
全量编译:CI 太慢可以加缓存,大多数项目时间没要求
全量部署:增量不好回滚,还有最关键的可能导致线上代码和预期不一致,虽然全量费时间但是稳定
以上都是运维角度的一些经验吧
先说是不是,再说为什么。
是不是?不是。
大型和超大型项目在前端的角度来看并不是“一个项目”,比如随便找一个互联网大厂的 App 都包含了海量的 h5 活动页,实际上这些活动页一个业务甚至一个模块就是一个 git repo 。
每一个产品都是来自于天南地北好几个办事处几百个外包攒出来的,这种情况下 JSP 热更新那套逻辑根本不适用。
再说为什么,因为这点损耗不是你需要担心的,容器有没有损耗? k8s 有没有损耗?服务网格有没有损耗? CI/CD 是不是成本呢?
现代软件开发逻辑本来就是用性能换可维护性并降低人力成本,人才是最贵的。如果对于这点没有实感的话,一个校招生一年的薪资够你加两台机器,更不用说开发人员数量增加后,配套人员和设施的成本了。
[现在]
1 、前端也有微前端,虽然不完美,但是能够解决一定的问题
2 、jsp 、php ,正规生产环境不可能让你替换单个文件,都是按版本进行整体应用更新。如果是开发环境、那么用什么方式都没差。
3 、jsp 、php 等开发逻辑与前端开发生态存在断层,js 开发人员需要学习 jsp 、php ,导致不必要的上手成本。
4 、前端领域也有“jsp”,那就是 next.js 、nuxt.js 、analog.js 等前端全栈框架,开发体验已经可以替代传统 jsp 、php 。
[未来]
1 、前端有多种开发方式,SPA ,MPA ,SSR 、SSG 等等,远比 jsp 、php 丰富
2 、上面也说了,前端也有微服务,虽说不完美,但是页面的逻辑和后端微服务不一样。
3 、SPA 能够解决 90%的应用场景,所以 SPA 流行,需要 SEO 的特殊需求可以通过 SSR 补全剩下的 5%,纯静态的文档、博客网站,可以使用 SSG 模式。
不管那种模式,前端的生态都是可以复用的、共享的,你看看 jsp 、php 是不是就显得单一了许多
大项目需要自定义编译颗粒度,一个小的改动不至于影响所有已编译文件。
个人粗鄙的见解就是,单页面的形式,就是把页面和后端接口 解耦了,前后端更灵活
而且开发体验更好,而且越是大型的项目,相对维护成本越低
单页模式的优势是客户端状态好维护。在服务器维护简直就是吃屎。
多页模式怎么维护状态,虽然有些方法,简直灾难
连 youtube 都能单页,你们那点应用算个什么
以前讲 B/S 和 C/S, 大单页是为了达到 C/S 效果的 B/S 应用
emmm ,差版本了,23 年已经在讨论 MPA 比 SPA 好了: dev.to/begin/why-does-everyone-suddenly-hate-single-page-apps-cj5
单页面程序可以类比桌面应用程序,或者叫胖客户端。你说的那种,是瘦客户端模式。
我是不知道为什么你会觉得「全量部署更新」是一种落后。
大型或者超大型系统现在也在往单页上靠拢。你问为什么很少有单页模式解决问题?因为企业级项目更新速度更慢,从古老技术切换到新技术需要大量的时间。我司算是企业级项目开发排前列的厂,今年刚刚在开始淘汰 Java 8 ,以及前端在从古老的 HTML 网页架构往现代化的 MVVM 架构迁移。
ERP 这种 单页模式用着比多页舒服吧,还可以增加页面缓存等
够用就好。。也说明 web 只有 landing 的作用了,核心价值还是得靠 API 提供的数据
这是开发工具问题 不是单页问题 事实上你用旧技术也可以写单页 可以整成只替换少数文件的单页 如果你写的够灵活 自己刻可以这样做
但你这样做保密性就不足 外加前端是透明的 现在整的编译再编译然后混淆加密或者执行档都是差不多原因 第一提高被反向成本 第二刻意提高从业门槛
jsp 个人觉得远不如 php 都是可见不用说 相比动态性不足的 php 因为动态语言的关系除了以上保密方法还可以整花活 只不过很少人想到
所以很喜欢写脚本类的 shell 类的更是 因为太动态
如果是做频繁地 fetch 无刷新更新页面数据,用 Vue React 这些框架有助于加快开发速度,降低开发成本,所以企业更倾向于做单页了(虽然在网页性能上不如传统的 html 开发的好)
昨天收到 2.0 的推送了,很多 AI 功能,基于 Android 15 ,在纠结要不要升级。有已经升级的老哥说说体验怎么样吗? 主要担心很多小众应用没适配 15 (比如 Sh…
不谈品牌问题,只讨论这个新系统。 现在已经确定了,鸿蒙 next 确实真真正正的改了,和安卓一点关系都没了,所有应用需要用 ts 重写。在 v 站也看到有人最近加班适配。意味着…
在《性能调优攻略》里,我说过,要调优性需要找到程序中的Hotspot,也就是被调用最多的地方,这种地方,只要你能优化一点点,你的性能就会有质的提高。在这里我给大家举三个关于代码…