真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

取代flutter,取代基

uniapp是未來(lái)的趨勢(shì)嗎?

未來(lái)太遙遠(yuǎn),不想這么多,技術(shù)棧幾年一換才是常態(tài)。目前很多應(yīng)用開發(fā)者在嘗試使用uni-app,可以嘗試一下,多學(xué)一點(diǎn)多一個(gè)技術(shù)選擇不是壞事。

十余年的長(zhǎng)春網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整長(zhǎng)春建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“長(zhǎng)春網(wǎng)站設(shè)計(jì)”,“長(zhǎng)春網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

想學(xué)一個(gè)長(zhǎng)久可用的技術(shù),在IT界特別是中國(guó),并不太現(xiàn)實(shí)。如果選擇了前端,那情況只怕是更糟。

uniapp是未來(lái)趨勢(shì)?NO!NO!

說(shuō)uniapp成為趨勢(shì)感覺(jué)有點(diǎn)好笑。

不懂行的可能不了解,我就換個(gè)說(shuō)法。

我可以說(shuō)手機(jī)行業(yè)小米手機(jī)會(huì)成為未來(lái)的趨勢(shì)嗎?

你認(rèn)為可能性多大?當(dāng)然不可否認(rèn)小米很優(yōu)秀了,當(dāng)然實(shí)話實(shí)說(shuō),這也是相對(duì)的。想變成趨勢(shì)可謂有點(diǎn)夜郎自大。

uniapp是什么?簡(jiǎn)單點(diǎn)說(shuō)說(shuō)吧

一個(gè)基于vue的跨平臺(tái)開發(fā)的框架,有了它你可以寫一套代碼打包成安卓、蘋果安裝包,還可以導(dǎo)出各種小程序,還可以導(dǎo)出h5…,反正功能很強(qiáng)大。

它的出現(xiàn),只要你懂點(diǎn)前端,只要你會(huì)點(diǎn)vue,OK那你就可以開發(fā)APP了。

厲害不厲害?可以說(shuō)在某種程度上確實(shí)很牛逼,很方便,特別又是國(guó)產(chǎn),文檔、demo之類的很多。

平臺(tái)又出有云服務(wù),支付,廣告等各種插件。小白上手也很快。所以一時(shí)圈了很粉,社區(qū)還算湊合吧。

uniapp之所以被越來(lái)越多的人需要,不得不說(shuō)下跨平臺(tái)。

APP開發(fā)跨平臺(tái)確實(shí)是個(gè)剛需,也是一個(gè)真正的趨勢(shì)。畢竟純?cè)_發(fā)一個(gè)APP太復(fù)雜了,成本也高。有些APP根本不需要關(guān)心所謂的性能、流暢度之類的。所以跨平臺(tái),一套代碼完全搞定,可謂是個(gè)不錯(cuò)的選擇。

但是跨平臺(tái)可選性的技術(shù)方案太多,與uniapp直接相對(duì)的,apicloud,在國(guó)產(chǎn)圈也是拉了不少粉。

此外rn,lonic,cordova,weex等之類的前輩仍然具有一定的地位,還有新起來(lái)flutter也是火的不得了。

所以u(píng)niapp只能說(shuō)在小范圍內(nèi)可以說(shuō)很好,但是和那些成熟,風(fēng)靡海內(nèi)外的技術(shù)框架還是有差距的。

uniapp真的好用嗎?

首先,我感覺(jué)它越來(lái)越廢了。有時(shí)真是感覺(jué)積累!

開發(fā)APP就專業(yè)開發(fā)APP吧,你還搞的適配一堆小程序,所以造成越來(lái)越臃腫。文檔雜亂。

有時(shí),選擇你,我就是想僅僅開發(fā)APP。壓根不要小程序!

所以,特別是新手,因此會(huì)有一定的煩惱。

另一個(gè) 值得 吐槽的就是不太穩(wěn)定!

架構(gòu)經(jīng)常換,而且之前的很難兼容!

為此估計(jì)不少人想罵人。特別那些已經(jīng)有了成熟運(yùn)營(yíng)的APP。

再次升級(jí)的話,不好意思,很多東西重寫吧。

