Google Web应用开发指南第一章:什么是Web应用?

2012/02/21 · HTML5 ·
HTML5

原文链接:KNOW YOUR
APPS,翻译:webapptrend

很多人向我问起学习HTML5技术的权威入门资料,我总是毫不犹豫地推荐由Google推出的HTML5rocks,这个网站就像一个宝库,包含经
典的教程、文章、Demo和代码。近日 Chrome小组又推出了一个很酷的Web
App电子书,讲述了Chrome开发人员对Web
Apps的思考和最佳实践,推荐每个关注Web Apps的开发者阅读。Web
AppTrend为方便国内开发者浏览,将全文进行翻译。

图片 1

注:这本书就是一个Web Apps的绝佳案例,据开发小组的人介绍, 该电子书Web
App使用了很多CSS3 特性例如 box-shadow, opacity, multiple
backgrounds以做出丰富的交互体验,用到了AppCache和其他URL重写技术,没有用到一行服务端代码;使用了HTML5
history API来保持应用状态。

以下为第一章内容,清楚阐述了很多人非常困惑的Web Apps概念问题。

从今天起,我们将逐步发布《Web App开发指南》,敬请期待。

人们对应用的需求是非常强烈的,它无处不在!这个综合性的指南将提供给你一些构建现代web应用所需的技术以及惯例的介绍。这一领域指南旨在帮助你在web应用中创建良好的用户体验。无论你是初次构建web应用,还是在寻找提升已有应用的方法,这一指南都能帮到你!

祝福你所有的努力。

未来向着应用迈进吧!

Web Apps的变革

HTML5让开发者能打破以往构建web应用时所受的限制

还在不久以前,web只是用来做“搜索”的;它主要的功能就是提供信息。要执行任务,用户要购买并安装软件到他们的电脑桌面。了解你的web
apps的关键是了解技术是如何影响了web apps的变革,现在,即使web
apps不能比桌面应用提供更多,但它至少可以做得和桌面应用一样多了。

异步web apps已经改变了用户的交互

早期的web页面内容是静态的,现在一切都发生了根本的改变。页面是动态加载或改变的,而不是一次性展现所有内容。

新的语言标准提供了更丰富的用户体验

在现代浏览器没有支持HTML5之前,构建web应用所需要的特性是变化的,并且常常需要使用像Flash、ActiveX这样的插件或
Java。新的开放平台标准,比如CSS3,
HTML5以及JavaScript确保开发者能拥有足够的工具和性能构建比以往更漂亮的交互性更强的web应用。

图片 2

Figure 1.1 – 新技术加强了我们的能力!

Web Apps的未来

你应该在你的web apps中使用可用的一切技术

Web app的批评者很快指出了一个主要的缺点——web
app的用户需要联网才能完成任务。假如网络不是随时随地都有的话,用户是不能完全依赖web应用来完成他们的工作的。至少这样的假设是成立的。

Web
apps的未来发展如何取决于它是否有足够的灵活性——既拥有在web上完成任务的一切优点,又能在离线的时候完成这些任务。支持离线应用现在已经是可以
实现的了——HTML5提供了例如应用缓存和客户端存储(比如,本地存储,索引数据库)等性能,这样你的应用就能在没有网络联接的时候也可以工作了。

云能比桌面给用户提供更多

云提供商提供了一个平台,在这个平台上,服务器端的功能可以被托管和共享。使用托管在云端的web应用程序,用户可以和他人协作或者在自己的不同设备间进行协作,将数据保存在安全的服务器上。没有沉重的开销成本,web应用可以只消耗桌面应用程序的成本的一小部分。

图片 3

Figure 1.2 – 完全发挥你的设备潜能!

Web Apps的特性

Web
apps可以和电子表格,文档编辑器一样复杂,也可以和待做事项管理器一样简单。不管它是什么,它都必须完成某些事情。

Web
App重新定义了“上网”的含义;web已经成了网站和应用的混合。下面是用来区分web
apps和网站的三点要素:

1.一个提供了很好的用户体验,让用户能很容易地完成任务,并利用了设备本地的一些性能。

2.一个web应用提供了丰富的视觉体验,又不会分散人的注意力;它注重美学,使用和本地应用一样的设计模式,又不失易用性。

3.一个web应用非常注重用户的交互、参与和完成任务,而不是让他们仅仅浏览网页。应用程序是自包含的(self-contained),也即用户不用导航到其他站点或者应用来完成任务。

图片 4

Figure 1.3 – 小一点,大一点,简单点,复杂点? 只要做点什么就好!

确认Web Apps清单

如果你对这些问题的回答都是YES的话,那么你面前的就是一个web应用了

