選擇 Java 編寫 iOS 與 安卓 App的八大理由

【編者按】本文作者為 RoboVM 的 CEO 兼聯(lián)合創(chuàng)始人 Henric Müller,主要介紹選用 Java 編寫移動(dòng)應(yīng)用的八大理由苗傅。文章系國內(nèi) ITOM 管理平臺(tái) OneAPM 編譯呈現(xiàn)。

在過去的十年中属韧,Java一直很火述吸。2015年,它又被再次證明是業(yè)內(nèi)中堅(jiān)力量——在TIOBE語言指數(shù)中占據(jù)絕對優(yōu)勢啥么。雖然TIOBE排名的計(jì)算方法存在一些問題,但是與其他流行排名如RedMonkPYPL結(jié)合來看贰逾,Java語言的受歡迎程度還是顯而易見的饥臂。

作為行業(yè)內(nèi)的領(lǐng)先選手,Java語言的增長步伐一直比較穩(wěn)定似踱。但是如何解釋它最近的激增呢?甲骨文 使用Java 8 編寫Lambdas和Streams顯然是很重要的一大原因。此外核芽,在增速極快的移動(dòng)平臺(tái)上面擔(dān)任通用語言更是讓Java如虎添翼囚戚。隨著近來安卓向OpenJDK的靠攏,加上 Java 9 的步步逼近轧简,筆者相信Java 的活躍度將持續(xù)增長驰坊。

Java語言的諸多益處顯然引來了新鮮血液,但是作為老兵哮独,我們知道久經(jīng)考驗(yàn)的平臺(tái)實(shí)力才是Java真正吸引開發(fā)者的原因拳芙。下面列出了8個(gè)你應(yīng)該使用Java編程的原因:

1. 靜態(tài)類型

隨著后端和移動(dòng)應(yīng)用復(fù)雜度的不斷增加,擁有一個(gè)易于維護(hù)和重構(gòu)的代碼庫至關(guān)重要皮璧。靜態(tài)類型確保了開發(fā)者在整個(gè)項(xiàng)目的開發(fā)周期中都保持理智舟扎,它在編譯時(shí)就能發(fā)現(xiàn)大量的程序錯(cuò)誤,確保了代碼最優(yōu)化悴务,從而保證Java在工具生態(tài)系統(tǒng)中絕對領(lǐng)先的地位睹限。

2. 運(yùn)行時(shí)管理

JVM的垃圾回收器有效降低了編寫內(nèi)存安全應(yīng)用的復(fù)雜度,消除了手動(dòng)內(nèi)存管理時(shí)容易出現(xiàn)的大多數(shù)錯(cuò)誤涤躲。而并發(fā)陌宿,作為在Java早期就已出現(xiàn)的重要屬性椰棘,提供了線程安全回收,原始類型同步和簡單易用的多線程API叨恨。反射(reflection)是運(yùn)行時(shí)管理的最后一招,它確保了依賴注入(dependency injection)或面向方面(aspect oriented)編程等高級理念的實(shí)現(xiàn)挖垛。

3. 性能

考慮服務(wù)端應(yīng)用的性能時(shí)痒钝,HotSpot JVM 的 JIT(Just-in-Time)編譯器和它多種多樣的垃圾回收器幾乎讓人毫不猶豫地選擇Java。而提前(Ahead-of-Time)編譯是移動(dòng)平臺(tái)上的主導(dǎo)機(jī)制晕换。在安卓上午乓,ART 為計(jì)算型重負(fù)荷提供了幾乎原生的性能。而在 iOS 平臺(tái)上闸准,RoboVM 使用了 LLVM( C/C++/Objective-C/Swift編譯所用的相同后端)益愈,從而達(dá)到與Objective-C和Swift相當(dāng)或更好的性能表現(xiàn)。

4. 工具

如果不管理論上的益處夷家,圍繞語言的工具數(shù)量與質(zhì)量才是真正決定語言成敗的關(guān)鍵蒸其。Eclipse,IntelliJ和NetBeans之類的IDE(集成開發(fā)環(huán)境)是其他可比平臺(tái)工具的優(yōu)質(zhì)對比標(biāo)準(zhǔn)库快。代碼導(dǎo)航摸袁,重整,完善和模板使得書寫和維護(hù)項(xiàng)目代碼變得更為高效义屏。代碼熱調(diào)換(hot-swapping)靠汁,調(diào)試蜂大,性能分析和單元測試讓你很輕易找到問題根源。源碼控制蝶怔、應(yīng)用服務(wù)器管理以及編譯和依賴管理的集成環(huán)境為你的項(xiàng)目部署提供了基礎(chǔ)奶浦。

5. 龐大的社區(qū)

世界上大概有超過九百萬Java程序員。這一數(shù)字進(jìn)而催生了大量的Java會(huì)議踢星,書籍澳叉,在線資源,論壇和培訓(xùn)計(jì)劃沐悦。Java開發(fā)者可以從中選擇來提高技能成洗。相比于Java人才資源庫,其他語言平臺(tái)的資源顯得微不足道藏否。此外瓶殃,由于Java語言同時(shí)應(yīng)用于服務(wù)器端和移動(dòng)應(yīng)用端,Java開發(fā)者能更靈活地全棧中放光發(fā)熱秕岛。

6. 第三方生態(tài)系統(tǒng)

