開發(fā)一款Android上的APP需要哪些編程語言?
時間:2023-11-29 03:24:02 | 來源:網(wǎng)站運營
時間:2023-11-29 03:24:02 來源:網(wǎng)站運營
開發(fā)一款Android上的APP需要哪些編程語言?:這個主要看你的app都包含哪些功能,不能一概而論。
以通訊錄app為例
以下是具體需求:
1、包含聯(lián)系人列表和聯(lián)系人詳情兩個頁面。
2、聯(lián)系人列表頁有一個添加按鈕,能添加聯(lián)系人。
3、聯(lián)系人詳情頁能編輯和查看聯(lián)系人的詳細信息。
開發(fā)過程我們可以把每個頁面功能的實現(xiàn)拆成UI和數(shù)據(jù)兩部分。
UI就是用戶在手機屏幕上能點擊操作的部分。數(shù)據(jù)存儲就是把用戶相關的信息都存儲到數(shù)據(jù)庫里面,以及從數(shù)據(jù)庫中查詢數(shù)據(jù)。
UI部分我們有三種選擇
1、使用Android原生開發(fā)。也就是用
Java或者Kotlin調(diào)用Android SDK寫頁面。
這種方案是Android官方的開發(fā)方式,性能最好,開發(fā)效率也很高。
2、使用Flutter開發(fā)。也就是用
Dart語言調(diào)用Flutter SDK寫頁面。
這種方案也是Google官方推出的,性能和方案1很接近,開發(fā)效率也很高。
3、使用H5開發(fā)。
用JavaScript或者TypeScript語言寫純前端頁面。
在App中使用WebView打開這個H5頁面。
WebView使擁Android原生或者Flutter都可以。
這種方案可以充分利用前端生態(tài)的各種資源,開發(fā)效率非常高,但是性能比前兩種略差。
數(shù)據(jù)庫部分
使用Android原生或者Flutter都有方便的第三方庫可以選擇,能夠大大減少我們數(shù)據(jù)庫開發(fā)的工作量。
如果使用H5方案,需要根據(jù)我們選擇的WebView是原生還是Flutter的,先在原生或者Flutter上寫好數(shù)據(jù)庫操作的相關接口,然后WebView中的JS代碼調(diào)用相關接口。
更復雜一點的例子
前面我們的例子是最簡單的一種App,如果我們的應用需要更復雜的功能,可能需要更多的技術(shù)。
例如我們要寫一個相機應用,需要對拍攝的照片進行復雜的后期處理。
這種處理需要對圖片的每一個像素進行計算,涉及到非常大量的計算工作。
這時不僅JS的性能不能滿足需求,甚至原生的Java、Kotlin和Flutter的Dart性能都不夠。
這種情況下我們需要引入
C或者C++,利用非虛擬機的編程語言的高性能特性進行大量計算。
總體來說上面這些技術(shù)足以應付大多數(shù)app的開發(fā)需求。這些也是目前比較主流的開發(fā)技術(shù)。當然也有一些其它的語言和框架可以用于Android開發(fā),比如基于C#的Xamarin或者基于C++的QT。
如果是學習的話,還是從Java/Kotlin + Android SDK開始,畢竟官方開發(fā)方案使用其它技術(shù)時也是繞不開的。
-------
歡迎私信我提問,我都會一一解答,記得一鍵三連支持一下哦!