单页应用选择何种架构更佳
所谓单页应用,意指在单一页面内整合多种功能,甚至整个系统仅由一个页面构成,所有业务功能均作为其子模块,通过特定方式附加至主界面。它是对AJAX技术的深化运用,将AJAX的无刷新特性发挥到极致,因此能够提供与桌面程序相媲美的流畅用户体验。
开发架构
ExtJS堪称第一代单页应用架构的典范,它封装了各类UI组件,用户主要利用JavaScript完成前端开发,甚至包括布局。随着功能日益丰富,ExtJS的体积也相应增大,即便用于内部系统开发,有时也显得较为笨重,更不用说开发运行在互联网上的系统。
jQuery侧重于DOM操作,其插件体系相对松散,因此相较于ExtJS,更适合开发公网运行的单页系统,整个解决方案将更为轻量、灵活。
然而,由于jQuery主要面向上层操作,对代码的组织缺乏约束。如何在代码迅速膨胀的情况下保持每个模块的内聚性,并适当实现模块间的数据传递与共享,就变成了一项具有挑战性的任务。
为了解决单页应用规模扩大时的代码逻辑问题,涌现了许多MV*架构,其基本思路都是在JS层创建模块分层和通信机制。有的是MVC,有的是MVP,有的是MVVM,而且它们几乎都在这些模式上进行了调整,以适应前端开发的特点。
这类架构包括Backbone、Knockout、AngularJS、Avalon等。
请解释何为单页应用以及如何使其对搜索引擎友好(SEO-friendly)
单页应用是指在浏览器中运行的应用,它们在使用过程中不会重新加载页面。与所有应用一样,其目的是帮助用户完成特定任务,例如“撰写文档”或“管理Web服务器”。可以认为单页应用是一种从Web服务器加载的富客户端。
1、注重TDK的编写
由于页面单一,因此更需关注网站标题、关键词和描述的编写。在标题方面,应简洁明了,包含主要关键词,一句话概括全文;在描述方面,一句话或一小段文字提炼文章精髓,内容比标题更为详细;关键词,使用与内容相关的绝对词语,多个关键词用逗号分隔。
2、多样化外链锚文本
在外链建设上,避免内容单一,以免造成网站过度优化,而我们知道,过度优化对SEO是不利的。
3、运用网站标签
合理运用网站标签可以让搜索引擎更好地理解网站的层次内容,例如h标签、strong标签等。
4、符合国际标准
这里所说的符合国际标准是指向搜索引擎表明网站符合W3C标准,对任何浏览器都兼容。
5、代码优化
CSS和JS的优化,尽可能使用外部导入,使网页代码更加简洁,能用CSS尽量不用JS,因为JS对搜索引擎并不友好。
6、图片优化
这一点已经老生常谈,此处不再赘述。
7、合理设置锚点
有些单页应用为了展示众多产品特点,页面长度较长,不利于用户查看,用户体验不佳。如果在单页网站上设置合理的锚点,用户只需点击一下即可快速到达想要查看的内容区域。
8、避免全是图片展示
9、内容为王
正如我们之前提到的百度百科案例,对于单页网站而言,尽可能完整地展现用户需求,从而解决用户烦恼,才是单页网站立足的关键。