桌面网站为什么大部分没有采用单页应用 (SPA) 模式?

SPA的长处是什么?削减资本反复要求,晋升二级页面的打开速度,这一点对于移动3G这种弱网情况尤其有用,从而晋升用户体验。
SPA的缺陷是什么?晦气于SEO,首屏打开速度更慢。同时,与营业模块之间的联系关系慎密,欠好拆分。对于桌面网站,年夜都跑在收集情况较好的情形下,优势并不显著,而劣势却完整凸显。SSR可以部门解决问题,然则SSR机能并非最优,而且成本也不低。是以算不上最优解。并且许多桌面网站在SPA技巧之前就已经搭建好了,相干的技巧问题也成熟并够用,合营Gulp之类的也能很好解决工程化的问题。

SPA框架要实现得优雅,离不开现代化的API(阅读器特征或说话特征)。对此,移动端的情况比桌面端好不少,许多桌面端网站的兼容性请求的累赘年夜年夜限制了框架的运用。SPA框架的汗青比绝年夜部门桌面网站的汗青短,网站还没成长到须要被SPA革命的时刻,后接办项目标开辟者的重构动力还没到达非得应用SPA的水平。
国内微信和 QQ 等运用内置阅读器(至少 iOS 是如许)的毒瘤属性,假如你是用 pushState 转变的 url,那么分享出去的时刻还会是最初点进去的谁人 url,这就导致,假如你想让你的内容能被准确分享,不要分享出去的时刻认为是 A,成果别人点开是 B,那么你至少对「具体内容页面」(好比一篇文章、一个帖子)不克不及采取框架内部路由,而只能用最原始的 href 转变 url。许多网站没有做成SPA并不是技巧原因,而年夜多半是营业划分和遗留代码的问题。
许多网站分歧的营业或者产物对应分歧的营业和开辟部分,是以他们会自力开辟本身营业的网页(今朝根本上都选择SPA了),然后再去和主站集成,这里“集成”一般都邑直接在主站添参加口链接。有时刻选择多页面模式也是锐意为之,假如营业庞杂多样,在一个SPA上加载太多器械势必会影响网站机能,将分歧营业做成多个SPA,对用户体验影响并不年夜,然则会简化营业的自力开辟、安排和保护。
别的就是遗留代码的问题。前端技巧更新太快,一般新成立的项目都邑选择应用新的框架说话,遗留代码都是旧的技巧问题,假如想要做成SPA,那意味要在一个页面加载多个框架,必定会影响机能,是以会选择多页面,然后再做旧页面到新页面的迁徙。
今朝比拟多被说起的前端微办事化,是愿望多个前端办事可以或许整合到一个SPA上,然则因为技巧问标题前照样有局限。网站设计的相干器械都是赓续更新的,假如涌现一些新的器械也有可能没有那么快实用,所以还要选择适合的。

相關文章: