`

跨平台开发介绍

 
阅读更多

跨平台开发

CrossApp:http://crossapp.9miao.com/Articledetail_1000.html (C++)

jQuery Mobile:http://jquerymobile.com/

jQuery Mobile是jQuery手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。尽管 jQuery Mobile 利用最新的 HTML5、CSS3 和 JavaScript,但并非所有移动设备都提供这样的支持。jQuery Mobile 的哲学是同时支持高端和低端设备,比如那些没有 JavaScript 支持的设备,尽量提供最好的体验。

jQuery Mobile 目前支持以下移动平台: 教程[1]
Apple iOS:iPhone、iPod Touch、iPad(所有版本)
Android:所有设备(所有版本)
Blackberry Torch(版本 6)
Palm WebOS Pre、Pixi
Nokia N900(进程中)
jQuery Mobile 也提供了针对移动端浏览器的事件:[1]
  • 触摸事件 - 当用户触摸屏幕时触发
  • 滑动事件 - 当用户上下滑动时触发
  • 定位事件 - 当设备水平或垂直翻转时触发
  • 页面事件 - 当页面显示,隐藏,创建,加载或未加载时触发
jqMobi是由appMobi针对HTML5浏览器和移动设备开发的javascript框架,是个极其快速的查询选择库,支持W3C查询。
jqMobi是由appMobi开发,而jQuery是jQuery Foundation的产品。jqMobi源码是基于jQuery源码重写的,但是两者又属于不同的产品,jqMobi体积更小,速度更快,兼容性也有所不同。

体积更小

在压缩之后,相比jQuery的24k,jqMobi的文件大小只有5k

速度更快

据JSPerf test的数据,它在Android上要比jQuery快3倍,在iOS上快2.2倍。

兼容性

jqMobi 主要针对拥有WebKit浏览器的操作系统(比如Android、iOS以及最新版本的BlackBerry OS)而设计,jqMobi 1.2已可兼容IE10(windows8和windows phone8平台);而jQuery则兼容更多浏览器(比如ie6)。
Ratchet是一款免费的开源工具,主要功能是,使用简单的HTML、CSS和JS组件就能构建出移动应用程序原型。新版Ratchet最大的改进之处就是,不再只服务于iOS,也支持Android平台。当然,除此之外,还有其他改进的地方。

Ratchet是一款免费的开源工具,它的主要功能就是,使用简单的HTML、CSS和JS组件就能构建出移动应用程序原型。起 初,Ratchet第一个版本是专为iOS服务的,而自最新发布的2.0.0版本起,Ratchet终于开始逐步支持其它平台,当然最先惠及到的平台就是 Android。

Phonegap是一款开源的开发框架,旨在让开发者使用HTMLJavascriptCSS等Web APIs开发跨平台的行动装置应用程式。原本由Nitobi公司开发,现在由Adobe拥有。
它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
PhoneGap在多个主要的智能手机设备上提供了以下功能的支持:
  • 加速计
  • 摄像头
  • 罗盘
  • 通讯录
  • 文档
  • 地理定位
  • 媒体
  • 网络
  • 通知(警告、声音和振动)
  • 存储
如果正在为iPhone或Android设备做开发,那么这些功能都是支持的。如果是为 BlackBerry、webOS、Windows Phone 7、Symbian或Bada设备做开发,则有些功能就不支持了(例如,在Windows Phone 7上,就不支持摄像头、罗盘或存储功能。老版的BlackBerry型号支持地理定位、通知以及网络的可达性,但仅此而已)。
1、兼容性。完全做到了written once, run everywhere。
2、标准化。PhoneGap用W3C标准,特别标准,Web App直接一字不改就能运行。尤其是和JQ Mobile结合在一起使用,实在是威力无穷啊!
3、用JavaScript+HTML5。

成本低、周期短,易于上手,不用重新设计, 种种好处让跨平台开发风头无量,也让诸多跨平台开发工具趁势崛起。在本文中,我们盘点了过去的一年里,最受开发者喜爱的跨平台移动应用开发工具,尤以 HTML/JS/CSS开发为众,比如PhoneGap、Sencha Touch等,却也包含使用其他语言进行开发的工具,比如Xamarin,使用C#,就可以开发出能运行于各大主流移动平台之上的原生App。

 

HTML/JavaScript/CSS篇

 

1. PhoneGap

说到跨平台开发工具,很多人首先会想到PhoneGap。这样一款能够让开 发者使用HTML、JS、CSS来开发跨平台移动App的开源免费框架,一直以来都深受开发者喜爱,从iOS、Android、BB10、Windows Phone到Amazon Fire OS、Tizen等,各大主流移动平台一应俱全,还能让开发者充分利用地理位置、加速器、联系人、声音等手机核心功能。

此前,在Native与Web谁主未来的大论毫无消停之时,许多人认为,类 PhoneGap的应用开发框架天然优势在于支持跨平台,后期可扩展性较强,开发周期很短,熟悉Web技术的开发者可轻松上手,缺点在于性能上的确不如 Native,后期还需针对各个版本分别优化开发等。如今,Hybrid App已然当家做主,PhoneGap在性能与平台特性支持上也有着极大的提高和改善,大有赶超Native之势。

2. Sencha Touch

Sencha Touch是一款基于HTML5、CSS3和JavaScript的移动Web应用开发框架,内置MVC系统,能够让开发者的HTML5应用看起来就像原 生应用一样,全面兼容iOS、Android、BlackBerry、Windows Phone、Tizen等主流移动平台。除了常见的触摸手势之外,Sencha Touch还专为iOS、Android设备提供了单击、双击、滑动、滚动和双指缩放手势。 

HTML5应用开发的大热让众多跨平台开发框架逐渐风行,而Sencha Touch就是其中之一。能够让开发者以非常友好的方式从HTML5/CSS3/JS提取最多内容,并为其提供丰富而又易于使用的特性。Sencha Touch对于iOS平台的兼容性非常好,画面切换效果亦是相当流畅。

3. Titanium

Titanium是Appcelerator公司旗下的一款开源的跨平台开 发框架,和PhoneGap及Sencha Touch一样,都是让开发者使用HTML/CSS/JS来开发出原生的桌面及移动应用,还支持Python、Ruby和PHP。Titanium最大的 特点就是,由于是基于硬件的开发,开发过程中所创建的应用可选择存储在设备或云端之上。

Titanium主要特性:

 

  • 通过其单一的JavaScript SDK开发原生iOS、Android、Hybrid及移动Web应用。

  • 通过其基于Eclipse的Titanium Studio,可以极大地简化开发流程。

  • 拥有高效代码块,让开发者编写更少的代码,创建出可扩展的应用程序。

  • 集成了MBaaS和Appcelerator Open Mobile Marketplace。

4. Intel XDK

Intel XDK的前身是AppMobi XDK,是一款帮助开发者使用HTML5开发移动及Web应用的跨平台开发工具。XDK包括了一个HTML5开发环境和一组支持创建混合iOS及 Android应用的云服务,这些应用能够直接提交到不同的应用商店之中。除此之外,XDK还提供了调试工具,可以进行屏幕仿真调试、设备实际调试和遥控 调试,不包括Ad-Hoc模式和安全特性。 

和其他工具相比,XDK兼容PhoneGap的HTML5多平台开发项目,能够极大地减少开发时间,不依赖于Java或任何特定的浏览器特性,还能访问设备自带功能,例如GPS、加速计、摄像头、触摸屏交互、触摸手势、振动等。 

5. RhoMobile

摩托罗拉旗下的HTML5应用开发平台RhoMobile Suite也是相当受开发者欢迎。通过RhoMobile,开发者无需考虑设备类型、操作系统、屏幕尺寸等诸多问题,只需掌握HTML和Ruby就可开发 出运行在iOS、Android、Windows Mobile、BlackBerry、Windows Phone等平台上的App。

RhoMobile主要由三部分组成,分别为:

 

  • RhoConnect:通过它,应用与数据之间可快速建立连接,并确保用户可以访问这些数据。

  • RhoElements:开发者可以开发出在每台支持设备上都具有相同的外观、感觉和操作灵活的应用。

  • RhoStudio:通过RhoStudio全功能模拟器,开发者可以在PC上快速测试和调试跨平台应用程序。

 

C#篇

 

6. Xamarin

在过去的一年里,Xamarin的势头可以说是颇为强劲,而其跨平台应用开 发工具使用份额比也有着显著增加。通过Xamarin,开发者只需使用C#语言即可开发出iOS、Android、Mac及Windows原生App,不 仅可以实现“一次编写,随处运行”,更可达到原生UI的跨平台效果。与基于HTML/JS/CSS的PhoneGap相比,Xamarin最大的优势是通 过与系统的底层API通信并与系统原生UI直接交互,可以保证应用的高性能和UI流畅性。

Xamarin主要特性:

 

  • 快速开发移动原生应用

  • 程序代码共享

  • 与Visual Studio整合

  • 确保第一时间更新

  • 原生的用户接口及效能

Lua篇

 

7. Corona SDK

Corona SDK是Corona Labs旗下的一款专门用于跨平台移动应用开发的Lua语言SDK库,不仅容易入手,无门槛,而且效率也相当高。Corona SDK提供了跨平台能力,所以开发者的应用或游戏可兼容iOS、Android、Kindle Fire和Nook平台。Corona支持硬件加速、GPS、照相机等,并集成了Box2D物理引擎。

Corona SDK服务分为三种:

 

  • 基础版:能够在极短的时间内完成应用或游戏开发,通过内付费或广告盈利。

  • 专业版:增加了先进的图形技术及所有Corona插件等。

  • 企业版:开发者可以在线开发,并从Corona应用中调用任何原生库。

 

其他语言篇

 

8. LiveCode

LiveCode是由RunRev公司推出的一款强大的图形化开发环境,不 仅免费,还可以提供10倍的效率提升并减少90%的代码。其强大之处在于非常容易学习和使用,可以让一个不会编程的人在很短的时间内就能开发出原生的,能 够运行于PC、服务器、移动设备上的应用程序。

LiveCode拥有一个类似于VB的所见即所得的界面设计工具,用户可以 使用拖拽的方式来实现应用界面的设计和布局,并通过一种类似于英语的自然脚本语言来编写应用功能,最后,通过LiveCode强大的部署工具来生成可运行 于Mac、Windows、Linux、iOS、Android等各种平台上的应用程序。

 

游戏开发篇

 

最后,我们再来介绍两款跨平台游戏引擎,分别为Unity、MoSync。

9. Unity

Unity在全球开发者圈子里的受欢迎程度自不必多言,这样一款功能强大的 跨平台游戏引擎,全面覆盖了Windows、Mac、iOS、Android、Windows Phone、BlackBerry、Xbox360、Wii等桌面、移动及掌机平台,支持JavaScript、C#、Boo三种脚本语言,拥有着大量的 第三方插件和工具,可以帮助开发者极大地提升工作效率。

容易上手、多语言编程、专业级的效果、傻瓜式的调试和编译、强大的扩展性,在跨平台、光影特效及模型渲染等各方面都有着非常不错的表现,让Unity无论在3D还是2D游戏开发中都是当之无愧的“最好用的游戏引擎之一”。

10. MoSync

MoSync是一款开源的免费移动游戏开发引擎,易于移植,允许开发者使用 C/C++、HTML5或JavaScript来为iOS、Android、Windows Phone、Java Mobile、Windows Mobile等平台进行游戏应用开发。开发者可通过MoSync精简库调用本地设备API,并且,所开发的App还能使用本地的UI控件。

通过MoSync精简库,开发者可以调用本地设备API,并且,所开发的App还能使用原生UI控件。此外,通过MoSync IDE,开发者可以调用任何仿真器,包括本地平台的仿真器,及MoSync Reference Environment。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics