`

跨平台开发介绍

 
阅读更多

跨平台开发

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。

分享到:
评论

相关推荐

    C++跨平台开发技术指南.pdf

    《C++跨平台开发技术指南》是一本专注于C++语言跨平台开发的实用技术书籍。这本书详细介绍了C++在不同操作系统上,如Windows、Mac OS和Linux上开发应用程序的策略和实践。跨平台开发是软件开发领域中的一个重要方面...

    软件工程中的跨平台开发与适配性.pptx

    **跨平台开发介绍** 跨平台开发是指一种能够在多种操作系统或硬件架构上运行的应用程序开发方式。这种方式允许开发者使用相同的代码库来创建适用于不同平台(如iOS、Android、Windows、macOS等)的应用程序,从而...

    Linux Windows跨平台开发GUI和IDE的选择和应用

    本文将详细介绍在进行Linux与Windows跨平台开发时,如何选择合适的GUI库和IDE环境,并通过具体案例分享我们的经验和教训,希望能够为其他开发者在遇到类似需求时提供参考。 #### 二、跨平台GUI库的选择 ##### 2.1 ...

    wxWidgets跨平台程序开发

    《wxWidgets跨平台程序开发》系统地介绍了wxWidgets及其跨平台程序开发。全书共有20章,第·1·章简要介绍了·wxWidgets·的发展历史和框架结构,第2章介绍了wxWidgets的程序框架及其实现,第3章深入剖析了wxWidgets...

    asp.net core跨平台开发从入门到实践

    本教程将深入探讨ASP.NET Core跨平台开发的核心概念、实践技巧以及如何利用提供的实例源码进行学习。 首先,让我们了解一下ASP.NET Core的关键特性: 1. **模块化架构**:ASP.NET Core采用了基于组件的设计,允许...

    使用wxWidgets进行跨平台程序开发 pdf

    总之,本书为准备使用wxWidgets进行跨平台开发的开发者提供了一个全面的学习资源,它详细介绍了wxWidgets的核心功能和如何利用这些功能来创建功能丰富的跨平台GUI应用程序。通过对本书内容的学习,开发者可以掌握...

    跨平台服务器开发组件iNet.zip

    iNet 是跨平台服务器开发组件,包括:网络库、消息队列、定时器、RPC、协程库。 地址:https://github.com/IronsDu/accumulation-dev 请参阅测试代码:examples。 特点:跨平台,效率非常高,安全,可复用,...

    c++跨平台开发

    标题:C++跨平台开发 描述:C++跨平台开发,值得参考 在现代软件开发领域,跨平台开发成为了一种趋势,它允许开发者编写的代码可以在多种操作系统上运行,无需进行大量的修改或重写。C++作为一种强大的编程语言,...

    几种跨平台App开发方式的介绍与比较.zip_跨平台开发技术

    跨平台App开发方式介绍与比较.zip Ionic AppCan APICloud Dcloud uni-app React Native

    跨平台开发的一些资料合集

    跨平台开发是现代软件工程中的一个重要领域,它允许开发者编写一次代码,就能在多个操作系统或硬件平台上运行。这个资料合集提供了丰富的资源,涵盖了从C++到MacOS再到Android的跨平台开发技术。 首先,我们关注的...

    使用wxwidgets进行跨平台程序开发(中文版)_wxWidgets学习_wxWidgets_

    **wxWidgets 概述** wxWidgets 是一个开源的 C++ 库,它允许开发者使用标准的 C++ 编程语法创建跨平台的图形...通过不断学习和实践,开发者可以利用 wxWidgets 实现自己的创新想法,同时享受到跨平台开发带来的便利。

    C++跨平台开发技术指南 中英文版 pdf

    《C++跨平台开发技术指南》是一本专为开发者设计的深入探讨C++在不同操作系统上进行跨平台开发的权威指南。作者Syd Logan是一位经验丰富的软件工程师,他在书中详细阐述了如何利用C++的强大功能来创建能在Windows、...

    微软开源跨平台移动开发实践 源码

    本书主要内容包括微软“云+端”战略,革命性的ASP.NET Core,开源跨平台的设备端开发,项目介绍和需求分析,构建开发环境,构建实体模型,创建Web 网站,创建Web API,在Azure 上部署服务,AngularJS和Ionic ...

    混合移动APP跨平台混合开发综述.pdf

    同时,移动操作系统的多样性使得跨平台开发成为新的要求。因此,混合移动APP跨平台混合开发成为一种新的方式,可以大幅降低APP开发周期和技术门槛。 二、混合开发技术原理和模式 混合开发技术是指使用Web技术和...

    移动跨平台APP开发框架比较

    移动跨平台APP开发框架比较 移动跨平台APP开发框架是指能够在多种移动平台上运行的应用程序开发框架。这些框架通常具有以下特性:使用 HTML5 + CSS + JavaScript 开发;跨平台重用代码;丰富的 UI 库;提供访问设备...

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    基于Flutter 3.x 实战跨平台仿抖音App混合开发

    本课程会手把手教你用简单、高效且通用的方式,将原生项目迁移成一个Flutter/原生混合开发的项目,从双平台开发转变为跨平台开发,大大提高项目开发效率。 学好 Flutter,它的灵活、高效,将在你的工作实践中显现极...

    《使用wxWidgets进行跨平台程序开发》pdf + 光盘源码

    这本书深入浅出地介绍了wxWidgets库的使用方法,结合书中提供的源码,读者可以更好地理解和实践跨平台程序设计。 首先,wxWidgets库的核心特性在于它的跨平台性。通过封装各操作系统的原生API,wxWidgets提供了一致...

    《使用wxWidgets进行跨平台程序开发》光盘例子源码

    通过分析和运行这些源码,读者不仅可以了解到wxWidgets的基本用法,还能学习到软件设计原则、良好的编程习惯以及跨平台开发的策略。这是一份宝贵的资源,对于想要深入学习wxWidgets和跨平台程序开发的人来说,无疑是...

Global site tag (gtag.js) - Google Analytics