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

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

flutter取代,flutter取代原生

Flutter跨平臺框架(Dart語言)

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

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了樂亭免費建站歡迎大家使用!

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

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

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

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

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

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

基于 Jetpack Compose 1.0

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

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

Jetpack Compose for Android 迎來 1.0 版本

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

Compose for Desktop: 這只是開始

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

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

JetBrains IDE 中的 Compose for Desktop 項目

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

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

也就是說,開發(fā)成果將會是一款被精心包裹起來的 JVM 應(yīng)用程序。JetBrains 還有一款用于解決這個問題的 Kotlin/Native 編譯器,“預(yù)計將在未來發(fā)布,或者專門用于桌面開發(fā)。”

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

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

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

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

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

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

寫在最后

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

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

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

延伸閱讀:

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

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

Python

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

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

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

JavaScript

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

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

Java

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

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

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

C++

也許人們在本文中可以期待的最令人震驚的答案之一是 C++。盡管是大多數(shù)人用來學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法概念的語言,但該語言本身在實際世界中卻很少使用。C++ 最初由 Bjarne Stroustrup 于 1982 年創(chuàng)建,作為 C 編程語言的擴展,在接下來的幾年中繼續(xù)聲名鵲起。

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

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

Typescript

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

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

Golang

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

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

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

Dart

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

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

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


網(wǎng)站名稱:flutter取代,flutter取代原生
網(wǎng)站路徑:http://weahome.cn/article/dssecei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部