Javascript并不仅仅只用于网页和网站程序。你还可以创建实时应用、服务端解决方案、桌面和移动应用。移动应用分为两种:浏览器里的网页应用和本地应用。本地应用通常更快更强大,因为它们有访问文件系统、传感器、照相机等设备的权限。本地应用通常使用手机指定的语言编写,例如Objective-C、Java。所以独立开发者通常使用HTML+CSS+Javascript的解决方案。幸运的是,感谢最新的技术,我们可以很方便的将网页应用转换为真正的本地应用。
这个恐怖的工具允许你使用所知道的网页技术通过本地控制为iPhone、iPad、Android(稍后将支持黑莓)创建强大的移动应用。这些技术包括HTML5、CSS3、Javascript、PHP、Ruby和Python。此外,它最近还更新了文档。
你可以使用任何一个你想用的框架(例如Mootools、jQuery、Prototype)并利用上CSS3和Javascript的最新特性。这是因为Titanium程序实际上运行在聪明的嵌入式Webkit(即Safari)窗口中。从Titanium 1.0版本开始,除Webkit Webview外只有Javascript模拟器。像米切尔所写的一样:
在Titanium 0.8版本中,Webkit的Webview被当作核心使用,周围是GPS、用户界面、相机和映射到操作系统的数据。而到了Titanium 1.0版本,开发者现在可以选择通过直接绑定到操作系统的API为iPhone上的Objective-C或者Android上的Java建立Javascipt桥。
如果你学习了Titanium手机API,你会发现它使用地理定位或者鼠标手势是多么的简单。你甚至还可以仅仅通过简单的几行代码,就可以把你的应用连接到Facebook。
就像Titanium一样,Phone Gap让你可以使用HTML和Javascript来为多个手机平台构建应用,包括iPhone、Google的Android、塞班、Palm和黑莓。你可以在这里看看上面提到的这些平台目前支持哪些特性。
坦白的说,我只用过Titanium,但是PhoneGap看起来也是一个很好的选择。
另外还有QuickConnectFamily和NibleKit。第一个相当强大,第二个缺乏文档同时不支持跨平台(只支持iPhone和iPod)。我还推荐iWebkit,但是它的主页最近被黑了(我没有开玩笑…)。
你可能会对让你工作更容易的框架感兴趣。例如,如果你希望你的应用有特别的iPhone界面和外观,可以试试:
它可以使你轻松创建Webkit浏览器上运行的iPhone应用(还可以再使用Titanium 或PhoneGap 来创建本地应用)。
除jQTouch之外还有一个选择:IUI。你可以在Google代码里找到它。
如果你要选择一个轻量级和非jQuery的框架,可以试试WebApp,它被设计来模拟iPhone和iPod Touch真实的用户图形界面。
我们听到了你的话。另外一个Javascript框架是什么?!当使用PhoneGap开发时,使用现代的Javascript(例如Prototype、MooTools、YUI、Ext、甚至jQuery),会导致加载时间变慢。一个最大的原因是这些库太大,主要是它们包含了大量跨浏览器兼容性代码。到目前为止,手机平台上浏览器实现和不同的需求很少,所以请考虑XUI。
我已经说得够多了…
这个框架为非Objective-C开发者设计,Capucchino引入了Objective-J。
Objective-J是一个基于Objective-C的新式编程语言。它同时是Javascript的一个超集,这代表着任何有效的Javascript代码也是可用的Objective-J代码。任何熟悉Javascript和面向对象原理的人,学习Objective-J不会有任何困难。熟悉Objective-C会有一些帮助,但不是必须的。
使用这个框架可以创建和桌面应用一样棒的手机应用(这要感谢Titanium)。可以看看一些示例:280 slides,Mockingbird或者Github问题。
使用上面的框架你可能无法创建3D应用和游戏。所以有了iProcessing。它是一个开放的编程框架,帮助人们使用Processing语言开发本地iPhone应用。它是Processing.js库和iPhone上Javascript应用框架的结合。
Java 在近十几年来一直是最流行的编程语言之一,而在 2015 年,这种语言再一次被证明是行业的驱动力,因为它在 TIOBE 编程语言排行榜中取得了领先的优势。虽然 TIOBE 的统计方法合理性还存在一些问题,但可以结合像 RedMonk 或 PYPL 的这些其他排行榜,也能给出 Java 普及度的一个很好的指标。
做为企业界的主要参与者,Java 一直保持着稳健的步伐,但是我们如何解释其最近的增长呢?Oracle 在 Java 8 中引入 Lambda 表达式和 Streams 是一个很大的原因。而做为发展速度最快的移动平台的通用语言也是另一个重要原因。随着 Android 最近迁移到了 OpenJDK,以及即将到来的 Java 9,我们预测 Java 的实用性将继续增加。
这些生态体系的好处已经明显会引来大量新人,然而,做为老鸟,经过这么多年的实践检验,我们都知道平台留住开发者的优势是什么。以下有 8 个原因,来说明为什么 Java 是你下一个移动项目的明确选择:
1. 静态类型随着后台及移动应用复杂性的提高,拥有一个易于维护及重构的健壮的代码库是很重要的。静态类型是确保开发人员在项目的整个生命周期中都能保持头脑清醒的关键,因为它会在编译期就捕获到大量 bug,启动优化并构成了 Java 首屈一指的工具生态系统的基础。
2. 托管运行时JVM 垃圾收集器大大降低了编写内存安全的应用程序的复杂度,并消除了大部分手动内存管理时容易出错的工作。自从 Java 成立伊始,并发就已经是其重要组成部分了,其提供了线程安全的集合、同步原语以及简单易用的多线程 API。反射机制是管理运行时的最后一部分,其支持了像依赖注入或面向切面编程这种先进的概念。
3. 性能HotSpot JVM 的实时编译器(JIT)及它的各种垃圾收集实现使其成为当涉及到服务器端应用程序的性能问题时可以无需纠结其他平台而选择 Java。静态编译(AOT)是在移动平台中的体系。在 Android 上,ART 为高负荷计算提供了接近本地应用的性能。在 iOS 上,RoboVM 使用 LLVM,其使用的是与 C/C++/Objective-C/Swift 相同的后端,提供了比 Objective-C 和 Swift 只高不低的性能。
4. 工具先不管语言本身理论上的好处,还有一些语言相关的工具。诸如像 Eclipse、IntelliJ 和 Netbeans 这些 IDE 是由其中可比平台工具测得的黄金标准。代码导航、重构、自动完成以及模板可以有效的编写及维护你的项目。代码热插拔、调试、分析及单元测试可以让你轻松的查明问题。而集成的源码管理、应用服务器管理、以及构建和依赖管理则涵盖了部署项目的基础设施。
5. 庞大的社区无论如何,在世界各地估计有超过 9 百万的 Java 开发人员。这个数字意味着 Java 开发者可选的能够提高自己能力的讨论会、书籍、在线资源、论坛及培训项目的数量是巨大的。随着 Java 在服务器和移动端应用程序的普及,Java 开发人员完全能够自由的往全栈方面发展。
6. 第三方生态体系无论你遇到什么问题,Java 社区几乎都已经为你解决了它。你的后台需要大数据分析?没问题,从 Hadoop、Spark 或 Elasticsearch 这么多的解决方案中选择一个吧。不想自己分析你的移动应用?可以使用 Twitter Fabric 或 Parse。需要在你的后台及移动应用中进行 JSON 序列化?很简单,使用 Gson 并在所有平台上共享你的 POJOs 和序列化逻辑。使用 Maven 和 Gradle 来整合第三方库是很简单的,只要在你的构建文件中添加一行就可以了。
7. 其他语言虽然 Java 仍然是 JVM 的主要语言,并且在不断的演变成更具表达力,而该平台的架构也欢迎其他语言。近年来,像 Kotlin、Scala 或 Clojure 这些语言已经被越来越多的采用。这不仅是由于它们的特性,还因为它们与现有的 Java 生态体系的互操作性。
8. 代码共享最后我们保留了这个最重要的原因。Java 运行在你的后台、Android 和 iOS 上,覆盖了所有主要平台。由于这种可移植性,你可以通过在这些平台之间共享你的大量代码来节省开发成本和资源。使用这些资源,来专注于你的实际产品,并满足你的用户。
2015 年对 Java 来说显然是丰收的一年。也许是时候享受这些成功了,让移动跨平台 Java 开发成为你 2016 年专业成就的一部分吧。
欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/) | Powered by Discuz! X3.2 |