编译工具对开发者的影响是直观的,开发者使用JavaScript等语言写出应用的代码,再将它们编译成原生代码。通过原生的API,完成跨平台的操作,最终分发到本地的应用商店中。由此可见,编译工具的选择可以直接降低开发成本,整个团队可以间接地快速捕捉市场、提高收益。今天我们为大家介绍了10款主流的原生转换编译工具,开发者们可以根据不同的特点来选取,提高自己编程的效率。 Adobe Air是针对网络与桌面应用的结合所开发出来的技术,可以不必经由浏览器而对网络上的云端程式做控制,是一款允许你利用现有的web开发技能(包括Flash, Flex, HTML, JavaScript, Ajax)优势,建立和配置跨平台(或跨操作系统)的桌面RIA应用。 其特点如下:
Firemonkey是一个基于CPU/GPU混合架构的业务应用平台,能够帮助开发人员设计出Windows、Mac和iOS设备上的视觉绚丽的本地应用程序。 Firemonkey允许开发人员创建具有快速的本地性能、动画和图像效果、企业级的数据连接以及交互式数据可视化的富HD和3D的图形应用程序。 使用类似Flash的功能来开发游戏或者应用,虽然不如上面的一些工具简单,但你也无须懂特别高深的编程语言,还能对已有的代码循环利用,开发好之后,可以在电脑或者其它设备上立即进行测试,无需反复导代码。 J2ObjC(Java to Objective-C)是Google出品的一个开源的命令行工具,允许开发者将Java代码转换成适用于iOS平台的Objective-C代码。这意味着,开发者编写的Java代码可以成为iOS应用程序的一部分,且无需对生成的文件进行编辑。 J2ObjC支持Java语言和运行时的大部分特性,包括异常、内部类/匿名类、泛型类型、线程和反射等,同时也支持转换和执行JUnit测试。 LiveCode 原名 Revolution,是一款源自 HyperTalk 的用于快速应用程序开发语言。LiveCode 语法结构和自然语言接近,比较适合编程初学者掌握。此外 LiveCode 具有良好的跨平台支持,可以创建 Linux、OS X 和 Win 桌面应用, Android 和 iOS 手机版的应用,以及无 GUI 的服务器端应用。 LiveCode 5.X 及更早的运行时环境仅有闭源版本,若想用其进行开源软件开发限制非常大。经过今年年初的 KickStarter 募集后,成功推出改良核心的 6.0 版本,包含了支持拖拽布局的 IDE 和多平台部署分发工具,可安装于 Linux、OS X 和 Win 系统上。 Mono是一个由Novell公司(先前是Ximian)主持的项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334 和 Ecma-335)的.NET工具,包括C#编译器和共通用语言运行库。与微软的.NET Framework不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X 和 Solaris。 J2ME Polish是用于开发J2ME应用的工具集: 从一份源代码中为多种设备和多种语言创建应用的建造工具(build tools)。一个设备数据库,您的应用可以用它通过预处理为不同的手机进行调整。 一套用户界面(GUI),,可以在应用程序代码之外进行设计。 工具类(Utiliy classes),如BitMapFont 和ArrayList。 编辑修改二进制文件的独立工具。 Qt是CSDN的读者比较熟悉的开发工具,它是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 使用Qt的公司包括三维建模(Autodesk Maya)、Adobe Photoshop Elements(Adobe图像处理)、Skype、 VLC 播放器。欧洲太空总署、谷歌、HP、卢卡斯影业和Opera移动浏览器也都有使用Qt技术。 Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。Sencha Touch 是全球领先的应用程序开发框架,其设计旨在充分利用HTML5、CSS3 和Javascript 来实现最高级别的功能、灵活性和优化。Sencha Touch 是针对下一代具有触摸屏设备的跨平台框架。其特点如下:
Codename One是一个针对移动应用开发者的、开源的、跨平台的Java工具,旨在帮助Java开发者通过单一代码库来针对所有移动(智能手机和平板电脑)平台构建本地应用。 Codename One由Chen Fishbein和Shai Almog开发,这两人都曾供职于Sun公司。Fishbein称,Codename One使移动应用开发工作更加快速、容易,Java开发者可以构建iPhone/iPad (iOS)、Android、Windows Phone、Blackberry等平台上的应用,且无需在应用性能、功能或开发简易性方面妥协。 |