用HTML5/CSS3/JS开发Android/IOS应用
现在人人都想成为安卓/IOS应用开发工程师。其实,安卓/IOS应用可以用很多种语言来实现。由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了。所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具。
在文章的末尾,也介绍了使用JAVA、C#、Lua以及AS3来开发安卓应用的工具。
希望大家都能找到适合自己的开发工具!祝大家开发安卓/IOS应用一切顺利!
PhoneGap
- 开发语言:?HTML,?CSS,?JavaScript
- 开发工具:?PhoneGap?Development?Tools,?Development?Code
- 链接:?http://phonegap.com/
- 优点:开源、跨平台
PhoneGap是一个开源项目,并且是跨平台的。有了它,JavaScript工程师能够轻松地利用网页技术(HTML/CSS/JavaScript)来开发手机应用(包括安卓和苹果的)。PhoneGap号称是“唯一开源的手机框架,并且支持7个平台”!?它支持的平台有Android,?iOS,?Windows?Phone7,?Web?OS,?Symbian,?和BADA。甚至连Adobe?Dreamweaver?5.5?都支持PhoneGap啦!
Sencha?Touch
- 开发语言:?HTML5,?CSS3,?JavaScript
- 开发工具:?Download?Sencha?Touch
- 链接:?http://www.sencha.com/products/touch/
- 优点:免费、小巧、支持触屏、数据集成
Sencha?Touch?是免费的JavaScript手机框架,该框架是世界上第一个基于HTML5的Mobile?App框架。它能在安卓、IOS和BlackBerry(黑莓)的平台上运作。
官方公布的优点为:
- 基于最新的WEB标注,比如HTML5/CSS3等。整个库压缩并gzip后只有80KB,禁用一些组件后能使它更小。
- 支持触屏事件。在touchstart、touchend等标准事件基础上,增加了一组自定义事件数据集成,如tap、swipe、pinch、rotate等。
- 数据集成。提供了强大的数据包,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储。
那么Sencha?Touch和PhoneGap有什么区别麽?如何选择他俩呢?
你可以选择Sencha?Touch去创建智能手机的用户界面,用PhoneGap去访问一些诸如GPS、相机、加速器等平台的应用。
jQuery?Mobile
开发语言:?HTML5,?CSS3,?JavaScript,?jQuery
- 开发工具:?Download?jQuery?Mobile
- 链接:?http://jquerymobile.com/?(要翻墙)
http://www.jqmapi.com/?(中文网站)
JQuery?Mobile?是一个网页用户界面的手机开发工具。你能用它来制作基本的布局、导航灯。并且它强依赖于JQuery。所以,熟悉JQuery的同志们学起它来易如反掌啦~?它也是多平台支持的:Android,?iOS,?BlackBerry,?BADA,?Windows?Phone7,?Web?OS,?Symbian,?MeeGo.
RHOMobile
- 开发语言:?HTML,?CSS,?JavaScript,?Ruby
- 开发工具:?Download?RhoStudio
- 链接:?http://rhomobile.com/
- 优点:一次编译,到处运行
RHOMobile?支持全部的智能机!!因为它参照Rails的框架,所以它是最适合Ruby开发者的。RHOMobile基于MVC架构(Model?View?Controller)。它目前支持为iPhone、BlackBerry、Windows、Symbian和Android平台创建应用,并且支持最新的Android?4.0和IOS?5。Rhomobile基本上把网络和桌面程序开发领域的“一次编译,到处运行”的目标带到了移动开发领域。
另外,利用RhoHub工具可以在线开发和编译手机应用。地址:https://app.rhohub.com/
Titanium?Mobile
- Titanium?Mobile?by?Appcelerator
- 开发语言:?HTML,?CSS,?JavaScript
- 开发工具:?Download?Titanium?Mobile
- 链接:?http://www.appcelerator.com/products/titanium-mobile-application-development/
Titanium?Mobile?是另一个由Appcelerator支持的开发平台项目。也是“一次编写,到处运行”的。有超过300多个API。支持HTML5和CSS3。据说开发者用JavaScript开发安卓/IOS应用时,能像用Objective-C?开发iPhone?and?iPad应用或者用Java?开发Android应用一样自如。
其他语言及其工具:
Adobe?AIR
- 开发语言:?HTML,?JavaScript,?Action?Script?3.0
- 开发工具:?Download?Adobe?AIR?SDK
- 链接:?http://www.adobe.com/devnet/air/documentation.html
http://www.adobe.com/products/air/features._sl_id-contentfilter_sl_featuredisplaytypes_sl_new.html
AIR是针对网络与桌面应用的结合所开发出来的技术,可以不必经由浏览器而对网络上的云端程式做控制。支持平台:安卓Android,?黑莓BlackBerry,?苹果iOS?,??个人电脑和电视机。
Adobe?Flex
- 开发语言:?Action?Script?3.0
- 开发工具:?Download?Adobe?Flex?SDK
- 链接:?http://www.adobe.com/products/flex.html
使用Flex开发应用,程序员们不用关心动画方面的开发,完全可以脱离美工,纯粹依靠技术来构建软件系统。开发者也不用学习FLASH,就可以直接进行FLASH?RIA的编程。支持平台:IOS,Android,黑莓,Tablet系统,传统浏览器应用。它使服务器整合了PHP,JAVA,Ruby,.NET和SAP终端。
Corona
- Corona?by?Ansca
- 开发语言:?Lua
- 开发工具:?Download?Corona?SDK,?Lua?editor?of?your?choice
- 链接:?http://www.anscamobile.com/corona/
- 优点:创建复杂游戏利器
Corona?SDK?是一个给力的创建复杂游戏的工具!看看官网上那些诱人的游戏吧!反正我是爱死它了!运用Corona,只需简单几行代码,就能低成本地创建一些让人耳目一新的游戏!它拥有Libaray,里面提供了游戏的物理引擎代码。支持平台有IOS、安卓、Kindle?fire、nook。并且提供超过500的API接口。不过,每年199刀,也不便宜。
Unity3d
- 开发语言:?JavaScript,?C#,?Boo
- 开发工具:?Download?Unity3d
- 链接:?http://unity3d.com/
Unity3d?是一个游戏引擎,使用它能创建一些3D游戏。它是目前针对智能机和游戏驱动,最好游戏开发工具。支持平台:Android,?iOS,?Web?OS,?PS3,?Xbox?360,?Wii?devices.。
Flixel
- 开发语言:?Action?Script?3.0
- 开发工具:?Download?Flixel
- 链接:?http://flixel.org/?(官网)
https://github.com/AdamAtomic/flixel/?(Github上的代码)
http://games.flixel.org/?(用Flixel创建的游戏,翻墙使用)
- 优点:免费
Flixel是一个开源的游戏制作库(其实,译者更喜欢使用libaray这个词,而不是库)。它完全利用Action?Script?3.0?编写。并能免费创建个人或者商业的应用。AdamAtomic,是它的游戏引擎,结合Action?Script?3.0,就能创建flash游戏了。从Github上可以下载代码。
Java?Programming
- Android?SDK
- 开发语言:?Java,?XML
- 开发工具:?Eclipse?IDE,?Android?SDK,?ADT(Android?Development?Tools)
- 链接:?http://developer.android.com/sdk/installing.html
最官方、正规的安卓编程语言/工具。JAVA是一种开发安卓应用最常用,首选的语言。Android?SDK包含了运行应用的模拟器。Eclipse?IDE和ADT(Android?Develelopment?Tools)可以让用户界面的设计和应用的图形描绘更容易。它同时减少了开发和测试的事件。如果你是JAVA新手,我建议你可以先看看入门级参考书《Head?First?Java,?2nd?Edition》。
百度地图API移动版(for?android)就是利用这个语言/工具进行开发的。
http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0
Mono?
- 开发语言:?.NET,?C#
- 开发工具:?Visual?Studio,?MonoDevelop,?the?Mono?Framework
- 有效链接:?http://xamarin.com/monoforandroid
- 优势:?开源、跨平台
Mono是一个开源软件。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了?ADO?NET和ASP?NET。能够使得开发人员在Linux用C#开发程序。支持平台:Windows系统,Linux,?FreeBSD,?Unix,?Mac?OS?X和Solaris。