黑马程序员技术交流社区

标题: 下一代IOS和安卓应用程序应该使用Java来编写的八大理由 [打印本页]

作者: star皆空    时间: 2016-10-8 12:44
标题: 下一代IOS和安卓应用程序应该使用Java来编写的八大理由
作为企业的主要编程语言,Java一直以来都表现得十分稳定,但我们应该怎么来衡量java最近的增长呢?Oracle在Java 8中引入Lambda表达式和Streams对编程者来说具有很大的吸引力,这是一个原因。Java作为移动平台的通用语言,发展速度最快,极大地推动了Java增长,这是另外一个重要的原因。随着Android最近对OpenJDK 展开的策略以及Java 9 的即将发行,我们预测Java的相关性将继续增强。

生态系统的各种好处明显会为之汇聚新的血液,但是作为经验丰富的程序员,根据多年的实践经验,我们深知平台留住开发者的优势是什么。为什么Java是下一代移动项目的明确选择?我们给出了八大理由。

1.静态类型

随着后台及移动应用程序复杂性的提高,拥有一个易于维护及重构的强健代码库是十分重要的。静态类型是确保开发人员在项目的整个生命周期中都能保持头脑清醒的关键,因为它会在编译期就捕获到大量错误,启动优化并构成了Java 首屈一指的工具生态系统的基础。

2.管理运行时

JVM的垃圾收集极大地降低了编写内存安全的应用程序的复杂度,同时还减少了大部分手动内存管理时易于出错的工作。自Java出现早期,并发性就已成为Java不可分割的一部分了,它提供了线程安全的集合、同步原语以及简单易用的多线程API。反射机制是管理运行时的最后一部分,它支持了像依赖注入或面向方面的编程这种先进的概念。

3.性能

Java拥有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 在服务器和移动应用程序的普及,Java 开发人员完全能够自由地往全栈方面发展。

6.第三方生态系统

无论你想解决什么问题,Java 社区几乎都已经为你解决了。你的后台需要大数据分析?没问题,从 Hadoop、Spark 或 Elasticsearch 这么多的解决方案中选择一个吧。不想自己来写你的移动应用程序分析报告?你可以使用 Twitter Fabric 或 Parse。需要在你的后台及移动应用程序中进行 JSON 序列化?很简单,使用 Gson 并在所有平台上共享你的 POJOs 和序列化逻辑。Maven and Gradle任你所用,用 Maven 和 Gradle 来整合第三方库是很简单的,只要在你的构建文件中添加一行就可以了。


7.其他语言

虽然 Java 仍然是 JVM 的主要语言,并且在不断的演变成更具表达的工具,而该平台的架构也欢迎其他的语言。近年来,像 Kotlin、Scala 或 Clojure 这些语言已经被越来越多的采用,不仅是由于它们的特性,还因为它们与现有的 Java 生态体系的互操作性。

8.代码共享

最后,我们保留了这个最重要的原因。Java 运行在你的后台、Android 和 iOS 上,覆盖了所有主要平台。由于这种可移植性,你可以通过在这些平台之间共享你的大量代码来节省开发成本和开发资源。使用这些空出来的资源,来专注于你的实际产品,并满足你的用户。

2015 年对 Java 来说显然是丰收的一年。也许是时候创造些成功了,让移动跨平台 Java 开发成为你 2016 年职业上取得成就的一部分吧。



作者: Quasimodo2    时间: 2016-10-8 17:31
感谢楼主分享,收藏了

作者: star皆空    时间: 2016-10-12 00:15
Quasimodo2 发表于 2016-10-8 17:31
感谢楼主分享,收藏了

互相进步





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2