PhoneGap 恐怕是最老的一个框架了,相信很多人都已经听说过甚至使用过它,但是PhoneGap是基于开源的 Cordova 商业版本。
第 一段PhoneGap代码是在2008年8月的iPhoneDevCamp上写成的。创建它的一个主要动力是基于一个几乎每一个单独的iPhone开发新 手都要面对的简单事实:Objective-C是一个对Web开发人员来说非常陌生的环境,并且Web开发人员的数量远远多于Objective-C开发 人员的数量。
问题是,是否有人可以开发一个框架,让Web开发人员可以利用他们所有的HTML、CSS和JavaScript知识,而且仍旧可以同iPhone的重要本地应用程序(如摄像头和通讯录)交互呢?
IONIC 是目前最有潜力的一款HTML5手机应用开发框架。通过SASS构建应用程序,它提供了很多UI组件来帮助开发者开发强大的应用。它使用 JavaScript MVVM框架和 AngularJS来增强应用。提供数据的双向绑定,使用它成为Web和移动开发者的共同选择。即将发布的AngularJS 2.0将会专注于移动开发,相信IONIC一定会取得不错的成就 。
IONIC的开发团队将尽快开发出一种通过IONIC creator提供开发者快速创建IONIC应用的方式。我们将很快就会看到一个支持拖拉功能的可视化开发工具,几分钟内开发一个app将不再只是吹xx。
Mobile Angular UI是使用 bootstrap 3 和 AngularJS 的响应式移动开发HTML5框架。
Mobile Angular UI的关键字有:
响应式媒体查询是将bootstrap作为单独的文件,你只需要包含你所需要的东西。Mobile Angular UIu并不包含任何jQuery依赖,你需要做的只是通过一些AngularJS指令创建友好的用户体验。
Intel XDK 是Inter开发的一款跨平台开发工具,我们可以很容易的通过Intel XDK开发应用,你需要做的只是下载他们的应用开发工具 ,有Linux、Windows和Mac版,它还提供了很多个开发框架,比如Twitter bootstrap,jQuery Mobile 和 Topcoat.
相关的APP frameworks的开发使用教程:移动开发实战:App frameworks开发支持移动设备全屏滚动应用
Appcelerator’s Titanium 不同于其它框架的是,它是一个开源的框架。
Titanium是混合式移动应用开发的一站式解决方案,你只需要下载 Titanium studio就可以解决所有的事情,Titanium SDK包含了很多手机平台的APIs和后端云服务。
Titanium使用 Alloy,Alloy是一个快速开发的手机应用MVC框架, 模块式开发可以大大减小开发时间,提高代码复用。
Titanium studio 还提供了一些code模板。你可以熟悉一下这些模板,相关的教程也很快会推出。
Sencha Touch 同样也是HTML5手机应用跨平台开发框架,运行iOS/Android/Blackberry。它已经诞生很多年了,现在已经成为很常用的混合式编程开发框架。
Sencha Touch可以让你的Web App看起来像Native App。美丽的用户界面组件和丰富的数据管理,全部基于最新的HTML5和CSS3的 WEB标准,全面兼容Android和Apple iOS设备。
下面是Sencha官方给出的几点特性
1.基于最新的WEB标准 – HTML5,CSS3,JavaScript。整个库在压缩和gzip后大约80KB,通过禁用一些组件还会使它更小。
2.支持世界上最好的设备。Beta版兼容Android和iOS,Android上的开发人员还可以使用一些专为Android定制的主题。
3.增强的触摸事件。在touchstart、touchend等标准事件基础上,增加了一组自定义事件数据集成,如tap、swipe、pinch、rotate等。
4.数据集成。提供了强大的数据包,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储。
Telerik’s Kendo UI 是一个强大的框架用于快速HTML5 UI开发。基于最新的HTML5、CSS3和JavaScript标准。
Kendo UI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件。
在XHTML1 Strict或HTML4 Strict中,DOCTYPE是这样的:
其实无须让DOCTYPE如此复杂难记,因为DOCTYPE最初设计的作用就是为了告诉浏览器,以标准模式而不是以怪异模式呈现页面。所以在编写HTML5规范时,DOCTYPE只要这么写:
“对于大量的应用程序而言,从语言敏感的搜索到运用语言专用的显示属性,指定内容的语言都是有用的。在某些情况下,用于语言信息的潜在应用程序仍需进一步实现,而在另一些情况下,如发声浏览器的语言检测,指定内容的语言目前还是必需的。”——W3C
为HTML文档指定语言最容易的方式是对HTML页面的根元素添加一个lang属性。HTML页面的根元素始终是,因此为了指定语言,可以采用如下方法。
在这个示例中,lang的属性的值是en,意指该文档是英语写成的。但是如果文档中含有非以lang指定的语言写成的元素,语言属性也可以内联使用。以下示例包含了一个内联的元素,它含有一个值为fr的lang属性:
基本代码:de(德语)、it(意大利语)、nl(荷兰语)、es(西班牙语)、ru(俄语)、zh(中文)、en-US(美式英语)、en-GB(英式英语)。
开篇代码里,Miss Baker页面中对于指定字符编码是这样写的:
而在HTML5中,指定页面的字符编码就简单多了:
事实上你并不需要了解字符编码的细节,但是要知道,使用UTF-8是最安全的,这是一套几乎含有所有语言全部字符的通用字符集。
可以使用你所选择的语法来标记HTML5页面,而且其他做法完全由你决定。但是,我们建议采用较为严格的XHTML语法。
一般浏览器都会温和地处理它们不认识的元素和属性,把这些元素处理成匿名的内联元素,并允许设定它们的样式。
例如新元素
如果要继续后面的内容,这一问题有一种解决方案:我们可以用JavaScript为IE明确声明这一元素。其做法是创建一个新的DOM元素(与目标元素同名)以欺骗IE,使其能够”看到“这一新的元素及其运用的样式。
通过这一简单的JavaScript片段,可以使IE能够看到元素,并允许插入斜体样式。显然,这只能解决单个元素问题,但是如下示例演示如何解决HTML引入的所有新元素的问题。
显然,这需要在每个页面中都包含大量JavaScript代码,尽管可以使用一个晓得正则表达式,对你所创建的HTML5页面做一点查找和替换工作,但是有一个简单得多的方案是现成的——shiv。
在页面中加入这段脚本,它会处理以上所讨论的所有问题,甚至还能照顾到一些其他方面。(国内对于Google Code可能访问不了,W3CSchool推荐使用百度JS)
强调两点,首先,这一需要元素中,以使IE在呈现之前能识别这些HTML5新元素。其次,shiv依赖于启用JavaScript。如果用户禁用JavaScript的方式浏览Web,那么便需要考虑替代方案。
链接到Google Code上的shiv除了为你提供最新版的shiv,还包含了IE Print Protector,它解决了IE在试图打印HTML5页面时具有的一个问题。IE Print Protector的工作方式是,在打印时所支持的后备元素(如和)临时替换HTML5元素,并根据现有样式为这些元素创建一个特殊的样式表。
HTML5引入大量新的块级元素:如果这些元素未包含在浏览器的已知元素查找表中,那么它们将被视为内联元素。因此我们需要添加一个CSS规则,将它们声明为块级元素。
这一简单规则指示浏览器将这些新的HTML5元素视为块级元素,并相应地显示它们。
我们已经讨论过了shiv的重要性、将HTML5元素声明为块级元素的重要性、新的HTML5 DOCTYPE、使用简化的Meta charset属性进行字符编码,我们将它们综合在一起,形成一个简单的HTML5样板页面:
在声明JavaScript或CSS时,已不再需要包含type属性。这是因为在样式设置和脚本语言方面只有CSS和JavaScript,已经没有其他语言可用并要进行区分。
对页面进行验证通常是找出问题的第一阶段。使用验证器有助于找出简单且易忽视的错误,并了解标记运行的更多情况。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
jquery