一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

先我們先聊聊目前主流手機(jī)操作系統(tǒng),目前就兩大陣營:安卓與IOS。在我國,從市場份額來說安卓的占有率是極高的高達(dá)80%,而蘋果才20%。(2018年數(shù)據(jù))?,F(xiàn)在開發(fā)手機(jī)APP的技術(shù)現(xiàn)在主要分為原生開發(fā)、前端的方式開發(fā)、原生和前端的混合方式,還有目前新出的flutter技術(shù)的開發(fā)方式,接下來我們來詳細(xì)聊聊對應(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ū)成熟、還有對應(yīng)用 JAVA 編寫的安卓庫比較多,你可以很方便的拿來就用。

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

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

安卓最開始的官方首選語言推薦JAVA,自從隨著甲骨文對JAVA有著相應(yīng)的版權(quán),安卓官網(wǎng)為了擺脫這個(gè)束縛,就開始轉(zhuǎn)變編程語言,建議使用 kotlin。對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ā)知識,比如你可以使用前端相關(guān)的開發(fā)框架 vue、react、angular 其中的任意一種,或者不用任何前端框架。如果采用這種方式開發(fā),你就要去學(xué)前端相關(guān)的知識: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)了跨平臺,同時(shí)又節(jié)省了開發(fā)和管理成本,用前端的方式編寫一套代碼,就可以多平臺部署。使用這種方式的優(yōu)勢就是開發(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è)平臺。據(jù)他們說擁有350萬開發(fā)者用戶,旗下uni-app有5萬+案例,600 +插件。如果你選擇使用這個(gè)方式開發(fā)開發(fā)APP,那建議你去學(xué)習(xí) Vue這個(gè)框架 和 前端相關(guān)的基礎(chǔ)知識。以下這張圖羅列了uni-app官網(wǎng)對其框架的詳細(xì)解釋圖,如下所示:

2、React Native

React Native (簡稱RN)是Facebook于2015年4月開源的跨平臺移動(dòng)應(yīng)用開發(fā)框架,是Facebook早先開源的JS框架 React 在原生移動(dòng)應(yīng)用平臺的衍生產(chǎn)物,目前支持iOS和安卓兩大平臺。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ǔ)知識。

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 的對比介紹,要不要選擇這種方式,你可以考慮下,從這張圖中,貌似Flutter的性能會(huì)更好。

小節(jié)

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

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

    關(guān)注

    20

    文章

    2989

    瀏覽量

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

    關(guān)注

    33

    文章

    1587

    瀏覽量

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

    關(guān)注

    10

    文章

    1956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    數(shù)字電路編程語言介紹

    數(shù)字電路編程語言是專門為描述和模擬數(shù)字電路而設(shè)計(jì)的編程語言。它們通常具有以下特點(diǎn): 硬件描述語言(HDL) :大多數(shù)數(shù)字電路
    的頭像 發(fā)表于 01-24 09:39 ?783次閱讀

    gitee 支持的編程語言有哪些

    Gitee(碼云)是一個(gè)基于 Git 的代碼托管和研發(fā)協(xié)作平臺,類似于 GitHub 和 GitLab。它支持多種編程語言,允許開發(fā)者托管和管理代碼,進(jìn)行版本控制,以及協(xié)作開發(fā)。以下是一些
    的頭像 發(fā)表于 01-06 09:50 ?675次閱讀

    三菱PLC編程語言解析

    三菱電機(jī)(Mitsubishi Electric)是全球知名的自動(dòng)化和制造解決方案供應(yīng)商,其PLC(可編程邏輯控制器)產(chǎn)品廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域。三菱PLC編程語言主要基于國際標(biāo)準(zhǔn)IEC
    的頭像 發(fā)表于 12-26 17:36 ?1347次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言
    的頭像 發(fā)表于 12-24 17:33 ?971次閱讀

    如何選擇適合自己的編程語言

    在當(dāng)今這個(gè)技術(shù)日新月異的時(shí)代,編程語言的選擇對于軟件開發(fā)者來說至關(guān)重要。不同的編程語言有著不同的優(yōu)勢和適用場景,因此,選擇合適的編程
    的頭像 發(fā)表于 11-15 09:37 ?1926次閱讀

    編程語言的誤區(qū)與常見問題

    誤區(qū)一:編程語言的選擇 常見問題: 初學(xué)者在選擇編程語言時(shí),往往會(huì)被市場上的熱門語言所吸引,而忽視了自己的實(shí)際需求和興趣。 一些開發(fā)者認(rèn)為某
    的頭像 發(fā)表于 11-15 09:35 ?759次閱讀

    C語言中的socket編程基礎(chǔ)

    Socket編程簡介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語言中,socket編程是網(wǎng)絡(luò)編程的基礎(chǔ)。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)不同計(jì)算機(jī)之間的
    的頭像 發(fā)表于 11-01 16:51 ?1242次閱讀

    單片機(jī)編程語言有哪些選擇

    常用的單片機(jī)編程語言,以及它們的特點(diǎn)和應(yīng)用場景: 1. C語言 特點(diǎn) :C語言是一種通用的編程語言
    的頭像 發(fā)表于 11-01 14:13 ?2437次閱讀

    MCU編程語言和開發(fā)環(huán)境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統(tǒng)的核心,廣泛應(yīng)用于各種電子產(chǎn)品中。隨著技術(shù)的發(fā)展,MCU編程語言和開發(fā)環(huán)境也在不斷進(jìn)步,以適應(yīng)不同的應(yīng)用需求。 1.
    的頭像 發(fā)表于 11-01 11:51 ?2199次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發(fā)領(lǐng)域扮演著重要角色。它以其高效、靈活和可移植性強(qiáng)的特點(diǎn),成為了系統(tǒng)級編程的首選語言
    的頭像 發(fā)表于 10-29 17:30 ?1087次閱讀

    Orin芯片的編程語言支持

    Orin是一款高度集成、高性能的車載計(jì)算平臺,由英偉達(dá)推出,并采用了英偉達(dá)自家的Volta架構(gòu)GPU和其他高級處理器技術(shù)。關(guān)于Orin芯片的編程語言支持,可以從以下幾個(gè)方面進(jìn)行介紹: 一、主要編程
    的頭像 發(fā)表于 10-27 16:45 ?1000次閱讀

    plc編程語言編程相關(guān)技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關(guān)編程技巧是工業(yè)自動(dòng)化領(lǐng)域中不可或缺的知識。 一、PLC編程語言
    的頭像 發(fā)表于 10-21 16:56 ?1118次閱讀

    單片機(jī)WiFi模塊怎樣連接手機(jī)APP

    連接 :將WiFi模塊與單片機(jī)物理連接。 編程單片機(jī) :編寫代碼使單片機(jī)能通過WiFi模塊與互聯(lián)網(wǎng)通信。 創(chuàng)建服務(wù)器 :在單片機(jī)上創(chuàng)建一個(gè)小型服務(wù)器,以便手機(jī)APP可以與之通信。 開發(fā)
    的頭像 發(fā)表于 09-10 15:31 ?3629次閱讀

    labview是什么編程語言寫的

    的一種圖形化編程語言。它并不是用傳統(tǒng)的文本編程語言(如C++、Python等)編寫的,而是采用了一種獨(dú)特的圖形化編程
    的頭像 發(fā)表于 09-04 16:00 ?2222次閱讀

    plc編程st語言怎么編

    PLC(可編程邏輯控制器)編程中的ST(Structured Text)語言是一種高級編程語言,它類似于Pascal或C
    的頭像 發(fā)表于 08-25 10:05 ?2831次閱讀