单页应用的定义
提到单页面,不得不提到ajax与seo这两者的关系。
前端原本是一个纯page的任务,但随着产品对用户体验的要求越发苛刻,ajax的运用也就越发的频繁,从后来的信息验证到后来的前端mvc,ajax虽然只是前后端通讯的工具,但在其中起到越来越重要的作用。
但是相较与后端mvc,ajax渲染的方式存在一个很严重的效果。就是面对SEO简直不举,而且刷新或发送url无法保管阅读进度。
这时其实曾经暴显露一个效果,就是如何界定前后端MVC的界限,以及如何处置前后端视图的一致。
单页面就是为了处置这类效果而生的。前端自豪的拿到了监管url的权益,经过监听页面地址变化来调用前端MVC模块,渲染不同页面。当然,前端这时也拥有了修正URL的才干。管理好前端视图与URL,整个单页面就曾经架构完成。(关键点:hmtl5运用historyAPI的支持,低级阅读器采用hash段的管理或无视)。
但是这只处置了阅读进度与URL的维持,并没有处置SEO的效果。在确定了需求坚持的页面后,前后端围绕页面各自担任视图的渲染,当然这一步需求有一个相互坑的进程。
思索会遇到这类效果的项目普通是这么两类,一是运用类的项目,权限、交互比拟频繁,关于SEO可以无视,甚至还要尽力防止。再一类是关于页面过场效果比拟有要求的“矮小上”的运用,比拟在意SEO!
针对这两类项目,处置前后端MVC协同效果的也大致就出来了!
关于第一类项目,后端仅渲染基础页面和基础数据的填充。后端配合提供ajax数据支持,前端渲染视图,完成交互及业务逻辑。
第二类自行尝试,前后端切记要坚持良好的基友关系,不可打架。
下面吧啦吧啦的一堆话,仅仅是自己在项目和博客里尝试失掉的一些阅历,下面是一些与单页面相关的关键字,请自行google!