不管你正嘗試解決什么難題碌燕,幾乎可以確認(rèn)的是Java社區(qū)中已經(jīng)有人提出了解決方案。你的后端需要大數(shù)據(jù)分析继薛?沒問題修壕,你可以在眾多方案中選擇,如Hadoop遏考,Spark或是Elasticsearch慈鸠。不想親自為手機(jī)應(yīng)用寫分析代碼?Twitter FabricParse灌具,你拿來用就行青团。需要JSON在后端和移動(dòng)應(yīng)用上同時(shí)實(shí)現(xiàn)序列化?簡單咖楣,添加Gson督笆,然后在全站分享你的POJO和序列邏輯。有了Maven和Grable的幫忙诱贿,添加第三方庫就像在編譯文件里添加一段代碼那樣簡單娃肿。

7. 備選語言

雖然Java語言一直都是Java虛擬機(jī)里面的首要語言,而且正變得更具表現(xiàn)力珠十。但是平臺(tái)架構(gòu)同時(shí)也歡迎其他語言料扰。最近幾年, Kotlin焙蹭,Scala或Clojure等語言的采納率正不斷提升晒杈,這不僅僅是因?yàn)樗鼈兊恼Z言特性,更是因?yàn)樗鼈兣c現(xiàn)有的Java生態(tài)系統(tǒng)具有互通性孔厉。

8. 代碼分享

我們將最為重要的問題放在了最后拯钻。Java在后端運(yùn)行帖努,不管是安卓還是iOS,它覆蓋了幾乎所有的大型平臺(tái)说庭。它的可移植性使你能夠跨平臺(tái)共享大量代碼然磷,進(jìn)而節(jié)省應(yīng)用部署所需的成本與資源。使用那些免費(fèi)且有用的資源刊驴,將精力放在你真正的產(chǎn)品上,以此獲得用戶的青睞寡润!

2015年對Java來說是輝煌的一年捆憎。或許梭纹,借助這個(gè)契機(jī)躲惰,使用Java編寫跨平臺(tái)移動(dòng)應(yīng)用會(huì)給你的2016帶來事業(yè)上的成功。

OneAPM 能為您提供端到端的 Java 應(yīng)用性能解決方案变抽,我們支持所有常見的 Java 框架及應(yīng)用服務(wù)器础拨,助您快速發(fā)現(xiàn)系統(tǒng)瓶頸,定位異常根本原因绍载。分鐘級部署诡宗,即刻體驗(yàn),Java 監(jiān)控從來沒有如此簡單击儡。想閱讀更多技術(shù)文章塔沃,請?jiān)L問 OneAPM 官方技術(shù)博客

本文轉(zhuǎn)自 OneAPM 官方博客

原文鏈接: https://dzone.com/articles/8-reasons-your-next-mobile-ios-and-android-app-sho

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阳谍,一起剝皮案震驚了整個(gè)濱河市蛀柴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矫夯,老刑警劉巖鸽疾,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異训貌,居然都是意外死亡制肮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門旺订,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弄企,“玉大人,你說我怎么就攤上這事区拳【辛欤” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵樱调,是天一觀的道長约素。 經(jīng)常有香客問我届良,道長,這世上最難降的妖魔是什么圣猎? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任士葫,我火速辦了婚禮,結(jié)果婚禮上送悔,老公的妹妹穿的比我還像新娘慢显。我一直安慰自己,他們只是感情好欠啤,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布荚藻。 她就那樣靜靜地躺著,像睡著了一般洁段。 火紅的嫁衣襯著肌膚如雪应狱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天祠丝,我揣著相機(jī)與錄音疾呻,去河邊找鬼。 笑死写半,一個(gè)胖子當(dāng)著我的面吹牛岸蜗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播污朽,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼散吵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蟆肆?” 一聲冷哼從身側(cè)響起矾睦,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炎功,沒想到半個(gè)月后枚冗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛇损,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年赁温,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淤齐。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡股囊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出更啄,到底是詐尸還是另有隱情稚疹,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布祭务,位于F島的核電站内狗,受9級特大地震影響怪嫌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柳沙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一岩灭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赂鲤,春花似錦噪径、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妙真,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荚守,已是汗流浹背珍德。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矗漾,地道東北人锈候。 一個(gè)月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像敞贡,于是被迫代替她去往敵國和親泵琳。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,288評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理誊役,服務(wù)發(fā)現(xiàn)获列,斷路器,智...
    卡卡羅2017閱讀 134,701評論 18 139
  • 從三月份找實(shí)習(xí)到現(xiàn)在蛔垢,面了一些公司击孩,掛了不少,但最終還是拿到小米鹏漆、百度巩梢、阿里、京東艺玲、新浪括蝠、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,275評論 11 349
  • 承諾就像魚缸里沒有水一樣饭聚,小魚就會(huì)死去忌警。如果世界沒有承諾,世界會(huì)一片狼藉若治。 因?yàn)閶寢寣ξ业某兄Z慨蓝,中午11:30才會(huì)...
    百合花楊雅淇閱讀 427評論 0 0
  • 《外婆的道歉信》之我愛 “每個(gè)七歲的小孩都應(yīng)該擁有一位超級英雄感混。這是毋庸置疑的事實(shí)。所有不同意的人都需要去檢查一下...