今天想和大家分享的內(nèi)容是和我們手機上APP相關的,它們都是用什么編程語言寫的呢?
兩大移動端:Android和IOS,我們就不多說了,下面我們從另一個角度進行分類。
第一類:針對單一APP開發(fā)的語言,即開發(fā)一套代碼只能運行在一個平臺上。
1、開發(fā)Android的:Java和Kotlin
Kotlin是一種在Java虛擬機上運行的靜態(tài)類型編程語言,被稱之為Android世界的Swift。Kotlin可以編譯成Java字節(jié)碼,也可以編譯成JavaScript,方便在沒有 JVM 的設備上運行。運行效率提高很多,并且語法更加簡潔好用。
如果是與系統(tǒng)底層進行交互則需要使用JNI技術,通過和C或者C++結(jié)合實現(xiàn)相應的業(yè)務邏輯,比如美顏或者直播類型的APP。直播類型的APP采用的ffmpeg技術,其中ffmpeg就是用C語言實現(xiàn)的。
2、開發(fā)IOS的:Swift和Object-C
Swift 結(jié)合了 C 和 Objective-C 的優(yōu)點并且不受 C 兼容性的限制。
(二)第二類:可以針對多個APP端的編程語言,即只需開發(fā)出一套代碼,就可在多個平臺上運行。
基于Dart語言,比如現(xiàn)在閑魚APP就是基于flutter開發(fā)的。并且有著多年經(jīng)驗,而且閑魚免費開源了框架。
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用,并且Flutter是完全免費、開源的。
Flutter的熱重載可幫助您快速地進行測試、構(gòu)建UI、添加功能并更快地修復錯誤。在iOS和Android模擬器或真機上可以在亞秒內(nèi)重載,并且不會丟失狀態(tài)。
尤其是在UI上使用Flutter的現(xiàn)代、響應式框架,和一系列基礎widget,輕松構(gòu)建您的用戶界面。使用功能強大且靈活的API(針對2D、動畫、手勢、效果等)解決艱難的UI挑戰(zhàn)。
uni-app是一個使用Vue.js開發(fā)所有前端應用的框架,開發(fā)者編寫一套代碼,可發(fā)布到iOS、Android、H5、以及各種小程序:微信/支付寶/百度/頭條/QQ/釘釘?shù)榷鄠€平臺。
小結(jié):
第二類開發(fā)起來更顯效率,節(jié)約很多時間成本。當然,如果加上大型APP這個限定條件的話,就不能用單一的某一種編程語言來說了,一般情況下大型APP必然會用到的編程語言有三種:
第一種:平臺原生推薦語言,如:Android平臺的Java和Kotlin,ios平臺的object-c和Swift(swift版本之間的差異比較大,要學習的話還是要注意版本選擇)。這部分一般用于處理核心業(yè)務、權限請求以及高性能要求頁面。
第二種:web語言,這里主要指的是h5相關的技術棧。這部分主要處理非核心業(yè)務邏輯,以及需要動態(tài)更新的頁面。
第三種:NDK相關,這里一般用到的就是C、Cc++。大部分寫業(yè)務邏輯的同學用的比較少,不過大型APP一般還是會用到一些。主要應用于安全性要求高,高性能算法以及跨平臺算法實現(xiàn)。
好了,今天就分享到這里吧,感謝各位耐心閱讀!
版權歸原作者所有,如有侵權,請聯(lián)系刪除。
飛機上一般是什么操作系統(tǒng)?
高速CAN、容錯CAN、LIN總線有什么區(qū)別?
大佬終于把鴻蒙OS講明白了,收藏了!
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!