国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【HarmonyOS開發(fā)】ArkUI-X 跨平臺框架(使用ArkTs開發(fā)Android&IOS)

這篇具有很好參考價值的文章主要介紹了【HarmonyOS開發(fā)】ArkUI-X 跨平臺框架(使用ArkTs開發(fā)Android&IOS)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

arkui-x,HarmonyOS,harmonyos,android,ios

ArkUI-X 跨平臺框架進一步將 ArkUI 開發(fā)框架擴展到了多個OS平臺,目前支持OpenHarmony、HarmonyOS、Android、 iOS,后續(xù)會逐步增加更多平臺支持。開發(fā)者基于一套主代碼,就可以構(gòu)建支持多平臺的精美、高性能應(yīng)用。

一、跨平臺框架有哪些?

1、React Native

  • React Native 是一個基于 JavaScript 和 React 的開源框架,由 Facebook 開發(fā)和維護。

  • 它使用一種稱為 JSX 的語法,將組件的結(jié)構(gòu)和行為描述為聲明式的代碼。

  • React Native 提供了訪問設(shè)備原生功能的能力,通過使用內(nèi)置的原生組件和模塊,開發(fā)人員可以創(chuàng)建具有原生用戶體驗的應(yīng)用程序。

  • 由于 React Native 的代碼可以在多個平臺上共享和重用,這使得開發(fā)和維護跨平臺應(yīng)用變得更加高效。

2、Flutter

  • Flutter 是一個由 Google 開發(fā)的開源框架,用于構(gòu)建高性能、跨平臺的移動應(yīng)用程序。

  • Flutter 使用 Dart 語言,它具有現(xiàn)代化的語法和特性,包括強類型、異步編程和熱重載。

  • Flutter 提供了自己的渲染引擎,可以實現(xiàn)高性能的用戶界面,并且可以在 iOS、Android 和 Web 平臺上運行。

  • 通過使用 Flutter,開發(fā)人員可以通過一套代碼庫創(chuàng)建漂亮、響應(yīng)式且原生般的應(yīng)用程序。

3、Xamarin

  • Xamarin 是一個跨平臺移動應(yīng)用開發(fā)框架,由 Microsoft 推出。

  • 它使用 C# 語言和 .NET 平臺,開發(fā)人員可以使用共享的代碼庫構(gòu)建原生應(yīng)用程序,包括 iOS、Android 和 Windows。

  • Xamarin 提供了對設(shè)備功能和原生 API 的訪問,開發(fā)人員可以使用 Xamarin.Essentials 來訪問常用的設(shè)備功能,如相機、傳感器等。

  • Xamarin 還提供了豐富的工具和組件庫,以提高開發(fā)效率并簡化跨平臺應(yīng)用程序的創(chuàng)建過程。

4、Ionic

  • Ionic 是一個基于 Web 技術(shù)的開源框架,用于構(gòu)建跨平臺的移動應(yīng)用程序。

  • 它使用 HTML、CSS 和 JavaScript 來構(gòu)建應(yīng)用程序,并通過使用 WebView 在不同平臺上運行。

  • Ionic 結(jié)合了 Angular 框架和 Cordova 插件,提供了豐富的 UI 組件和原生功能的訪問能力。

  • 通過 Ionic,開發(fā)人員可以使用一套代碼庫創(chuàng)建移動應(yīng)用程序,并在 iOS、Android 和 Web 平臺上進行部署。

5、NativeScript

  • NativeScript 是一個開源的跨平臺移動應(yīng)用框架,允許開發(fā)人員使用 JavaScript、TypeScript 或 Angular 構(gòu)建原生應(yīng)用程序。

  • 它通過使用原生組件和 API,以及內(nèi)置的 JavaScript 運行時,將 JavaScript 代碼轉(zhuǎn)換為本機代碼。

  • NativeScript 提供了對設(shè)備功能的訪問,開發(fā)人員可以使用插件來擴展應(yīng)用程序的功能。

  • NativeScript 還支持 Angular、Vue.js 和 React 框架,以滿足開發(fā)人員的不同需求。

6、uniapp

  • UniApp 使用 Vue.js 作為主要的開發(fā)框架,并提供了一套基于 Vue.js 的組件和 API,使開發(fā)人員可以使用熟悉的開發(fā)方式構(gòu)建跨平臺應(yīng)用。開發(fā)人員可以編寫一次代碼,然后通過編譯和轉(zhuǎn)換過程,在不同平臺上生成對應(yīng)的原生應(yīng)用程序。

  • UniApp 提供了訪問設(shè)備功能和原生 API 的能力,開發(fā)人員可以使用插件或內(nèi)置的 API 來實現(xiàn)與設(shè)備的交互,如訪問相機、地理位置、傳感器等。此外,UniApp 還提供了一些特定平臺的擴展能力和優(yōu)化選項,以提供更好的用戶體驗和性能。

二、OpenHarmony的跨平臺ArkUI-X

1、采用 C++?編寫整體后端引擎代碼,保持在多平臺的可移植性,最小化平臺依賴,降低平臺移植成本。?

2、整體繪制采用自渲染機制,降低平臺依賴,同時進一步提升繪制效果的一致性。?

3、抽象出平臺適配層以及平臺橋接層,以便不同平臺的適配。

arkui-x,HarmonyOS,harmonyos,android,ios

1、?下載DevEco Studo 4.0?beta2+

IDE下載地址width=device-width,initial-scale=1.0https://docs.openharmony.cn/pages/v4.0/zh-cn/release-notes/OpenHarmony-v4.0-release.md/#%E9%85%8D%E5%A5%97%E5%85%B3%E7%B3%BB

arkui-x,HarmonyOS,harmonyos,android,ios

2、 安裝ArkUI-X的SDK

2.1 安裝OpenHarmony的API10

arkui-x,HarmonyOS,harmonyos,android,ios

2.1?安裝ArkUI-X的SDK

arkui-x,HarmonyOS,harmonyos,android,ios

3、 創(chuàng)建ArkUI-X項目

3.1 新建 =>?導(dǎo)入 => 導(dǎo)入示例工程

arkui-x,HarmonyOS,harmonyos,android,ios

3.2?基于示例Hello World工程進行ArkUI-X進行開發(fā)

Harmony改為OpenHarmony,然后選擇ArkUI-X下的示例工程

arkui-x,HarmonyOS,harmonyos,android,ios

3.3 創(chuàng)建完成后,自動檢查系統(tǒng)環(huán)境,安裝依賴

arkui-x,HarmonyOS,harmonyos,android,ios

4、?目錄說明

編譯完成后,直接將.arkui-x中的Android/IOS導(dǎo)入對應(yīng)的平臺即可

ArkUI-X應(yīng)用工程
  ├── .arkui-x
  │   ├── android                 // Android平臺相關(guān)代碼
  │   └── ios                     // iOS平臺相關(guān)代碼
  ├── .hvigor
  ├── .idea
  ├── AppScope
  ├── entry
  ├── hvigor
  ├── oh_modules
  ├── build-profile.json5
  ├── hvigorfile.ts
  ├── local.properties
  └── oh-package.json5

arkui-x,HarmonyOS,harmonyos,android,ios

期待可以兼容更多的平臺,eg:Linux、Windows等...

三、擴展:XComponent(動態(tài)加載/EGL/OpenGLES渲染)

遇到一個好玩的組件,在開發(fā)掃一掃功能時用到了,記錄一下

XComponent組件作為一種繪制組件,通常用于滿足開發(fā)者較為復(fù)雜的自定義繪制需求,例如相機預(yù)覽流的顯示和游戲畫面的繪制。?

其可通過指定其type字段來實現(xiàn)不同的功能,主要有兩個“surface”和“component”字段可供選擇。

對于“surface”類型,開發(fā)者可將相關(guān)數(shù)據(jù)傳入XComponent單獨擁有的“surface”來渲染畫面。?

對于“component”類型則主要用于實現(xiàn)動態(tài)加載顯示內(nèi)容的目的。

名稱 描述
SURFACE 用于EGL/OpenGLES和媒體數(shù)據(jù)寫入,開發(fā)者定制的繪制內(nèi)容單獨展示到屏幕上。
COMPONENT XComponent將變成一個容器組件,并可在其中執(zhí)行非UI邏輯以動態(tài)加載顯示內(nèi)容。
TEXTURE 用于EGL/OpenGLES和媒體數(shù)據(jù)寫入,開發(fā)者定制的繪制內(nèi)容會和XComponent組件的內(nèi)容合成后展示到屏幕上。

說明:

type為COMPONENT(“component”)時,XComponent作為容器,子組件沿垂直方向布局:

  • 垂直方向上對齊格式:FlexAlign.Start

  • 水平方向上對齊格式:FlexAlign.Center

@Builder
function addText(label: string): void {
  Text(label)
    .fontSize(40)
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello XComponent'
  @State messageCommon: string = 'Hello World'
  build() {
    Row() {
      Column() {
        XComponent({ id: 'xcomponentId-container', type: 'component' }) {
          addText(this.message)
          Divider()
            .margin(4)
            .strokeWidth(2)
            .color('#F1F3F5')
            .width("80%")
          Column() {
            Text(this.messageCommon)
              .fontSize(30)
          }
        }
      }
      .width('100%')
    }
    .height('100%')
  }
}

動態(tài)加載@BuilderaddText函數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-807986.html

到了這里,關(guān)于【HarmonyOS開發(fā)】ArkUI-X 跨平臺框架(使用ArkTs開發(fā)Android&IOS)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 開發(fā)跨平臺APP,是用Flutter還是React Native開發(fā)框架?

    開發(fā)跨平臺APP,是用Flutter還是React Native開發(fā)框架?

    ?隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,對于開發(fā)人員而言,如何快速地開發(fā)出兼容不同平臺(iOS、Android)的應(yīng)用,成為了一個重要的問題。 跨平臺應(yīng)用程序開發(fā)框架的好處: 1. 一個App適用于多個設(shè)備; 2. 一個App適用于多個平臺; 3. 一個App可以在多個應(yīng)用商店中發(fā)布; 4. 只需編寫

    2024年02月15日
    瀏覽(92)
  • 跨平臺的桌面應(yīng)用程序開發(fā)框架Electron | 開源日報 0906

    跨平臺的桌面應(yīng)用程序開發(fā)框架Electron | 開源日報 0906

    Stars: 109.3k License: MIT Electron 是一個基于 Node.js 和 Chromium 的開源框架,允許使用 JavaScript、HTML 和 CSS 編寫跨平臺的桌面應(yīng)用程序。它被 Atom 編輯器等眾多應(yīng)用程序所采用。該項目具有以下核心優(yōu)勢: 跨平臺:Electron 提供了 macOS、Windows 和 Linux 三個主要操作系統(tǒng)的二進制文件。

    2024年02月09日
    瀏覽(27)
  • 基于Avalonia 11.0.0+ReactiveUI 的跨平臺項目開發(fā)1-通用框架

    Avalonia是.NET的一個跨平臺UI框架,提供了一個靈活的樣式系統(tǒng),支持廣泛的操作系統(tǒng),如Windows、Linux、macOS,并對Android、iOS和WebAssembly提供了實驗性支持。 之前已經(jīng)了解了基于Avalonia的項目在國產(chǎn)麒麟系統(tǒng)中運行的案例。正是Avalonia在跨平臺的出色表現(xiàn),學(xué)習(xí)和了解Avalonia這個

    2024年02月16日
    瀏覽(30)
  • Android:手把手帶你入門跨平臺UI開發(fā)框架Flutter

    Android:手把手帶你入門跨平臺UI開發(fā)框架Flutter

    定義:一款Google出品開源的移動客戶端UI開發(fā)框架(SDK) 作用:用一套代碼同時在Android、iOS上快速構(gòu)建高質(zhì)量、高性能的原生用戶界面 開發(fā)語言:Dart語言(高開發(fā)效率、高性能等) 2. 特點 Flutter的主要特點包括:使用自身的高性能渲染引擎進行渲染 Dart編程語言語言 具體介

    2024年04月13日
    瀏覽(96)
  • 界面開發(fā)框架DevExpress XAF v24.1新版預(yù)告 - 跨平臺應(yīng)用UI(一)

    界面開發(fā)框架DevExpress XAF v24.1新版預(yù)告 - 跨平臺應(yīng)用UI(一)

    DevExpress XAF是一款強大的現(xiàn)代應(yīng)用程序框架,允許同時開發(fā)ASP.NET和WinForms。XAF采用模塊化設(shè)計,開發(fā)人員可以選擇內(nèi)建模塊,也可以自行創(chuàng)建,從而以更快的速度和比開發(fā)人員當(dāng)前更強有力的方式創(chuàng)建應(yīng)用程序。 本文中的內(nèi)容概述了XAF跨平臺.NET應(yīng)用UI和DevExpress .NET App、Web A

    2024年04月13日
    瀏覽(89)
  • 界面開發(fā)框架DevExpress XAF v24.1新版預(yù)告 - 跨平臺應(yīng)用UI(二)

    界面開發(fā)框架DevExpress XAF v24.1新版預(yù)告 - 跨平臺應(yīng)用UI(二)

    DevExpress XAF是一款強大的現(xiàn)代應(yīng)用程序框架,允許同時開發(fā)ASP.NET和WinForms。XAF采用模塊化設(shè)計,開發(fā)人員可以選擇內(nèi)建模塊,也可以自行創(chuàng)建,從而以更快的速度和比開發(fā)人員當(dāng)前更強有力的方式創(chuàng)建應(yīng)用程序。 本文中的內(nèi)容概述了XAF跨平臺.NET應(yīng)用UI和DevExpress .NET App、Web A

    2024年04月23日
    瀏覽(99)
  • Android:手把手帶你入門跨平臺UI開發(fā)框架Flutter,渣本Android開發(fā)小伙如何一步步成為架構(gòu)師

    Android:手把手帶你入門跨平臺UI開發(fā)框架Flutter,渣本Android開發(fā)小伙如何一步步成為架構(gòu)師

    3.1 框架結(jié)構(gòu) Flutter框架主要分為兩層:FrameWork層、Engine層,如下圖所示: 說明:開發(fā)時,主要基于Framework層;運行時,則是運行在 Engine上。每層的具體介紹如下: 3.2 原理概述 開發(fā)時,主要基于Framework層;運行時,則是運行在 Engine上 Engine是Flutter的獨立虛擬機,由它適配 提

    2024年04月16日
    瀏覽(95)
  • 【QT+QGIS跨平臺編譯】之一:【sqlite+Qt跨平臺編譯】(一套代碼、一套框架,跨平臺編譯)

    SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領(lǐng)域項目。它的設(shè)計目標(biāo)是嵌入式的,而且已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它

    2024年01月22日
    瀏覽(95)
  • 【QT+QGIS跨平臺編譯】之七:【libjpeg+Qt跨平臺編譯】(一套代碼、一套框架,跨平臺編譯)

    【QT+QGIS跨平臺編譯】之七:【libjpeg+Qt跨平臺編譯】(一套代碼、一套框架,跨平臺編譯)

    libjpeg是一個廣泛使用的jpeg圖像壓縮和解壓的函數(shù)庫,采用 C 語言開發(fā)。 2013年1月,Independent JPEG Group發(fā)布了版本9,對新引入的無損編碼模式進行了改進。2022年1月,發(fā)布了版本9e,是唯一真正的源參考JPEG編解碼器。 【libjpeg跨平臺編譯】:Windows環(huán)境下編譯成果(支撐QGIS跨平臺

    2024年01月25日
    瀏覽(96)
  • 【QT+QGIS跨平臺編譯】之五:【curl+Qt跨平臺編譯】(一套代碼、一套框架,跨平臺編譯)

    【QT+QGIS跨平臺編譯】之五:【curl+Qt跨平臺編譯】(一套代碼、一套框架,跨平臺編譯)

    (libcurl編譯,依賴OpenSSL、libSSH2等庫) curl(CommandLine Uniform Resource Locator)主要功能就是用不同的協(xié)議連接和溝通不同的服務(wù)器,相當(dāng)封裝了的socket。 libcurl支持http, https, ftp, gopher, telnet, dict, file, 和ldap 協(xié)議。libcurl同樣支持HTTPS證書授權(quán),HTTP POST, HTTP PUT, FTP 上傳(當(dāng)然你也可

    2024年01月23日
    瀏覽(161)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包