91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

制作手機(jī)上的APP應(yīng)該使用什么編程語言

Wildesbeast ? 來源:今日頭條 ? 作者: 前端達(dá)人 ? 2020-02-04 14:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

先我們先聊聊目前主流手機(jī)操作系統(tǒng),目前就兩大陣營:安卓與IOS。在我國,從市場(chǎng)份額來說安卓的占有率是極高的高達(dá)80%,而蘋果才20%。(2018年數(shù)據(jù))?,F(xiàn)在開發(fā)手機(jī)APP的技術(shù)現(xiàn)在主要分為原生開發(fā)、前端的方式開發(fā)、原生和前端的混合方式,還有目前新出的flutter技術(shù)的開發(fā)方式,接下來我們來詳細(xì)聊聊對(duì)應(yīng)的相關(guān)技術(shù)。

原生方式開發(fā)

如果你選擇安卓陣營,目前可供你選擇的語言有 JAVA 和 Kotlin,如果你是安卓的初學(xué)者沒有 JAVA 相關(guān)的編程經(jīng)驗(yàn),建議你先從 JAVA 開始學(xué)起。如果你是有 JAVA 編程經(jīng)驗(yàn)的開發(fā)人員,你可以開始學(xué) Kotlin。接下來我來分別進(jìn)行解釋為什么要這樣選擇:

1、沒有編程經(jīng)驗(yàn)的初學(xué)者,建議先從JAVA語言開始

如果你沒有編程經(jīng)驗(yàn),建議你還是首選JAVA,除了Android 系統(tǒng)開發(fā)APP 開始就是首選 JAVA 的原因外,還有如下幾個(gè)原因:

JAVA 可以為你打下編程思維的基礎(chǔ),如果沒有語言基礎(chǔ),上來就編 APP 很難。

JAVA 相關(guān)的中文資料多,有什么問題,你都可以通過搜索引擎找到答案。

JAVA 的社區(qū)社區(qū)成熟、還有對(duì)應(yīng)用 JAVA 編寫的安卓庫比較多,你可以很方便的拿來就用。

相對(duì)Kotlin來說,還是一種新的編程語言,很多開源項(xiàng)目還未成熟,并且學(xué)習(xí)資源也相對(duì)稀少。這樣就意味著你有比較多的坑要踩,對(duì)于初學(xué)者有著太多的挑戰(zhàn)。

2、有 JAVA 編程經(jīng)驗(yàn)的,建議開始學(xué)kotlin

安卓最開始的官方首選語言推薦JAVA,自從隨著甲骨文對(duì)JAVA有著相應(yīng)的版權(quán),安卓官網(wǎng)為了擺脫這個(gè)束縛,就開始轉(zhuǎn)變編程語言,建議使用 kotlin。對(duì)Java開發(fā)人員來說,建議開始學(xué)習(xí)Kotlin,因?yàn)樗_實(shí)提高了開發(fā)效率。有些以前幾十行的 JAVA 代碼,如過換成了 Kotlin 有可能幾行就實(shí)現(xiàn)了。facebook, Squre等公司曾經(jīng)公開已經(jīng)切到看Kotlin開發(fā),國內(nèi)使用 JAVA 進(jìn)行開發(fā)還需要持續(xù)一段時(shí)間,目前還沒有聽說哪個(gè)應(yīng)用是完全用 kotlin 開發(fā)的。但是不代表未來不會(huì),畢竟安卓官方正在不遺余力的進(jìn)行推,代表著未來的方向,因此作為有 JAVA 編程基礎(chǔ)的人,應(yīng)該從現(xiàn)在開始學(xué)習(xí) kotlin,學(xué)習(xí)這個(gè)你應(yīng)該提前有個(gè)心理準(zhǔn)備,相關(guān)的學(xué)習(xí)資源比較少,插件少,大部分資料是外文的,你還有許多坑要去踩。

