作者Steven Willmott是3scale网站的CEO,3scale为超过100家网络提供API服务,其中包括Skype等,也拥有超过60000名开发者为其编程;此外,他还为programmableweb和Gluecon社区做贡献。本文Steven为我们解读了利用HTML+JavaScript编写应用程序将引领下一代Web新趋势。
在旧金山创业公司3scale网站上经常有人会问道:“究竟什么样类型的Web架构会成为最终的赢家?是HTML5还是App+API?”我们的答案非常简单:“将两者集合。” 来自Alexander Aghassipour和Shajith Chacko发表的这篇文章讲述了单页应用程序是如何创建而来的。文章讲述了Web应用设计趋势——利用JavaScript并访问核心API将多页的Web应用转换成单页的应用。开发单页Web应用利器新的前端架构包括Backbone.js,Ember.js,Angular.js以及Meteor;使用Gmail和Google Docs对于单页模式来说早已不是稀奇之事,Trello正是使用单页面程序元素(比如infinite scrolling/loading,in-line content无限滚动/加载,内链内容);此外,像Twitter、Facebook、Pintrest这些大型的社交网站都使用了单页面程序设计元素。
单页面应用是指用户通过浏览器加载独立的HTML页面并且无需离开此导航页面,这也是其独特的优势所在。对用户操作来说,一旦加载和执行单个页面应用程序通常会有更多的响应,这就需要返回到后端Web服务器,而单页面应用为用户提供了更接近一个本地移动或桌面应用程序的体验。
单页Web应用程序的优点:
单页Web应用程序的缺点:
虽然还有一些历史遗留问题(大部分是针对HTML5的改进)以及SEO。如果你看中SEO,那就不应该在页面上使用JavaScript,你应该使用网站而不是Web应用。目前该技术还存在一些争议,但这并不是重点,因为这种类型的体系架构为SAAS Web Apps提供了一个极大的可用性。
单页Web应用程序的结构很简单:首先传递HTML文档框架;然后使用JavaScript修改页面;紧接着再从服务器传递更多数据然后再修改页面,如此循环。从性能的角度看,在现代浏览器中单页面Web App已经能够和普通应用程序相媲美,而且几乎所有的操作系统都支持现代的浏览器。使用HTML+CSS+Javascript编写应用程序,能使更多的人们都加入到程序开发的行列。
这足以说明,在Web设计过程中标志着Web将呈现一种新的趋势,它将一个分离的功能层作为API并将表示层用APP的形式体现出来 (HTML5或Native):
一个单页面Web应用程序就是一个Web应用程序,但结构不同。其中最重要的是:在第一次请求的时候,所有的标记语言(HTML)就已经传输到客户端,其余的请求都通过REST API获取JSON数据,数据的传输通过Web Socket API或远程过程调用。单页面应用程序可以说是分拆Web技术的最后一步——通过分离(css)内容,改进架构(XML和 XSLT)上的灵活性,调用服务器(AJAX)再到解压应用程序的导航页面结构。因此,这在Web发展中是个历史性的转折点。
目前这只是单页面Web应用开发的初期,但可以看出将单页面应用、APIs以及JavaScript结合在一起将成为许多流行应用的规范。
所以,当被问到“HTML5是App+API?”,我们会说,“两者皆是——将两者结合在一起要比以往快很多。”单页面应用是一个块非常大的拼图。当然,导航、历史性和SEO等问题也成为单页面Web应用的诟病。
联系客服