從當(dāng)初非自定義組件、自定義組件,再到今天的v3架構(gòu)??芍^一步一個(gè)坑,真的嚴(yán)重依賴它的話,真的花費(fèi)大精力去踩坑了。

當(dāng)然一般的開發(fā)拿來(lái)用用還是不錯(cuò)的

我司項(xiàng)目開始用的h5+那一套,也用uniapp做過(guò)幾個(gè)項(xiàng)目。反正要求不是很高,效果感覺(jué)還可以。

真的真的去完全適配安卓,蘋果的話,要做的還是有很多。

OK,就這了。技術(shù)本身無(wú)所謂好壞,只有適合不適合。

有時(shí)基于時(shí)間、項(xiàng)目成本、人員技術(shù)水平,只要合適就是最好的。

uniapp也一樣,希望它快快成長(zhǎng),快快穩(wěn)定,完善吧!

uniapp目前確實(shí)很火,暫且不說(shuō)uniapp這種框架是不是未來(lái)的趨勢(shì),但大前端絕對(duì)是未來(lái)的趨勢(shì)。

在計(jì)算機(jī)編程領(lǐng)域,前端近幾年的技術(shù)更新速度達(dá)到了頂峰。

這并不是得益于前端的語(yǔ)言優(yōu)勢(shì),而是開放繁榮的生態(tài)。

uniapp這類框架正是前端進(jìn)軍移動(dòng)互聯(lián)網(wǎng)的利刃。

移動(dòng)互聯(lián)網(wǎng)過(guò)時(shí)了嗎?不,移動(dòng)互聯(lián)網(wǎng)正在以新的形態(tài)進(jìn)軍PC。

所以,未來(lái)幾年uniapp這類框架還會(huì)繁榮,而前端慢慢融合,PC與移動(dòng)的前端界限越來(lái)越模糊。

serverless是趨勢(shì),unicloud正好整合了阿里云與騰訊云!

最重要的是unicloud開始標(biāo)準(zhǔn)化,uni-id ,unicloud-admin就是苗頭!

聽(tīng)從開發(fā)者建議且更新頻繁的框架!兩年左右完善度已經(jīng)非常高!

現(xiàn)在他們需要做的功能太多,所以一些細(xì)節(jié)性并未完善,一旦穩(wěn)定下來(lái),他們能把一些細(xì)節(jié)做好,這個(gè)框架與開發(fā)者工具絕對(duì)不容小噓!

免費(fèi)的服務(wù)器,免費(fèi)的框架,對(duì)于初創(chuàng)團(tuán)隊(duì),或者個(gè)人創(chuàng)業(yè)者,有想法的開發(fā)者,可以省大多成本!

自己獨(dú)立完成的項(xiàng)目(超級(jí)檔案)已上架小米,華為,蘋果應(yīng)用商店,同時(shí),各大平臺(tái)小程序也全部上架!

不是。h5類的優(yōu)勢(shì)在于開發(fā)簡(jiǎn)單,周期短,一套代碼跑多端。適合初創(chuàng)快速迭代。任何一個(gè)成熟的產(chǎn)品在達(dá)到一定規(guī)模后,都會(huì)回歸原生,或者混合。這是性能,用戶體驗(yàn),安全等多方面因素決定的。這也是有了rn后,為什么還會(huì)有flutter出現(xiàn)的原因。

何為趨勢(shì)?在互聯(lián)網(wǎng)高速發(fā)達(dá)的時(shí)代,物競(jìng)天擇的規(guī)律同樣適用,這個(gè)開發(fā)平臺(tái)的主要目的就是解決了多平臺(tái)重復(fù),跨平臺(tái)生態(tài)不好,開發(fā)和使用用戶體驗(yàn)不好的問(wèn)題,真正做到了一套代碼全平臺(tái)適用,一勞永逸,同時(shí)還不影響平臺(tái)特色,隨著整個(gè)業(yè)內(nèi)開發(fā)者的用戶數(shù)越來(lái)越多,勢(shì)必會(huì)取代不合時(shí)宜的開發(fā)平臺(tái)。從目前的使用廣度和應(yīng)用產(chǎn)品的市場(chǎng)反饋來(lái)看,它是具備這個(gè)能力的。