如果你選擇 IOS 開發(fā)陣營,你可以選擇的語言同樣面臨著兩種,一個(gè)是一開始就使用的object-C 和 現(xiàn)在官方推薦的 swift。由于歷史遺留的問題,還有比較多用 object-C開發(fā)的APP,因此我建議在學(xué)好object-C的基礎(chǔ)上,再開始學(xué)習(xí) swift。因?yàn)樵谖磥淼陌姹局?,官方?huì)越來越向 swift 進(jìn)行傾斜。既然是這樣,你又不得不去學(xué)習(xí) swift,同時(shí)又不能丟棄object-C,還有一點(diǎn)需要提及到在swift的項(xiàng)目中你還可以使用 object-C,使用兩者語言可以混合進(jìn)行開發(fā)。如果時(shí)間精力不允許的情況,在使用 object-C 開發(fā)的項(xiàng)目中,如果有新的功能,你可以使用 swift 語言,等有時(shí)間了,條件允許的情況下,在逐步把以前的功能替換成 swift。

混合開發(fā)

目前也比較流行混合開發(fā),由于原生開發(fā)的成本比較高,需要有兩個(gè)團(tuán)隊(duì)進(jìn)行維護(hù),同時(shí)修改一個(gè)功能,都需要進(jìn)行打包發(fā)布提交審核,為了節(jié)省成本提高開發(fā)速度,會(huì)將精彩有變化的通用的功能,使用內(nèi)嵌網(wǎng)頁的形式進(jìn)行開發(fā),這時(shí)用到的就是前端相關(guān)的開發(fā)知識(shí),比如你可以使用前端相關(guān)的開發(fā)框架 vue、react、angular 其中的任意一種,或者不用任何前端框架。如果采用這種方式開發(fā),你就要去學(xué)前端相關(guān)的知識(shí):html,css,javaScript等,學(xué)完這些還要去學(xué)習(xí)我剛才提及的三種框架之一。

完全用前端技術(shù)開發(fā)

隨著前端技術(shù)的發(fā)展,現(xiàn)在有一種流行的“大前端”的說法,你可以用前端做很多的事情,除了用前端可以開發(fā)網(wǎng)站,我們可以用來做后端(Node),桌面軟件、手機(jī)端軟件、VR 、網(wǎng)頁游戲等等。這里我們來聊聊完全用前端的開發(fā)方式,剛才我們說的混合開發(fā)其實(shí)使用到的的類似webview的組件訪問網(wǎng)頁而已,之所以選擇這種方式開發(fā),一是實(shí)現(xiàn)了跨平臺(tái),同時(shí)又節(jié)省了開發(fā)和管理成本,用前端的方式編寫一套代碼,就可以多平臺(tái)部署。使用這種方式的優(yōu)勢(shì)就是開發(fā)快,成本低,缺點(diǎn)就是犧牲了原生的性能。

這里我說的完全用前端開發(fā)有比較多的解決方案:Cordova、uni-app、weex, ionic、React Native、Taro等方式,由于太多我就不一一介紹了,如果你傾向使用Vue框架,建議使用 uni-app,如果你前端傾向?qū)W習(xí) React 框架,你就選擇 React Native。 接下來我著重介紹下uni-app 和 React Native(如果你感興趣我剛才提及的技術(shù),建議去搜索引擎查找下)。

1、uni-app

uni-app是一個(gè)使用Vue.js開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可發(fā)布到的iOS,機(jī)器人,H5,以及各種小程序(微信/支付寶/百度/頭條/ QQ /釘釘)等多個(gè)平臺(tái)。據(jù)他們說擁有350萬開發(fā)者用戶,旗下uni-app有5萬+案例,600 +插件。如果你選擇使用這個(gè)方式開發(fā)開發(fā)APP,那建議你去學(xué)習(xí) Vue這個(gè)框架 和 前端相關(guān)的基礎(chǔ)知識(shí)。以下這張圖羅列了uni-app官網(wǎng)對(duì)其框架的詳細(xì)解釋圖,如下所示:

2、React Native