▲它是否是自包含的,不用将我重定向到一个完全不同的应用去完成我需要做的?

▲我是否可以在使用它的时候进行交互、参与并完成一些事情?

▲它是否有丰富的用户界面,界面看起来非常美观,并且基本占满了可用的窗口?

▲它是否使用和本地应用一样的模式,比如按钮、对话框或者其他元素?

▲它是否可以离线工作?

▲它是否应用了设备的某些功能,比如GPS的定位数据和动作传感器的数据?

▲传统的网站的导航元素和链接是否被隐藏起来了?

▲这个应用设计的时候是否是参照客户端架构模型?

图片 5

 

赞 收藏
评论

图片 6

转自:

 

很久以前整理了篇将手机网站做成手机应用的JS框架。时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的。

    1、jQuery Mobile

    jQuery Mobile 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile
不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery
Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。

    2、jQTouch

    jQTouch 是一个 jQuery 的插件,主要用于手机上的 Webkit
浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的
JavaScript 库。支持包括 iPhone、Android 等手机。

    3、DHTMLX Touch

    DHTMLX
Touch是一个免费的HTML5/JavaScript框架,专门为触摸屏设备而优化。为您带来快速开发工艺精美的移动Web应用程序的能力。DHTMLX
Touch UI
Designer是一个可视化的编辑器用于构建移动用户界面。它能够帮您以最少的编码构建一流的用户界面。在其主页上提供一些示例可以展示DHTMLX
Touch强大的用户界面。包括一个menu app for the iPad (适用于开发餐厅应用)
和Book Shop (一个电子书店应用)。

    4、Mobilize.js

    Mobilize.js是一个开源的HTML5-JavaScript框架用于从任何现在有标准网站快速,简便地构建移动网站。这个框架其实就是将需要在移动设备上显示的部分页面以jQuery
Mobile的默认主题显示,而不是实现一个全新完整的移动页面。Mobilize.js
可用于任意网站,但对于基于WordPress和Sphinx的网站不需要使用该框架转换,因为已经有非常多的插件可以使用。

    5、The M Project

    The-M-Project是另外一个强大的JavaScript框架,它利用HTML5新的特性来更好和更简便地开发移动应用。这个框架遵循著名的MVC软件架构模式。它还支持离线,所以你的用户可以在没有连接网络的情况下继续操作(当下次有连线的时候,再将数据同步到服务器中)。提供优秀的文档(这个项目拥有一个引导新用户入门的开发指南)。可以查看提供的示例来对该项目有一个初目的了解。这些示例包括:ToDo
App(待办事项目应用) 和 KitchenSink (这个示例包括这个框架提供的所有UI元素)。

    6、WebApp.Net

    WebApp.Net 提供了很多的
API,因此可以帮助你节省很多工作了。不需要花时间去进行 Ajax
调用的编码,因为已经内置了,另外还有很多其它内置功能,提供了详细的文档和应用演示。

    7、Wijmo

    Wijmo是一个基于jQuery
UI的UI部件的套件。Wijmo部件进行了优化客户端Web开发和利用jQuery的优越的性能和易用性的力量。所有的Wijmo部件都配备了20多个主题和支持ThemeRoller。

    8、960 Grid on jQuery-Mobile

    jquery-mobile-960 是一个用于移动 Web 开发的网格框架,综合了 960.gs
的灵活性和 jQuery Mobile 的方便性。它的目的是让 jQuery Mobile
布局更加的灵活,使得应用应许在移动终端更加易用。

    9、Sencha Touch Framework

    Sencha Touch 是世界上第一个基于 HTML5 的移动 Web
开发框架,支持最新的 HTML5 和 CSS3 标准,全面兼容 Android 和 Apple iOS
设备,提供了丰富的 WEB UI
组件,可以快速的开发出运行于移动终端的应用程序。Shencha是第一个使用HTML5,CSS和JavaScript并且支持音频/视频,本地存储,圆角,渐变背景以及阴影的开发框架。

    10、NimbleKit

    NimbleKit 是为 iOS 设备构建应用程序最快速的方式,你不需要知道
Objective-C 或者 iOS SDK,你只需结合 JavaScript 代码编写 HTML
页面就可以了。

    11、Touchy™ Boilerplate

    Touchy Boilerplate 是一个用来创建移动web app,包括HTML模板,Meta
tag等的工具。Touchy可以支持动态页面导航,固定页头,滚动内容,浏览历史记录等功能。Touchy使用jQuery或者
Zepto.JS。

    12、PhoneGap

    PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone
SDK,Android的Android
SDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

    13、joshfire

    Joshfire是一个开源的跨设备开发框架,帮助开发者创建可以在多种设备上运行的web