uniapp還是很多人用的,尤其在現(xiàn)在這個(gè)時(shí)間,用來(lái)開發(fā)小程序還是不錯(cuò)的

如果沒(méi)有意外的話,他還會(huì)保持現(xiàn)狀很長(zhǎng)時(shí)間

對(duì)于小型項(xiàng)目或者交互要求不高的項(xiàng)目來(lái)說(shuō),基本是夠用的,這種項(xiàng)目又普遍對(duì)成本或者開發(fā)效率非常敏感,在這點(diǎn)做的比uniapp好的確實(shí)不多,所以他的用戶群會(huì)非常穩(wěn)定

至于感覺(jué)上沒(méi)人討論的原因也很簡(jiǎn)單

一是有影響力的開發(fā)人員幾乎不可能是uniapp的用戶,uniapp的用戶多數(shù)也提不出值得討論的內(nèi)容

二是這東西真沒(méi)什么可討論的,上限實(shí)在不高

uniapp目前在國(guó)內(nèi)的生態(tài)很好,因?yàn)榇笄岸耸勤厔?shì),是uniapp在未來(lái)一段時(shí)間內(nèi)還是很火的,個(gè)人認(rèn)為如果創(chuàng)業(yè)階段如果沒(méi)有原生客戶端工程師,只有web團(tuán)隊(duì),uniapp非常適合

目前來(lái)說(shuō)uniapp是 一款很好的開發(fā)小程序的編碼工具,

優(yōu)點(diǎn)有

一:簡(jiǎn)單易學(xué),學(xué)習(xí)成本低。

二:可以跨多個(gè)平臺(tái),制作一套代碼可以在多個(gè)平臺(tái)發(fā)布

三:運(yùn)行比較流暢,運(yùn)行體驗(yàn)更好,兼容weex,組件·api和微信小程序一致

綜合以上幾點(diǎn)來(lái)看uniapp前景不錯(cuò)。

目前確實(shí)有這個(gè)趨勢(shì)。用uniapp開發(fā)了一款app,叫小 時(shí)尚 ,目前已經(jīng)在各大應(yīng)用商店上線。

2022 年將成為主導(dǎo)的頂級(jí)編程語(yǔ)言

編程語(yǔ)言是程序員(開發(fā)人員)用來(lái)與計(jì)算機(jī)進(jìn)行通信的計(jì)算機(jī)語(yǔ)言。它是用任何特定語(yǔ)言(C、C++、Java、Python)編寫的一組指令,用于執(zhí)行特定任務(wù)。編程語(yǔ)言主要用于開發(fā)桌面應(yīng)用程序、網(wǎng)站和移動(dòng)應(yīng)用程序。以下是 2022 年最流行的頂級(jí)語(yǔ)言。

Python

Python 是由 Guido van Rossum 于 1980 年代后期在荷蘭構(gòu)建的。Python 最初是作為 Java 在行業(yè)中的競(jìng)爭(zhēng)對(duì)手而構(gòu)建的,后來(lái)逐漸流行起來(lái)。目前,Python 在研究人員和開發(fā)人員社區(qū)中都非常受歡迎。Python 在 IEEE Spectrum 的語(yǔ)言排名中名列前茅,得分為滿分 100。此外,Python 也很受尊重,支持率高達(dá) 44.1%。

Python 幾乎適用于任何事物。Django 和 Flask 可用于 Web 開發(fā),而 Jupyter 和 Spyder 等科學(xué)工具則用于分析和研究目的。如果您喜歡自動(dòng)化,Selenium 可以幫助您!該語(yǔ)言的靈活性使 Python 幾乎可以在任何地方使用。到目前為止,這些是 Python 中比較流行的產(chǎn)品。Python 的巨大支持基礎(chǔ)(僅次于 JavaScript)產(chǎn)生了大量使用該語(yǔ)言的包、框架,甚至是成熟的開源軟件。

總的來(lái)說(shuō),Python 可能對(duì)數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)有最大的支持。雖然還有其他語(yǔ)言(如 R 和 MATLAB)提供競(jìng)爭(zhēng),但 Python 是數(shù)據(jù)科學(xué)領(lǐng)域的嚴(yán)格統(tǒng)治者。機(jī)器學(xué)習(xí)中使用的大多數(shù)框架和庫(kù)都僅用 Python 編寫,如果想要學(xué)習(xí)機(jī)器學(xué)習(xí)(或一般的數(shù)據(jù)科學(xué)),它可能是最好的語(yǔ)言。

JavaScript

JavaScript 在這一點(diǎn)上幾乎是行業(yè)領(lǐng)導(dǎo)者。JavaScript 最初于 1994 年作為 Netscape Navigator(當(dāng)時(shí)最好的瀏覽器之一)的腳本語(yǔ)言而構(gòu)建,它迅速崛起。直到 2008 年,Google 才在為 Google Chrome 構(gòu)建 V8 引擎時(shí)設(shè)計(jì)了現(xiàn)代 JavaScript。最初由 Netscape 構(gòu)建為 Java 的競(jìng)爭(zhēng)對(duì)手,JavaScript 現(xiàn)在在開發(fā)領(lǐng)域擁有自己的空間。JavaScript 因其流行而被廣泛認(rèn)為是“互聯(lián)網(wǎng)語(yǔ)言”。JavaScript 在開發(fā)者社區(qū)中的支持率最高——高達(dá) 67.7%。一般來(lái)說(shuō),JavaScript 適用于任何類型的開發(fā)活動(dòng),如移動(dòng)應(yīng)用程序開發(fā)、Web 開發(fā)、桌面應(yīng)用程序開發(fā)等。

JavaScript 有各種各樣的庫(kù)和框架,可以在開發(fā)過(guò)程中使用。有用于前端開發(fā)的 Angular、Vue 和 React,而 Node.js 是一種用于后端開發(fā)的非常靈活的語(yǔ)言。Jest 和 Mocha 是兩個(gè)靈活的工具,可幫助設(shè)置單元測(cè)試以檢查功能是否按預(yù)期工作。當(dāng)然,如果您對(duì)其中任何一個(gè)都不太滿意,您可以在前端使用普通的 HTML、CSS 和 JavaScript——就這么簡(jiǎn)單!由于來(lái)自世界各地開發(fā)人員的巨大支持,JavaScript 擁有任何語(yǔ)言都可以夸耀的最多數(shù)量的支持包。盡管如此,人們繼續(xù)構(gòu)建越來(lái)越多的包,以增加使用該語(yǔ)言的便利性。

Java

Java 由 James Gosling、Mike Sheridan 和 Patrick Naughton 于 1991 年構(gòu)建為“Oak”語(yǔ)言,是第一種在全球產(chǎn)生重大影響的語(yǔ)言。雖然新的編程語(yǔ)言使用與 C/C++ 相同的格式,但它融入了某些新思想,使其對(duì)更多人更具吸引力。Java 運(yùn)行的原則是“一次編寫,隨處運(yùn)行”——這意味著具有不同硬件和操作系統(tǒng)配置的系統(tǒng)可以輕松運(yùn)行 Java 程序。

Java 也有各種各樣的庫(kù)和框架,它們?cè)诘讓邮褂?Java。Java 用于通過(guò) Spring 和 Hibernate 進(jìn)行應(yīng)用程序開發(fā)。JUnit 幫助我們?yōu)?Java 項(xiàng)目設(shè)置單元測(cè)試。最重要的是,Java 被用于開發(fā)原生 Android 應(yīng)用程序(Android SDK 本身由 Java 開發(fā)工具包或 JDK 提供支持)。Java 可能是大多數(shù)人在大學(xué)或?qū)W校的計(jì)算機(jī)編程入門課程中被介紹的語(yǔ)言。Java 是用于向大眾教授面向?qū)ο缶幊痰恼Z(yǔ)言。

Java 在分析和研究領(lǐng)域也備受推崇。Java 唯一的問(wèn)題是目前該語(yǔ)言的支持包和項(xiàng)目很少。很少有社區(qū)參與——這是大多數(shù)主流語(yǔ)言都有的。盡管如此,Java 是一種非常容易掌握和學(xué)習(xí)的語(yǔ)言——這在一定程度上解釋了該語(yǔ)言的吸引力。但是,要掌握某種形式的語(yǔ)言確實(shí)需要一些時(shí)間。

C++

也許人們?cè)诒疚闹锌梢云诖淖盍钊苏痼@的答案之一是 C++。盡管是大多數(shù)人用來(lái)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法概念的語(yǔ)言,但該語(yǔ)言本身在實(shí)際世界中卻很少使用。C++ 最初由 Bjarne Stroustrup 于 1982 年創(chuàng)建,作為 C 編程語(yǔ)言的擴(kuò)展,在接下來(lái)的幾年中繼續(xù)聲名鵲起。

C++ 可用于分析、研究以及 游戲 內(nèi)開發(fā)。流行的 游戲 開發(fā)引擎——虛幻引擎——使用 C++ 作為腳本語(yǔ)言,用于構(gòu)建 游戲 時(shí)可以定義的所有功能。C++ 在軟件開發(fā)中也有廣泛的用途。介于面向?qū)ο蠓椒ê兔嫦蚍椒ǚ椒ㄖg,C++ 可以靈活地使用它生成的軟件的性質(zhì)。在 TIOBE 指數(shù)中排名第 4 意味著 C++ 至今仍具有吸引力。C++也廣泛用于系統(tǒng)軟件開發(fā),比其他語(yǔ)言更容易理解。在操作系統(tǒng)等敏感領(lǐng)域使用 C++ 的主要原因是 C++ 程序的編譯時(shí)間非常短。

C++ 可能擁有所有語(yǔ)言中最大的學(xué)習(xí)社區(qū)。大多數(shù)學(xué)生會(huì)開始他們的算法課程,用 C++ 構(gòu)建樹、鏈表、堆棧、隊(duì)列和許多其他數(shù)據(jù)結(jié)構(gòu)。當(dāng)然,只要注意細(xì)節(jié),它就很容易上手和學(xué)習(xí),也很容易掌握。

Typescript

TypeScript 是 JavaScript 的超集,具有與 JavaScript 幾乎相同的應(yīng)用程序。TypeScript 可用于 Web 開發(fā)、移動(dòng)應(yīng)用程序開發(fā)、桌面應(yīng)用程序開發(fā)等。在 StackOverflow 的最受歡迎語(yǔ)言列表中,TypeScript 是第二受歡迎的語(yǔ)言,受到 67.1% 的開發(fā)人員的喜愛(ài)(僅次于 Rust)。

TypeScript 主要是一種用于開發(fā)的語(yǔ)言,因此它對(duì)科學(xué)界沒(méi)有太大吸引力。但是,由于 TypeScript 的新功能,可以預(yù)期它可能會(huì)激發(fā)更大程度的研究興趣。該語(yǔ)言的技能上限比 JavaScript 低得多——并且 JavaScript 的許多“難以理解”的行為已在 TypeScript 中得到簡(jiǎn)化。換句話說(shuō),您將頭撞到墻上的機(jī)會(huì)略小。

Golang

新語(yǔ)言正在迅速崛起,新的競(jìng)爭(zhēng)者即將挑戰(zhàn) JavaScript 和 Python 擁有的寶座。由谷歌(兩者的名字中都有“Go”?。┲饕菫榱送七M(jìn)函數(shù)式編程的事業(yè),Golang 在短時(shí)間內(nèi)建立了大量的追隨者。Golang 已經(jīng)成為 StackOverflow 第五大最適合學(xué)習(xí)的語(yǔ)言,受到 62.3% 的開發(fā)人員的喜愛(ài)。

Golang 用于多個(gè)領(lǐng)域,用于開發(fā)強(qiáng)大的軟件以及用于 Web 和移動(dòng)應(yīng)用程序的后端。目前,Golang 甚至支持一些基本的 Web 開發(fā)。雖然它仍處于取代 JavaScript 作為網(wǎng)絡(luò)語(yǔ)言的階段,但它正在迅速成為支持下一階段網(wǎng)絡(luò)的語(yǔ)言。

Golang 比此列表中的其他語(yǔ)言更難學(xué)習(xí)。此外,Golang 是一種開源語(yǔ)言,每次重大更新都會(huì)頻繁更改,因此保持更新是必要的。

Dart

Dart 是工業(yè)領(lǐng)域發(fā)展最快的語(yǔ)言之一。谷歌在語(yǔ)言領(lǐng)域的貢獻(xiàn)顯著增加,以與微軟的 TypeScript 日益流行的競(jìng)爭(zhēng)相抗衡。Dart 因其簡(jiǎn)單性而受到世界各地程序員的高度喜愛(ài)。

Dart 用于多平臺(tái)應(yīng)用程序開發(fā)。與 JavaScript 一樣,Dart 用于構(gòu)建任何人都可以使用電子設(shè)備運(yùn)行的軟件。目前 Dart 最著名的用途是 Flutter 框架,F(xiàn)lutter 是一種用于移動(dòng)應(yīng)用程序開發(fā)的語(yǔ)言。最近的谷歌趨勢(shì)表明,F(xiàn)lutter 盡管是一個(gè)較新的框架,但比 React Native 更受歡迎,后者是業(yè)界已經(jīng)建立的移動(dòng)應(yīng)用程序開發(fā)框架。

Dart 比 JavaScript 更容易學(xué)習(xí),并且能夠很好地簡(jiǎn)化甚至難以理解的案例。隨著市場(chǎng)上的 TypeScript 和 Dart 的出現(xiàn),程序員在選擇一種他們真正想要學(xué)習(xí)的語(yǔ)言時(shí)會(huì)面臨多種選擇。

為什么除了Flutter之外,我們還需要另一個(gè)跨平臺(tái)開發(fā)框架?

不久前,谷歌正式推出 Jetpack Compose 1.0 版本。近日,JetBrains 在此基礎(chǔ)上發(fā)布了 Compose Multiplatform Alpha 版本,旨在將 Compose 擴(kuò)展到桌面和 Web 端。

Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 組成,通過(guò) Kotlin Multiplatform 支持許多不同的平臺(tái)。其中,Compose Desktop 采用 Google 的 Skia 圖形庫(kù),來(lái)實(shí)現(xiàn)在 Windows、macOS 和 Linux 上的 UI 繪制,借此在所有支持的操作系統(tǒng)中提供統(tǒng)一的體驗(yàn),類似于 Flutter 的做法。

根據(jù) Kotlin 團(tuán)隊(duì)的說(shuō)法,相比起 Electron 框架,Compose Multiplatform 在內(nèi)存消耗、安裝大小和 UI 渲染性能等方面將有更明顯的優(yōu)勢(shì)。隨著 Alpha 版本的發(fā)布,Compose Multiplatform 還收獲了新的 Android Studio 插件,包括對(duì)在 IDE 中顯示組件預(yù)覽的支持以及許多附加功能。

我們希望通過(guò)本文幫助大家進(jìn)一步了解 Compose 的跨平臺(tái)能力,以及 JetBrains 將 Compose 從 Android 擴(kuò)展到這些其他平臺(tái)背后的主要驅(qū)動(dòng)力是什么。

基于 Jetpack Compose 1.0

由谷歌打造的 Jetpack Compose 是一款用于在 Android 應(yīng)用程序之內(nèi)構(gòu)建用戶界面的官方框架,上周剛剛發(fā)布 1.0 版本。與此同時(shí),Android Studio 代號(hào)“極狐”的首個(gè)穩(wěn)定版 2020.3.1 也正式亮相。

盡管才剛迎來(lái) 1.0,但谷歌表示“目前 Play Store 中已經(jīng)有超過(guò) 2000 款應(yīng)用程序在使用 Compose——更重要的是,就連 Play Store 這款應(yīng)用本身也在使用 Compose?!惫雀璺矫孢€表示,“我們一直在與一些頂級(jí)應(yīng)用的開發(fā)人員進(jìn)行合作,他們的反饋和支持幫助我們使 1.0 版本更加強(qiáng)大。”

Jetpack Compose for Android 迎來(lái) 1.0 版本

Compose 基于 Kotlin 開發(fā),而 Kotlin 與 Android Studio(即官方指定的 Android IDE)均來(lái)自開發(fā)工具廠商 JetBrains。雖然 Jetpack Compose 專為 Android 打造(與谷歌的 Flutter 框架不同), 但 JetBrains 公司堅(jiān)信 Compose 完全能夠獲得跨平臺(tái)能力 。

Compose for Desktop: 這只是開始

Compose Multiplatform 可以說(shuō)是該框架面向 MacOS、Linux、Windows 以及 Web 開設(shè)的一個(gè)端口,目前剛剛發(fā)布 1.0 Alpha 版本。雖然尚處于早期開發(fā)階段,但 JetBrains 表示,其已經(jīng)“為開發(fā)人員帶來(lái)能夠基本安全使用的穩(wěn)定 API”。

TheRegister 就此事詢問(wèn)了 JetBrains 公司 Compose 項(xiàng)目負(fù)責(zé)人 Nikolay Igotti,希望了解為什么該公司在擁有了已經(jīng)廣泛應(yīng)用于 IntelliJ IDEA IDE 及多種豐富變體的桌面應(yīng)用程序跨平臺(tái) Java 框架之外,還要費(fèi)力開發(fā) Compose for Desktop。Igotti 的回答是,“舊有 Java 框架基本上就是修改版的 Swing。Swing 屬于默認(rèn) JDK UI 框架,Swing 和 AWT(Abstract Windows Toolkit,抽象窗口工具包)。Compose 則完全是另一碼事,當(dāng)然我們也在設(shè)計(jì)中考慮到了互操作性需求……Swing 這套框架太陳舊了,最早出現(xiàn)在上世紀(jì)九十年代末。多年來(lái)人們對(duì)于 UI 的設(shè)計(jì)思路已經(jīng)天翻地覆,Swing 顯然滿足不了要求了?!?/p>

JetBrains IDE 中的 Compose for Desktop 項(xiàng)目

Compose 與 Swing 有一個(gè)比較大的共同點(diǎn):與其他使用本機(jī)控件的跨平臺(tái)框架,比如例如 Java 的 SWT(Standard Widget Toolkit)以及微軟的 Xamarin 有所不同,它們選擇自主繪制控件。Compose 使用的 Skia 開源圖形庫(kù),也在谷歌 Chrome、Flutter 及其他眾多框架當(dāng)中得到廣泛應(yīng)用。那這是否意味著 Compose 應(yīng)用程序?qū)](méi)有自己的原生外觀?對(duì)此,Igotti 的回應(yīng)是,“這取決于開發(fā)人員的選擇,取決于他們?nèi)绾螢閼?yīng)用程序設(shè)置主題。在這方面,Compose 的情況與 Flutter 等其他框架沒(méi)什么區(qū)別。”

