swift語(yǔ)言 必死 現(xiàn)在iOS APP開發(fā),用oc語(yǔ)言的多,還是swift語(yǔ)音的多?
現(xiàn)在iOS APP開發(fā),用oc語(yǔ)言的多,還是swift語(yǔ)音的多?我個(gè)人認(rèn)為OC應(yīng)該更多,但是當(dāng)支持swift的Google fusion系統(tǒng)到來(lái)時(shí),我認(rèn)為開發(fā)者會(huì)不由自主地過(guò)渡到swift。為什么不用
現(xiàn)在iOS APP開發(fā),用oc語(yǔ)言的多,還是swift語(yǔ)音的多?
我個(gè)人認(rèn)為OC應(yīng)該更多,但是當(dāng)支持swift的Google fusion系統(tǒng)到來(lái)時(shí),我認(rèn)為開發(fā)者會(huì)不由自主地過(guò)渡到swift。為什么不用一種語(yǔ)言為兩個(gè)系統(tǒng)開發(fā)應(yīng)用程序?
目前編寫一款簡(jiǎn)單的手機(jī)應(yīng)用APP一般用什么編程語(yǔ)言?
用什么語(yǔ)言寫移動(dòng)應(yīng)用?
從簡(jiǎn)單到復(fù)雜,它可以分為三個(gè)層次:事實(shí)上,它是將網(wǎng)頁(yè)封裝成應(yīng)用程序。有很多工具和框架,比如Cordova、uni等等。
以這種方式實(shí)現(xiàn)“應(yīng)用程序”是最簡(jiǎn)單的方法,而且是跨平臺(tái)的。只需為IOS和Android做一個(gè)設(shè)置。價(jià)格是功能弱,性能低,換句話說(shuō)就是“卡”。
這種解決方案在IOS和Android上實(shí)現(xiàn)了本機(jī)框架。通用flutter和react native是流行的native跨平臺(tái)框架。Cocos2d和coronasdk的游戲也可以包括在這個(gè)級(jí)別。
由于IOS和Android可以在跨平臺(tái)、一次性開發(fā)中運(yùn)行,因此這種解決方案在應(yīng)用程序?qū)崿F(xiàn)上有一定難度。功能和性能也是中等的,不如原生應(yīng)用,但比HTML5好得多。
直接在IOS和Android上開發(fā)本機(jī)應(yīng)用程序。
IOS可以使用objective C或swift。
Android可以使用Java或kotlin。
讓我們看一張圖表。雖然很簡(jiǎn)單,但很明顯:
現(xiàn)在國(guó)內(nèi)使用Flutter來(lái)開發(fā)的多嗎?
像仙游這樣的國(guó)內(nèi)開發(fā)團(tuán)隊(duì)在顫振領(lǐng)域做了大量的研究,阿里等公司也越來(lái)越重視這個(gè)框架。
Flitter在中國(guó)的普及率仍然相對(duì)較低,而像recent native這樣的工具似乎被更多的人使用。主要原因是國(guó)內(nèi)大部分開發(fā)人員都從事過(guò)網(wǎng)站開發(fā),所以對(duì)HTML和JS比較熟悉。
因?yàn)閒latter使用的是dart語(yǔ)言,學(xué)習(xí)的成本很高,而且dart的UI設(shè)計(jì)是純代碼的,嵌套很多,這讓初學(xué)者很頭疼。然而,只要你習(xí)慣了任何一種語(yǔ)言,就不難使用它。開始每件事往往是困難的。
既然谷歌已經(jīng)選擇了dart,那里面一定有什么東西。簡(jiǎn)單地比較或者討論,比如動(dòng)態(tài)或者靜態(tài),是否支持反射是沒有意義的。白菜蘿卜各有所愛。支持任何語(yǔ)言都是合理的。關(guān)鍵取決于他的精通程度。
谷歌可能擔(dān)心Java的版權(quán)問(wèn)題,因此強(qiáng)烈建議使用Android本機(jī)語(yǔ)言kotlin。但效果很差。我覺得沒有人會(huì)選擇kotlin,除非Java被禁止。這和人們習(xí)慣使用JS而不喜歡dart的原因是一樣的。但有趣的是,dart可以生成JS代碼。這應(yīng)該是更多人選擇使用它的原因之一。
由于谷歌強(qiáng)烈推薦flatter,這實(shí)際上與它的新系統(tǒng)功能有關(guān),許多人懷疑Android可能會(huì)被谷歌拋棄。坦率地說(shuō),我希望如此。Android的性能是一個(gè)弱點(diǎn)。雖然比以前光滑了,但也不是天生的好。谷歌正在基于其新的鋯石內(nèi)核構(gòu)建一個(gè)新的系統(tǒng),這個(gè)系統(tǒng)類似于鴻蒙的想法,可以支持多種平臺(tái)。
Flitter不僅受到谷歌的重視,也受到國(guó)內(nèi)巨頭的重視。據(jù)估計(jì),像華為這樣的公司對(duì)此特別關(guān)注,因?yàn)樗麄兪堑谝粋€(gè)參加funchsia測(cè)試的中國(guó)公司。由于Google是基于性能需求開發(fā)的flatter,在Android上,flatter組件與native是同一個(gè)渲染引擎,因此性能非常接近native,這也是其他框架的優(yōu)勢(shì)。
很多年前,我們都希望H5能統(tǒng)一世界,但我覺得未來(lái)可能需要dart來(lái)統(tǒng)一。這種后發(fā)優(yōu)勢(shì)可能是谷歌創(chuàng)新的原因。在不影響性能的前提下,快速發(fā)展將是未來(lái)的發(fā)展趨勢(shì)。
2019最新編程語(yǔ)言排行,C家族沒落了嗎,Python有機(jī)會(huì)挑大梁?jiǎn)幔?/h2>
首先,C家族倒下了嗎?如果從代碼的比例、開發(fā)人員的數(shù)量等方面來(lái)看,肯定是在下降。然而,就語(yǔ)言本身的地位而言,C語(yǔ)言在其擅長(zhǎng)的領(lǐng)域(如嵌入式、高密度計(jì)算、底層庫(kù))的地位并未受到動(dòng)搖。至于C,我并不樂觀。從各種排名可以看出,C的發(fā)展速度很慢。每增加一個(gè)新函數(shù),都是由一批長(zhǎng)期研究的學(xué)者決定的,實(shí)用性不強(qiáng)。為什么現(xiàn)在做C/C開發(fā)的人比例減少了?因?yàn)楝F(xiàn)在很多應(yīng)用都需要快速開發(fā)、穩(wěn)定和易于部署。為了實(shí)現(xiàn)這些目標(biāo),Java有許多明顯的優(yōu)勢(shì)。隨著內(nèi)存變得越來(lái)越便宜,JVM消耗的內(nèi)存問(wèn)題也越來(lái)越少。這也是許多互聯(lián)網(wǎng)企業(yè)喜歡使用Java作為基本服務(wù)的原因。
第二個(gè)問(wèn)題是,Python有機(jī)會(huì)領(lǐng)先嗎?簡(jiǎn)而言之,python在很多領(lǐng)域都有明顯的優(yōu)勢(shì),但不可能在所有領(lǐng)域都領(lǐng)先。目前,在機(jī)器學(xué)習(xí)、數(shù)據(jù)處理和可視化,甚至簡(jiǎn)單的前端應(yīng)用程序(如flash)中,Python的性能非常好,開發(fā)速度快,調(diào)試方便,學(xué)習(xí)成本低。然而,在企業(yè)應(yīng)用、操作系統(tǒng)開發(fā)、嵌入式開發(fā)中,Python并不是主流。
PS:作為一種腳本語(yǔ)言,無(wú)論它有多好,python都將繼承腳本語(yǔ)言本身的優(yōu)點(diǎn)和缺點(diǎn)。C是相似的。在可預(yù)見的一段時(shí)間內(nèi),沒有一種語(yǔ)言能夠在所有的應(yīng)用場(chǎng)景中占據(jù)主導(dǎo)地位。畢竟,應(yīng)用場(chǎng)景是非常不同的,甚至不同場(chǎng)景的需求也是矛盾的。任何語(yǔ)言都不可能是最好的。
如果我們要比較語(yǔ)言,我建議我們不要看什么語(yǔ)言是最流行的,但在你的領(lǐng)域,什么語(yǔ)言是主流,并了解為什么其他人選擇他們。