下一代移動 iOS 和 安卓應用程序應該用 java 來編寫的8大原因
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 這么多的解決方案中選擇一個吧。不想自己分析你的移動應用?可以使用 推ter Fabric 或 Parse 。需要在你的后臺及移動應用中進行 JSON 序列化?很簡單,使用 Gson 并在所有平臺上共享你的 POJOs 和序列化邏輯。使用 Maven 和 Gradle 來整合第三方庫是很簡單的,只要在你的構建文件中添加一行就可以了。
7. 其他語言
雖然 Java 仍然是 JVM 的主要語言,并且在不斷的演變成更具表達力,而該平臺的架構也歡迎其他語言。近年來,像 Kotlin 、 Scala 或 Clojure 這些語言已經被越來越多的采用。這不僅是由于它們的特性,還因為它們與現有的 Java 生態體系的互操作性。
8. 代碼共享
最后我們保留了這個最重要的原因。Java 運行在你的后臺、Android 和 iOS 上,覆蓋了所有主要平臺。由于這種可移植性,你可以通過在這些平臺之間共享你的大量代碼來節省開發成本和資源。使用這些資源,來專注于你的實際產品,并滿足你的用戶。
2015 年對 Java 來說顯然是豐收的一年。也許是時候享受這些成功了,讓 移動跨平臺 Java 開發 成為你 2016 年專業成就的一部分吧。
來自: http://www.oschina.net/translate/8-reasons-your-next-mobile-ios-and-android-app-sho