文档章节

Why mobile iOS and Android app should be in Java?

 谁知相恋最长情
发布于 2016/02/13 23:33
字数 904
阅读 3
收藏 0

8 reasons your next mobile iOS and Android app should be in Java

原文来源: https://robovm.com/eight-8-reasons-ios-and-android-app-should-be-in-java/

主题 Java iOS 安卓开发

Java has been one of the most popular programming languages for over a decade, and in 2015, the language proved once again to be a driving force in the industry, as it took a commanding lead in the  TIOBE language index . While TIOBE has its fair share of methodological issues, combining it with other rankings such as RedMonk’s or  PYPL gives a good indicator of Java’s popularity. 

As  the major player in the enterprise world, Java has always kept a steady pace, but how do we account for its recent growth?  Oracle’s efforts introducing lambdas and streams in  Java 8 are certainly a big draw. Being the lingua franca of the fastest growing mobile platform is another important driving force. With  Android’s recent move to OpenJDK, and the upcoming release of  Java 9 we predict Java’s relevance will continue to increase. 

These boons to the ecosystem have obviously created an influx of new blood, but, as veterans, we know that the battle tested strengths of the platform are what will keep developers around for years to come. Here are 8 reasons why Java is the clear choice for your next mobile project:

1. Static typing

With the complexity of backends and mobile apps increasing, it’s vital to have a robust code base that is easy to maintain and refactor. Static typing is the key component in ensuring developer sanity throughout a project’s life, as it catches a large class of bugs at compile time, enables optimizations and forms the basis for Java’s second-to-none tooling ecosystem.

2. Managed Runtime

The JVM’s garbage collector greatly reduces the complexity of writing memory safe applications and eliminates most of the error-prone work associated with manual memory management. Concurrency has been an integral part of Java since its early days, providing thread-safe collections, synchronization primitives and easy to use multi-threading APIs. Reflection is the final piece of the managed runtime, enabling advanced concepts like dependency injection or aspect oriented programming.

3. Performance

The  HotSpot JVM’s  Just-in-Time compiler and its various garbage collector implementations makes it a no-brainer to choose Java over other platforms when it comes to performance for server-side applications.  Ahead-of-Time compilation is the go-to-scheme on mobile platforms. On  Android ,  ART provides near native performance for computationally heavy loads. On iOS,RoboVM uses  LLVM , the same backend used for C/C++/Objective-C/Swift compilation, to deliver performance equal to or better than Objective-C and Swift. 

4. Tooling

Regardless of a language’s theoretical benefits, it’s the tooling around the language that makes or breaks it. IDEs such as  Eclipse ,  IntelliJ and  Netbeans are the gold standard by which tools of comparable platforms are measured by. Code navigation, refactoring, completion and templating make writing and maintaining of your project effective. Code hot-swapping, debugging, profiling and unit testing let you easily pinpoint problems. And integration of source control, application server management, and build and dependency management cover the infrastructure required to deploy your project. 

5. Huge community

Depending on who you ask, there’s an estimated  9+ million Java developersaround the world. This number translates into an immense amount of conferences, books, online resources, forums and training programs from which Java developers can choose to improve their skills. The hiring pool of top Java talent dwarfs that of comparable platforms. And with Java’s ubiquity on both the server and mobile side of applications, Java developers are well positioned to move freely along the full stack. 

6. 3rd party ecosystem

Whatever problem you are trying to solve, it’s pretty much guaranteed that the Java community has already solved it for you. Your backend needs big data analytics? No problem, choose one of the plethora of solutions like  Hadoop ,  Sparkor  Elasticsearch . Don’t want to write your own analytics for your mobile app? Twitter Fabric or  Parse have you covered. Need JSON serialization in both your backend and mobile app? Easy, add  Gson and share your POJOs and serialization logic across all platforms. With  Maven and  Gradle at your disposal, integrating 3rd party libraries is as simple as adding a single line to your build file. 

7. Alternative languages

While Java remains the primary language of the JVM and is constantly evolving to be more expressive, the platform’s architecture is also welcoming to alternative languages as well. In recent years, languages like  Kotlin ,  Scala or  Clojure have seen an increase in adoption, not only due to their features, but also because of their interoperability with the existing Java ecosystem. 

8. Code sharing

We reserved the most important reason for last. Java runs on your backend, on Android and on iOS, covering all the major platforms. With this portability, you can save development cost and resources by sharing large portions of your code between these platforms. Use those freed up resources where they count: to focus on your actual product and delight your users!

2015 was clearly a banner year for Java. Perhaps it’s time to build off that success, and make  mobile cross platform Java development a part of your professional achievements for 2016.


本文转载自:https://robovm.com/eight-8-reasons-ios-and-android-app-should-be-in-java/

共有 人打赏支持
粉丝 0
博文 18
码字总数 9286
作品 0
程序员
JavaScript(React Native、Node.js等)移动、服务端通吃的全栈语言

作者:李宁老师 东北大学计算机专业硕士。曾任沈阳东软股份项目经理。51CTO学院签约讲师。从事软件研究和开发超过20年。长久以来一直从事Java、Android、iOS、C++、Swift、Objective-C以及跨...

androidguy
06/29
0
0
另辟蹊径创建移动应用:iOS和Android代码共享

过去几年,移动应用席卷了整个世界,在工作和生活的方方面面改变着我们使用互联网的方式。创建移动应用的各种技术也随之兴起,各种开发流程也 将移动应用视为一等公民,开始考虑适应移动开发...

程序袁_绪龙
2014/09/27
0
1
Apple IOS、Android、WebOS系统体系架构对比

2月10日,HP发布了WebOS3.0,虽然有些生不逢时,但即使面对不成熟的Windows phone7,尚待字闺中的meego, 移动设备操作系统中Apple IOS、Android、WebOS三足鼎立的局面已然初成,。竞争的大幕...

人十车
2011/02/12
0
5
OGEngine发布跨平台版本,支持iOS及Android

OGEngine v2.1.1拓展了跨平台,支持iOS平台和Android平台,我们现在来搭建下开发环境。注意,由于iOS版本的编译开发必须在Mac系统上,所以我们的部署也是在Mac环境下进行的。 1. 检查系统 建...

橙游OrangeGame
2014/09/08
0
0
ios界面自动化工具--Appium

ios界面自动化工具--Appium Appium是一款开源的移动端自动化测试框架,支持Android和Ios,之前简单介绍过Appium,链接http://www.yeetrack.com/?p=639。最近在做ios的自动化测试,再详细记录一...

youthflies
2014/10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring-boot | 日志

引言 好久不见,都还好吗? 大家都知道,我一般都是带来实用的东西,这次也一样,我们来试试项目开发中的日志处理。 理论知识 1、为什么要用日志?你是否因为项目出现问题,查找日志文件定位...

成都_小冯同学
17分钟前
0
0
dubbo下的补偿实现(一)

背景 由于前面几篇文章涉及的问题 分布式事务的思考 在我们微服务的场景下 各种本地事务都没有办法控制的很好。 A服务调用B服务 当B服务成功提交之后 A发生了异常 这种情况下要如何处理呢??...

Mr_Qi
26分钟前
2
0
HTML显示json字符串并且进行格式化

通过pre标签进行格式化展示,使用JSON.stringify()方法转换。 代码如下:   <html> <head> <title>HTML显示json字符串并且进行格式化</title> </head> <body> <p id="show_p">{ "name": "B......

writeademo
46分钟前
0
0
LNMP——php-fpm

php-fpm的pool •vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加include并删除我们之前www池子 • include = etc/php-fpm.d/*.conf • mkdir /usr/local/php/etc/php-fpm.d/ • ......

chencheng-linux
50分钟前
0
0
TensorFlow layers slim 模块搭建cnn对mnist分类,比较bn效果

shape变化 (?, 784)(?, 28, 28, 1)(?, 14, 14, 8)(?, 7, 7, 8)(?, 1, 1, 8)(?, 8)(?, 10) 结果对比,基本上还是有点用的 0.91725457 0.9232 0.9548 0.95530.9177273 0.9234 0....

阿豪boy
53分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部