React Native (簡(jiǎn)稱RN)是Facebook于2015年4月開源的跨平臺(tái)移動(dòng)應(yīng)用開發(fā)框架,是Facebook早先開源的JS框架 React 在原生移動(dòng)應(yīng)用平臺(tái)的衍生產(chǎn)物,目前支持iOS和安卓?jī)纱笃脚_(tái)。RN使用Javascript語言,類似于 HTML 的JSX,以及CSS來開發(fā)移動(dòng)應(yīng)用,因此熟悉Web前端開發(fā)的技術(shù)人員只需很少的學(xué)習(xí)就可以進(jìn)入移動(dòng)應(yīng)用開發(fā)領(lǐng)域。

因此你想使用這種方法進(jìn)行開發(fā)APP,你就要去學(xué)習(xí) React 和前端相關(guān)的基礎(chǔ)知識(shí)。

flutter

Flutter是谷歌的移動(dòng)UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用,并且Flutter是完全免費(fèi)、開源的。由于 Flutter 目前還比較新,使用的語言是 Dart,如果你選擇這種開發(fā)方式做APP,意味著你要面臨中文學(xué)習(xí)資料少,有更多坑要踩,下面是一張 Flutter 與 React Native 的對(duì)比介紹,要不要選擇這種方式,你可以考慮下,從這張圖中,貌似Flutter的性能會(huì)更好。

小節(jié)

關(guān)于想進(jìn)入開發(fā)手機(jī)APP的同學(xué)們,如果你或者公司對(duì)性能要求很高,又不考慮開發(fā)成本,建議選擇原生開發(fā),如果選擇選擇原生開發(fā),你需要確定是做 IOS 開發(fā) 還是 安卓 開發(fā),做安卓開發(fā)你可以選擇 Java 或者 kotlin,選擇 IOS 開發(fā) 你要學(xué)習(xí) object-C 和 swift 。如果你選擇混合開發(fā)和完全用前端技術(shù)開發(fā),你需要學(xué)習(xí)前端相關(guān)的基礎(chǔ)知識(shí)和相關(guān)框架。如果你想用時(shí)髦比較前衛(wèi)的技術(shù)實(shí)現(xiàn)跨平臺(tái)開發(fā),你需要學(xué)習(xí)Flutter相關(guān)的 Dart 編程。今天的問題解答就分享到這里,如果你有其它的補(bǔ)充方案,歡迎到留言區(qū)交流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3002

    瀏覽量

    116460
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1592

    瀏覽量

    76003
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1964

    瀏覽量

    39596
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何調(diào)試和編程CW32F030C8T7?支持哪些調(diào)試工具和編程語言

    了解如何調(diào)試和編程CW32F030C8T7是開發(fā)過程中的重要環(huán)節(jié)。它支持哪些調(diào)試工具(如JTAG、串口調(diào)試等)和編程語言(如C、C++等)?如何設(shè)置和使用這些工具來加速開發(fā)過程?
    發(fā)表于 12-05 06:48

    為什么單片機(jī)還在用C語言編程

    說起單片機(jī)我們就會(huì)想到C語言,單片機(jī)為什么還在用C語言編程?現(xiàn)在有很多很好用的高級(jí)語言,如VC、PYTHON、PHP等等,為什么這些語言不能
    發(fā)表于 11-28 07:37

    C語言編程技巧

    設(shè)計(jì),分層開發(fā)代碼,便于理解和維護(hù)。 ?8、避免使用GOTO語句?:盡管GOTO語句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護(hù)性。 ?9、利用C語言的靈活性
    發(fā)表于 11-27 06:46

    2025年最佳的嵌入式編程語言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫(yī)院、商店等各個(gè)領(lǐng)域。它們與我們的社會(huì)緊密相連。選擇合適的語言來構(gòu)建嵌入式系統(tǒng)對(duì)于成功至關(guān)重要。那么,2025年最佳的嵌入式編程
    的頭像 發(fā)表于 11-14 10:27 ?1450次閱讀
    2025年最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語言</b>有哪些呢?

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發(fā)的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計(jì)算(HPC)和系統(tǒng)級(jí)編程場(chǎng)景。
    發(fā)表于 11-07 05:59

    Linux 編程語言盤點(diǎn):從內(nèi)核到AI的全棧選擇

    在工控圈和嵌入式圈里,有一個(gè)常年被討論的問題: ?“在 Linux 上,到底該用什么語言編程?” 有人堅(jiān)信:C 才是真正的工業(yè)語言。有人反駁:Python 才是效率王者。還有人推崇 Go、Rust
    的頭像 發(fā)表于 11-06 17:05 ?617次閱讀

    C語言入門(硬件嵌入式那種不是APP開發(fā)的)

    C語言入門(硬件嵌入式那種不是APP開發(fā)的),有沒有對(duì)初學(xué)者很友好的書籍、視頻等資料推薦一下,一直以來看了正dian原子、野火等的視頻、文檔結(jié)果從快要入門到放氣,然后再從放氣到快要入門,一直沒有進(jìn)展,還望指點(diǎn)迷津,感謝
    發(fā)表于 09-27 12:03

    HarmonyOSAI編程自然語言代碼生成

    安裝CodeGenie后,在下方對(duì)話框內(nèi),輸入代碼需求描述,將根據(jù)描述智能生成代碼,生成內(nèi)容可一鍵復(fù)制或一鍵插入至編輯區(qū)當(dāng)前光標(biāo)位置。 提問示例 使用ArkTs語言寫一段代碼,在頁面中間部分
    發(fā)表于 09-05 16:58

    BlueNRG-1 OTA卡在PROGRAMMING,進(jìn)度一直為0是怎么回事?

    采用的是手機(jī) ST BLUE DFU APP + bluenrg-1小系統(tǒng)板,使用的是OTA service manager framework 模式,DK包使用的是DBlueNRG-1_2 DK
    發(fā)表于 07-18 08:20

    求助,關(guān)于TC275 bootloader+app開發(fā)的問題求解

    您好 目前想做一個(gè)簡(jiǎn)單的boot跳app的升級(jí)功能,采用的是autosar架構(gòu),現(xiàn)在的程序默認(rèn)是從0xa0000000也就是PF0的位置開始,我把這個(gè)當(dāng)做boot程序。我現(xiàn)在想制作一個(gè)從PF1
    發(fā)表于 07-15 06:48

    梯形圖語言補(bǔ)充編程說明書

    電子發(fā)燒友網(wǎng)站提供《梯形圖語言補(bǔ)充編程說明書.pdf》資料免費(fèi)下載
    發(fā)表于 07-09 14:14 ?3次下載

    想用K230放在無人機(jī)上做圖像識(shí)別,加裝一個(gè)4G模塊把識(shí)別結(jié)果和畫面同時(shí)傳輸?shù)牡孛嬲净蛘?b class='flag-5'>手機(jī)上,怎么操作?

    我想用K230放在無人機(jī)上做圖像識(shí)別,然后想加裝一個(gè)4G模塊把識(shí)別結(jié)果和畫面同時(shí)傳輸?shù)牡孛嬲净蛘?b class='flag-5'>手機(jī)上,這個(gè)目前可以如何處理? 你好,目前底層是支持4G模塊得驅(qū)動(dòng),參考https
    發(fā)表于 06-16 07:08

    手機(jī)APP遠(yuǎn)程控制,智能家居監(jiān)測(cè)、智能控制系統(tǒng)(STM32L4、服務(wù)器、安卓源碼)實(shí)例項(xiàng)目打包下載

    手機(jī)APP遠(yuǎn)程控制,智能家居監(jiān)測(cè)、智能控制系統(tǒng)(STM32L4、服務(wù)器、安卓源碼)實(shí)例項(xiàng)目打包,推薦下載!
    發(fā)表于 05-29 21:47

    單片機(jī)c語言編程實(shí)例大全

    單片機(jī)c語言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    深入理解C語言:C語言循環(huán)控制

    在C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無限循環(huán),C語言提供了多種循環(huán)控制語句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?2062次閱讀
    深入理解C<b class='flag-5'>語言</b>:C<b class='flag-5'>語言</b>循環(huán)控制