app。它使用HTML5和JavaScript,并且允许开发者快速整合本地应用和特定的web应用。Joshfire可以让你的应用接受键盘,鼠标,触摸屏,遥控器等设备的输入。Joshfire支持Node.JS。4.Sencha
Touch:基于HTML5的移动网页开发框架。

    14、 Julia

    Julia框架由基本CSS3文件、JS库和各个平台的运行库构成。不像PhoneGap,Julia不仅仅包含调用本机代码的接口层,它还包含
Model-View-Controller(MVC)支持,Delegation支持,OAuth支持,异步数据库存取接口,HTML选择符(类jQuery调用接口),HTML模版(允
许嵌入JS代码)等应用开发必备的API接口。
基于Julia的应用开发就像网站开发那么简单,是的,你终于可以用HTML5开发一个完整的、跨平台
的、不亚于本机代码的、易于维护的移动应用了!大幕即将揭晓,让我们一起进入移动开发的新时代

    15、SproutCore HTML5 Application Framework

    SproutCore 是一个 HTML5 移动 Web
开发框架,它的目标是在无需浏览器插件的情况下,在浏览器中位应用程序提供极佳的桌面效果。

    16、Titanium

    这是一个强大的,健壮的移动Web开发框架。能够让使用现有的HTML,
CSS和JavaScript知识来为
iOS和Android平台开发原生移动应用。作为一个越来越大的移动Web框架,它拥有超过300个的APIs和活跃的开发者社区。你从这个社区中得到每一个开发人员的帮助。Titanium
Mobile支持原生的iOS和Android UI元素如Table views, tabs,
switches和popovers。它提供能够与移动设备的摄像头和本地文件存储系统相交互的特性。

    17、Lungo.js

    Lungo.js 是一个采用HTML5, CSS3
和JavaScript技术实现的移动Web应用程序开发框架。利用这框架开发的应用程序可运行所有流行的平台包括:iOS,
Android, Blackberry 和 WebOs。它还支持触摸事件如:tap,
double-tap和swipe。整个框架没有用到任何图片包括图标,所有都矢量化。可以在这个框架中使用HTML5拥有的一些特性如:WebSQL,
地理位置定位,历史或设备方向等。Lungo.js是一个模块化并且完全可定制的框架。

    18、xui.js

    有时候你可能需要一个超轻量级的框架,只要拥有用于开发标准客户端所需要的功能如:DOM操作,事件处理,Ajax和一些动画效果。如果是这样的话,这个框架刚好非常适合你。整个框架采用GZIP压缩完之后只有4.2
KB。

    19、EmbedJS

    EmbedJS是一个用于嵌入式设备的JavaScript框架如:移动电话,TVs、tablets和so
forth。EmbedJS强大之处在于,它拥有专门为特定平台和浏览器如iOS, Firefox,
Android等提供相应的开发版本。这样就能够以最少的代码,为用户提供最佳的体验。而且假如你喜欢自己定制,可以利用其提供的EmbedJS
Build tool工具实现。EmbedJS基于Dojo实现,所以你如果熟悉Dojo
API语法,那EmbedJS将是你最佳的选择。

    20、zepto.js

    zepto.js是一个专为mobile
WebKit浏览器(如:Safari和Chrome)而开发的一个JavaScript框架。它标榜自己在其简约的开发理念,能够帮助开发人员简单、快速地完成开发交付任务。更重要的是这个JS框架,是超轻量级的,只有5KB。zepto.js的语法借鉴并且兼容jQuery。

    21、Baker

    Baker是用来在iPad或者iPhone平台上发布交互式的电子书或者电子杂志的HTML5电子书框架。

22、ChocolateChip-UI 

ChocolateChip-UI 是一个手机移动 Web 开发框架,采用 HTML5, WAML, CSS 和
JavaScript等技术实现。基于 ChocolateChip JavaScript 框架,包含最新的
ChUI.JS 和 ChUI.css.

23、Magazine Grid

    Magazine Grid 是一个超现代的 CSS 框架,用于 iPad 和 iPhone
手机,使用类似杂志的设计风格。Magazine Grid 可让用户使用 HTML5
元素来组织杂志页,非常轻量级(<4k),在移动设备上加载非常快,对老的浏览器也支持。

24、Kendo UI

Kendo UI是一个强大的框架用于快速HTML5
UI开发。基于最新的HTML5、CSS3和JavaScript标准。 Kendo
UI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件。

    25、HTML App Host Framework

这是一个用于构建基于
Windows Phone 7 的
HTML/JavaScript 托管框架,使用 HTML5 技术。该框架由支持在标准 xap
格式中嵌入 html 应用的控件。

    参考链接: