選擇 Java 編寫 iOS 與 安卓 App的八大理由
【編者按】本文作者為 RoboVM 的 CEO 兼聯合創始人 Henric Müller,主要介紹選用 Java 編寫移動應用的八大理由。文章系國內 ITOM 管理平臺 OneAPM 編譯呈現。
在過去的十年中,Java一直很火。2015年,它又被再次證明是業內中堅力量——在TIOBE語言指數中佔據絕對優勢。雖然TIOBE排名的計算方法存在一些問題,但是與其他流行排名如RedMonk和PYPL結合來看,Java語言的受歡迎程度還是顯而易見的。
作為行業內的領先選手,Java語言的增長步伐一直比較穩定。但是如何解釋它最近的激增呢?甲骨文 使用Java 8 編寫Lambdas和Streams顯然是很重要的一大原因。此外,在增速極快的移動平臺上面擔任通用語言更是讓Java如虎添翼。隨著近來安卓向OpenJDK的靠攏,加上 Java 9 的步步逼近,筆者相信Java 的活躍度將持續增長。
Java語言的諸多益處顯然引來了新鮮血液,但是作為老兵,我們知道久經考驗的平臺實力才是Java真正吸引開發者的原因。下面列出了8個你應該使用Java程式設計的原因:
1. 靜態型別
隨著後端和移動應用複雜度的不斷增加,擁有一個易於維護和重構的程式碼庫至關重要。靜態型別確保了開發者在整個專案的開發週期中都保持理智,它在編譯時就能發現大量的程式錯誤,確保了程式碼最優化,從而保證Java在工具生態系統中絕對領先的地位。
2. 執行時管理
JVM的垃圾回收器有效降低了編寫記憶體安全應用的複雜度,消除了手動記憶體管理時容易出現的大多數錯誤。而併發,作為在Java早期就已出現的重要屬性,提供了執行緒安全回收,原始型別同步和簡單易用的多執行緒API。反射(reflection)是執行時管理的最後一招,它確保了依賴注入(dependency injection)或面向方面(aspect oriented)程式設計等高階理念的實現。
3. 效能
考慮服務端應用的效能時,HotSpot JVM 的 JIT(Just-in-Time)編譯器和它多種多樣的垃圾回收器幾乎讓人毫不猶豫地選擇Java。而提前(Ahead-of-Time)編譯是移動平臺上的主導機制。在安卓上,ART 為計算型重負荷提供了幾乎原生的效能。而在 iOS 平臺上,RoboVM 使用了 LLVM( C/C++/Objective-C/Swift編譯所用的相同後端),從而達到與Objective-C和Swift相當或更好的效能表現。
4. 工具
如果不管理論上的益處,圍繞語言的工具數量與質量才是真正決定語言成敗的關鍵。Eclipse,IntelliJ和NetBeans之類的IDE(整合開發環境)是其他可比平臺工具的優質對比標準。程式碼導航,重整,完善和模板使得書寫和維護專案程式碼變得更為高效。程式碼熱調換(hot-swapping),除錯,效能分析和單元測試讓你很輕易找到問題根源。原始碼控制、應用伺服器管理以及編譯和依賴管理的整合環境為你的專案部署提供了基礎。
5. 龐大的社群
世界上大概有超過九百萬Java程式設計師。這一數字進而催生了大量的Java會議,書籍,線上資源,論壇和培訓計劃。Java開發者可以從中選擇來提高技能。相比於Java人才資源庫,其他語言平臺的資源顯得微不足道。此外,由於Java語言同時應用於伺服器端和移動應用端,Java開發者能更靈活地全棧中放光發熱。
6. 第三方生態系統
不管你正嘗試解決什麼難題,幾乎可以確認的是Java社群中已經有人提出瞭解決方案。你的後端需要大資料分析?沒問題,你可以在眾多方案中選擇,如Hadoop,Spark或是Elasticsearch。不想親自為手機應用寫分析程式碼?Twitter Fabric或Parse,你拿來用就行。需要JSON在後端和移動應用上同時實現序列化?簡單,新增Gson,然後在全站分享你的POJO和序列邏輯。有了Maven和Grable的幫忙,新增第三方庫就像在編譯檔案裡新增一段程式碼那樣簡單。
7. 備選語言
雖然Java語言一直都是Java虛擬機器裡面的首要語言,而且正變得更具表現力。但是平臺架構同時也歡迎其他語言。最近幾年, Kotlin,Scala或Clojure等語言的採納率正不斷提升,這不僅僅是因為它們的語言特性,更是因為它們與現有的Java生態系統具有互通性。
8. 程式碼分享
我們將最為重要的問題放在了最後。Java在後端執行,不管是安卓還是iOS,它覆蓋了幾乎所有的大型平臺。它的可移植性使你能夠跨平臺共享大量程式碼,進而節省應用部署所需的成本與資源。使用那些免費且有用的資源,將精力放在你真正的產品上,以此獲得使用者的青睞!
2015年對Java來說是輝煌的一年。或許,藉助這個契機,使用Java編寫跨平臺移動應用會給你的2016帶來事業上的成功。
OneAPM 能為您提供端到端的 Java 應用效能解決方案,我們支援所有常見的 Java 框架及應用伺服器,助您快速發現系統瓶頸,定位異常根本原因。分鐘級部署,即刻體驗,Java 監控從來沒有如此簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格。
本文轉自 OneAPM 官方部落格
原文連結: https://dzone.com/articles/8-reasons-your-next-mobile-ios-and-android-app-sho
相關文章
- 我們選擇java的理由Java
- 選擇2024年開發App的理由,費用分析與效益APP
- 編寫高效的 CSS 選擇器CSS
- 選擇或者放棄MySQL的理由MySql
- 選擇Nodejs的N個理由NodeJS
- 選擇HHDESK的理由二【檔案共享】
- 選擇Go語言的12個理由Go
- iOS - 建立大量相似App的另外一種選擇iOSAPP
- 選擇Apache Pulsar而不是Kafka的理由 - KafkaesqueApacheKafka
- iOS倒數計時的探究與選擇iOS
- 編碼的選擇
- 選擇使用c語言編寫的phalcon框架C語言框架
- 為什麼建議新手選擇Ubuntu?告訴你選擇理由!Ubuntu
- 選擇HHDESK的理由三【檔案對比功能】
- 選擇 Pulsar 而不是 Kafka 的 7 大理由Kafka
- 選擇JSF不選Struts的十大理由JS
- 為 Capped CRF 編碼選擇最佳 CRF 值APPCRF
- 選擇HHDESK的理由四[【資料夾對比功能】
- 選擇 ReactJS 的五大理由JS
- Java ArrayList 與 LinkedList 的靈活選擇Java
- 選擇Oracle EBS ,而不選擇SAP或者其他ERP 產品的理由是什麼?Oracle
- 企業選擇CRM平臺的三大理由
- 選擇跟程式設計師約會的10個理由程式設計師
- 生物製藥企業選擇谷歌雲的理由有哪些?谷歌
- iOS選擇器元件iOS元件
- 選擇IT行業的這些理由,哪一條戳中了你?行業
- 【譯】13 個你應該選擇/考慮使用 Flutter 的理由Flutter
- 闡述選擇遊戲設計師職業的5個理由遊戲設計師
- 選擇商業庫而不是開源庫的 8 個理由
- 安卓製作日期選擇器Datepicker安卓
- Java 選擇排序Java排序
- [java]選擇排序Java排序
- iOS引導頁的編寫iOS
- 自己編寫Java Web框架:Takes框架的Web App架構JavaWeb框架APP架構
- 選擇Visual Components軟體的五大理由
- 這就是為什麼企業會選擇自助分析工具的理由
- uniapp 檔案選擇APP
- 如何編寫 iOS PatchiOS