那 Compose for Desktop 應(yīng)用程序是否依賴于 JVM(Java Virtual Machine)運(yùn)行?Igotti 表示,“我們也知道,JVM 應(yīng)用程序的發(fā)布情況可能比較棘手。因此我們提供自己的 Gradle 插件,其使用 jpackage 與 Jlink 以 JVM 應(yīng)用程序?yàn)榛A(chǔ)制作原生應(yīng)用程序。Mac 的.dmg、Windows 的 MSI、Linux 的 deb 包等均可實(shí)現(xiàn),大家用不著擔(dān)心 JVM?!?/p>

也就是說(shuō),開發(fā)成果將會(huì)是一款被精心包裹起來(lái)的 JVM 應(yīng)用程序。JetBrains 還有一款用于解決這個(gè)問(wèn)題的 Kotlin/Native 編譯器,“預(yù)計(jì)將在未來(lái)發(fā)布,或者專門用于桌面開發(fā)?!?/p>

對(duì)應(yīng)用程序的另一種思考方式

那 Web 應(yīng)用程序方面呢?Igotti 回應(yīng)稱,“我們使用 Kotlin/JS 編譯器?!盋ompose 的 Web 版本不如桌面版先進(jìn),說(shuō)明文檔中也警告稱“API 尚未最終確定,預(yù)計(jì)會(huì)發(fā)生重大變化?!贝送?,雖然 Web 版本確實(shí)使用 Compose 模型,但 API 卻完全不同,而且會(huì)使用 HTML 與 CSS。所以,Web 版與 Compose for Desktop 之間能夠共享的代碼應(yīng)該比較少。

據(jù) Igotti 介紹,“Compose 代表著一種不同的應(yīng)用程序思考方式。狀態(tài)即 UI 的真實(shí)來(lái)源,而 UI 本身是無(wú)狀態(tài)的,其表達(dá)永遠(yuǎn)由狀態(tài)計(jì)算得出。在這方面,Compose for Web 采用一組相同的原語(yǔ),完全相同的狀態(tài)管理思路。但是對(duì)于具體的小部件集合與排列方式,Web 版與桌面版之間確實(shí)無(wú)法互通?!?/p>

說(shuō)到這里,為什么要把 Compose for Android 擴(kuò)展到多種其他平臺(tái)之上?“Compose 的目標(biāo)受眾主要分為三類。首先是使用 Kotlin 與 Compose 的 Android 開發(fā)人員,他們希望把自己的開發(fā)成果交付至其他平臺(tái);其二是純 Kotlin 開發(fā)人員,他們希望以‘一次編寫、隨處運(yùn)行’的方式開發(fā)新的應(yīng)用程序;第三則是那些不太熟悉 Kotlin 或者 Compose,但又希望開發(fā)出精美 UI 的用戶,我們希望能為他們提供實(shí)現(xiàn)目標(biāo)的工具。”

Igotti 并沒(méi)有給出具體的發(fā)布日期,但表示自己希望 Beta 版能在今年秋天發(fā)布,“我們也希望能在今年之內(nèi)推出 1.0 版本?!表?xiàng)目本身是完全開源的,“二十一世紀(jì)了,框架在大多數(shù)人們心目中就不應(yīng)該收費(fèi)。我們只是想開發(fā)一款長(zhǎng)期缺失的軟件”,補(bǔ)足 JetBrains 當(dāng)前商業(yè)模式中的工具鏈。

那么,JetBrains 會(huì)在自己的其他工具中使用 Compose 嗎?事實(shí)上,他們的 JetBrains Toolbox(用于管理已安裝的 IDE)已經(jīng)在使用 Compose,但 Igotti 表示短時(shí)間內(nèi) Compose 還無(wú)法取代 IntelliJ IDEA 等現(xiàn)有框架。“編輯器是其中最復(fù)雜也最重要的組件,經(jīng)歷了 20 年的發(fā)展演進(jìn),我們幾乎不可能在中途進(jìn)行重寫了。無(wú)論是 JetBrains 還是我個(gè)人,都不打算強(qiáng)迫每個(gè)人都轉(zhuǎn)而使用 Compose。我們的目標(biāo)是為原有框架選項(xiàng)滿足不了的用戶提供新的解決方案?!?/p>

寫在最后

那么,為什么除了 Flutter 之外,我們還需要另一個(gè)跨平臺(tái)框架?雖然谷歌的 Flutter 最開始主要面向移動(dòng)設(shè)備,但現(xiàn)在也開始向桌面及 iOS 進(jìn)軍,甚至比 Compose 還搶先了一步。不過(guò),根據(jù) StackOverflow 的最新調(diào)查, Flutter 使用的語(yǔ)言為 Dart;盡管 Dart 語(yǔ)言的人氣正在增長(zhǎng)(正是受到 Flutter 的推動(dòng)),但仍然無(wú)法與 Kotlin 相提并論。

Compose 代表著一種獨(dú)特的 UI 構(gòu)建方法,也許最期待 Compose 跨平臺(tái)功能的受眾,正是那些曾在 Android 上使用過(guò)它、又特別喜歡這種 UI 構(gòu)建體驗(yàn)的開發(fā)者。

想要進(jìn)一步了解 Compose,國(guó)內(nèi) Android 開發(fā)者可訪問(wèn)以下鏈接查看中文手冊(cè):

延伸閱讀:

Flutter跨平臺(tái)框架(Dart語(yǔ)言)

Flutter是谷歌的移動(dòng)UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來(lái)越多的開發(fā)者和組織使用,并且Flutter是完全免費(fèi)、開源的。(-中文網(wǎng);-英文網(wǎng))

Flutter是一種趨勢(shì),勢(shì)必會(huì)取代RN,成為最主流的跨平臺(tái)開發(fā)框架,基于Dart語(yǔ)言。ios開發(fā)必須Mac電腦。android開發(fā)window、linux、Mac均可。


當(dāng)前標(biāo)題:取代flutter,取代基
網(wǎng)站鏈接:http://weahome.cn/article/dsehcdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部