紅蒙開発事例|構築環境

 

2019年8月9日、ファーウェイは東莞でファーウェイ開発者カンファレンスを開催し、Hongmengオペレーティングシステムを正式にリリースし、2020年9月にはフルシナリオエコシステムを完全に有効にし、クロスデバイス、サービス転送、超高速の機能を備えたHongmeng 2.0を発表しました。プライバシーとセキュリティには 5 つの主要な機能があると言えます。2021年6月2日のファーウェイの新製品発表カンファレンスでは、Hongmengモバイルオペレーティングシステムが正式にデビューし、ソーシャルメディアから広く注目を集め、国内でもHongmengオペレーティングシステムのアップデートとHongmengの​​開発から学ぶ波が起きた。

この記事では、Hongmeng オペレーティング システムの開発の概要を主に紹介し、Hongmeng オペレーティング システムの特徴、技術アーキテクチャ、技術的特徴から、Hongmeng オペレーティング システムとは何かを紹介します。開発に関しては、開発環境の構築、Hongmeng アプリケーションの作成、Hongmeng アプリケーションのシミュレーターへのデプロイについて紹介します。

01.紅蒙システムの概要

中国神話の古代、盤古崑崙山脈が世界を創造する前、世界は混沌とした生命力の塊であったとされ、その自然の生命力を紅蒙と呼び、人々はその時代を紅蒙時代と呼んだと言われています一般によく使われた、古代のことを指します。2019年8月9日、ファーウェイは東莞でファーウェイ開発者会議を開催し、Hongmengオペレーティングシステム(HarmonyOSまたはHongmengOS)を正式にリリースしました。公式の定義によれば、Hongmeng システムは、あらゆるシナリオ (モバイル オフィス、スポーツと健康、ソーシャル コミュニケーション、メディア エンターテイメントなど) に対応する未来志向の分散オペレーティング システムです。

分析する

Honmeng オペレーティング システムは Android オペレーティング システムに似ていますが、独自の利点もあります。このセクションでは主に、システム特性、技術アーキテクチャ、および技術的特性の側面からHongmengオペレーティングシステムを分析します。

1Hongmeng OSの特徴

ファーウェイのHongmengオペレーティングシステムの利点は、その高い流暢さとクロスプラットフォームの適用性です。このシステムは主に、マイクロカーネルに基づくフルシナリオの分散オペレーティング システムであり、必要に応じて拡張して、より広範なシステム セキュリティを実現できます。その主な特徴は非常に低い遅延であり、ミリ秒レベル、さらにはサブミリ秒レベルに達することもあります。従来の単一デバイスのシステム機能に基づいて、Hongmeng OS は、同じシステム機能セットに基づいて複数の端末形式に適応した分散コンセプトを提案し、複数の端末デバイスをサポートできます。

Honmeng オペレーティング システムには、次の 3 つの大きな特徴があります。

(1) このオペレーティングシステムを搭載した機器をシステムレベルで統合してスーパーターミナルを形成することで、機器のハードウェア機能を柔軟に拡張することができ、機器間のハードウェア相互支援やリソース共有が可能となります。

消費者にとって、Hongmeng オペレーティング システムは、日常生活のシナリオでさまざまな端末の機能を統合し、異なる端末デバイス間での迅速な接続、相互支援、リソース共有を実現し、適切なデバイスを適合させ、スムーズなフルシナリオ エクスペリエンスを提供します。

(2) 開発者にとっては、ワンタイム開発とマルチエンド展開を実現します。

アプリケーション開発者にとって、Hongmeng OS はさまざまな分散テクノロジーを使用して、さまざまな端末デバイスの形式の違いに依存せずにアプリケーション開発を行うことができるため、開発者は上位レベルのビジネス ロジックに集中して、より便利かつ効率的にアプリケーションを開発できるようになります。

(3) オペレーティング システムは、さまざまな機能を持つデバイスのニーズを満たすことができ、統一されたオペレーティング システムと柔軟な展開を実現します。

デバイス開発者向けに、Hongmeng オペレーティング システムは、さまざまな種類の端末デバイスのオペレーティング システム要件を満たすために、デバイスのリソース機能とビジネス特性に応じて柔軟に調整できるコンポーネント化された設計ソリューションを採用しています。

Honmeng オペレーティング システムは、開発者がアプリケーションを開発するために複数の開発言語をサポートする API を提供します。サポートされている開発言語には、Java、XML (Extensible Markup Language)、C/C++、JS (JavaScript)、CSS (Cascading Style Sheets)、および HML (HarmongOS Markup Language) が含まれます。

2Honmeng オペレーティング システムの技術アーキテクチャ

Honmeng オペレーティング システムは全体として、下から上へ、カーネル層、システム サービス層、アプリケーション フレームワーク層、アプリケーション層の階層設計に従っています。システム機能は、「システム → サブシステム → 機能/モジュール」に従って段階的に拡張され、マルチデバイス導入シナリオでは、実際のニーズに応じて一部の非必須サブシステムまたは機能/モジュールがサポートされます。Honmeng オペレーティング システムの技術アーキテクチャを図 1 に示します。

■ 図 1 Honmeng オペレーティング システムの技術アーキテクチャ

1. カーネル層

(1) カーネルサブシステム。Honmeng オペレーティング システムは、リソースに制約のあるさまざまなデバイスに適切なオペレーティング システム カーネルの選択をサポートするマルチコア設計を採用しています。カーネル抽象層 (KAL) は、プロセス/スレッド管理、メモリ管理、ファイル システム、ネットワーク管理、周辺機器管理など、複数のコア間の差異を保護することにより、基本的なカーネル機能を上位層に提供します。

(2) ドライブサブシステム。Honmeng OS Driver Framework (HDF) は、Hongmeng OS ハードウェア エコシステムのオープン性の基礎であり、統合された周辺機器アクセス機能とドライバー開発および管理フレームワークを提供します。

2. システムサービス層

システム サービス層は、Hongmeng オペレーティング システムの中核となる機能セットであり、フレームワーク層を通じてアプリケーションにサービスを提供します。このレイヤーには次のパーツが含まれています。

(1) システム基本機能サブシステム セット: 複数の Honmeng オペレーティング システム デバイス上の分散アプリケーションの操作、スケジューリング、移行およびその他の操作のための基本機能を提供します。分散ソフト バス、分散データ管理、分散タスク スケジューリング、Ark で構成されます。多言語ランタイム、公開基本ライブラリ、マルチモード入力、グラフィックス、セキュリティ、AI、その他のサブシステム。その中で、Ark ランタイム サブシステムは、C/C++/JS 多言語ランタイムと基本システム クラス ライブラリを提供し、Ark コンパイラを使用した静的 Java プログラム (つまり、Java 言語を使用して開発されたアプリケーション層またはフレームワーク層の一部) も提供します。 . ) はランタイムを提供します。

(2) 基本ソフトウェア サービス サブシステム セット: イベント通知、電話、マルチメディア、DFX、MSDP&DV およびその他のサブシステムで構成される、Hongmeng オペレーティング システム用のパブリックおよび一般ソフトウェア サービスを提供します。

(3)強化されたソフトウェアサービスサブシステムセット:スマートスクリーン独自のビジネス、ウェアラブル独自のビジネス、IoT独自のビジネスおよびその他のサブシステムで構成される、さまざまなデバイス向けの差別化された機能強化されたソフトウェアサービスをHongmengオペレーティングシステムに提供します。

(4) ハードウェア サービス サブシステム セット: 位置サービス、生体認証識別、ウェアラブル独自のハードウェア サービス、IoT 独自のハードウェア サービスなどのサブシステムで構成される、Hongmeng オペレーティング システム用のハードウェア サービスを提供します。

さまざまなデバイス形式の展開環境に応じて、基本ソフトウェア サービス サブシステム セット、拡張ソフトウェア サービス サブシステム セット、およびハードウェア サービス サブシステム セットをサブシステムの粒度に従って調整でき、各サブシステムは機能の粒度に従って調整できます。

3. アプリケーションフレームワーク層

アプリケーション フレームワーク層は、Hongmeng オペレーティング システム アプリケーション用の Java/C/C++/JavaScript などの多言語ユーザー プログラム フレームワーク アビリティ フレームワークと、外部に公開されているさまざまなソフトウェアおよびハードウェア サービス用の多言語フレームワーク API を提供します。同時に、Hongmeng オペレーティング システム アプリケーションに多言語ユーザー プログラム フレームワーク アビリティ フレームワークを提供します。デバイスは、C/C++/JavaScript などの多言語フレームワーク API を提供します。さまざまなデバイスでサポートされる API は、コンポーネントの程度に関連しています。システムのカスタマイズ。

4. アプリケーション層

アプリケーション層には、システム アプリケーションとサードパーティの非システム アプリケーションが含まれます。Honmeng OS アプリケーションは、1 つ以上の FA (機能能力) または PA (粒子能力) で構成されます。その中で、FA には UI インターフェイスがあり、ユーザーと対話する機能が提供されますが、PA には UI インターフェイスがなく、バックグラウンドでタスクを実行する機能と統一されたデータ アクセス抽象化が提供されます。FA/PA に基づいて開発されたアプリケーションは、特定のビジネス機能を実装し、クロスデバイスのスケジューリングと配布をサポートし、一貫した効率的なアプリケーション エクスペリエンスをユーザーに提供できます。

3Honmeng オペレーティング システムの技術的特徴

1. ハードウェア相互支援、リソース共有

1) 分散ソフトバス

分散ソフト バスは、さまざまな端末デバイスの統合ベースであり、デバイス間の相互接続に統合分散通信機能を提供します。デバイスを迅速に検出して接続し、タスクを効率的に分散してデータを送信できます。分散ソフトバスの概略図を図 2 に示します。

 

■図2 分散ソフトバスの概念図

2) 分散デバイス仮想化

分散デバイス仮想化プラットフォームは、異なるデバイスのリソース統合、デバイス管理、データ処理を実現し、複数のデバイスが一緒になってスーパー仮想端末を形成します。さまざまな種類のタスクに対して、ユーザーに適切な機能を備えた実行ハードウェアを組み合わせて選択します。これにより、サービスが異なるデバイス間で継続的に流れることが可能になり、異なるデバイスのリソースの利点が最大限に発揮されます。分散デバイス仮想化の概略図を図 3 に示します。

 

■図3 分散デバイス仮想化の概念図

3) 分散データ管理

分散データ管理は、分散ソフト バスの機能に基づいて、アプリケーション データとユーザー データの分散管理を実現します。ユーザー データは単一の物理デバイスにバインドされなくなり、ビジネス ロジックがデータ ストレージから分離され、アプリケーションがデバイス間で実行されるときにデータがシームレスに接続され、一貫したスムーズなユーザー エクスペリエンスを生み出すための基本的な条件が生まれます。分散データ管理の概略図を図 4 に示します。

■図4 分散データ管理の概念図

4) 分散タスクスケジューリング

分散タスク スケジューリングは、分散ソフト バス、分散データ管理、分散プロファイルなどの技術機能に基づいて、クロスデバイス アプリケーションのリモート起動をサポートする統合分散サービス管理 (検出、同期、登録、呼び出し) メカニズムを構築します。リモート通話、リモート接続、移行などの機能では、さまざまなデバイスの機能、場所、ビジネスの運営状況、リソースの使用状況、ユーザーの習慣や意図に基づいて、分散タスクを実行する適切なデバイスを選択できます。図 5 は、分散タスク スケジューリング機能を簡単に示すために、アプリケーションの移行を例に挙げています。

■図5 分散タスクスケジューリングの概念図

2. 一度開発すれば複数の端末にデプロイ可能

Honmeng OS は、ユーザー プログラム フレームワーク、アビリティ フレームワーク、および UI フレームワークを提供し、アプリケーション開発プロセス中に複数の端末のビジネス ロジックとインターフェイス ロジックの再利用をサポートし、アプリケーションのワンタイム開発と複数端末の展開を可能にし、開発効率を向上させます。クロスデバイス アプリケーション。ワンタイム開発とマルチターミナル展開の概略図を図 6 に示します。

■図6 ワンタイム開発と複数端末展開の模式図

3. 統合されたオペレーティング システム、柔軟な導入

コンポーネント化や小型化などの設計手法を通じて、Hongmeng オペレーティング システムはさまざまな端末デバイスのオンデマンドの柔軟な展開をサポートし、さまざまな種類のハードウェア リソースと機能要件に適応できます。コンパイル チェーン関係によるコンポーネント依存関係の自動生成をサポートし、コンポーネント ツリー依存関係グラフを形成し、製品システムの便利な開発をサポートし、ハードウェア デバイスの開発閾値を下げます。

(1) 各コンポーネントの選択をサポートします (コンポーネントはオプションです)。ハードウェアの形状やニーズに応じて、必要なコンポーネントを選択できます。

(2) コンポーネント内の関数セットの構成をサポートします (コンポーネントは大きくても小さくても構いません)。ハードウェア リソースと機能要件に基づいて、コンポーネントに設定する機能を選択して構成できます。たとえば、グラフィックス フレーム コンポーネントでいくつかのコントロールを構成することを選択します。

(3) コンポーネント間の依存関係の関連付けをサポートします (プラットフォームは大きくても小さくても構いません)。コンパイル チェーンの関係に基づいて、コンポーネント化された依存関係を自動的に生成できます。たとえば、グラフィックス フレームワーク コンポーネントを選択すると、依存するグラフィックス エンジン コンポーネントなどが自動的に選択されます。

02.Hongmengオペレーティング システム環境を構築する

Honmeng オペレーティング システムの開発環境は Java 開発環境に基づいており、開発を容易にするために、Huawei の公式 Web サイトでは統合ツール DevEco Studio が提供されています。DevEco Studio のコンパイルと構築は JDK に依存します。DevEco Studio には Open JDK バージョン 1.8 がプリセットされており、JDK はインストール プロセス中に自動的にインストールされます。DevEco Studio を正常に動作させるには、コンピューター構成が次の要件を満たすことをお勧めします: オペレーティング システムは Windows 10 64 ビット、メモリ 8GB 以上、ハードディスク 100GB 以上、解像度 1280×800px 以上。

分析する

開発プロセス中に、UI インターフェイス開発に JS UI フレームワークを使用することを選択できるため、Hongmeng オペレーティング システム環境の構築には DevEco Studio と Node が含まれます。jsのダウンロードとインストール。

1ノード。jsのダウンロードとインストール

ノード。js は JavaScript アプリケーションの開発とプレビュー機能の実行に使用され、Hongmeng オペレーティング システム アプリケーションの開発プロセスに不可欠なソフトウェアです。ノードにログインします。js公式サイトからNodeをダウンロードします。jsパッケージ。LTS バージョンと Windows 64 ビットに対応するソフトウェア パッケージを選択します (図 7 を参照)。

■ 図 7 ノード。js公式サイト

ダウンロードしたソフトウェア パッケージをクリックしてインストールし、デフォルト設定に従って [完了] まで [次へ] ボタンをクリックします。インストールプロセス中に、Node. js はシステムのパス環境変数にノードを自動的に設定します。exe のディレクトリ パス。

2DevEco Studio をダウンロードしてインストールします。

(1) 宏蒙 OS アプリケーション開発ポータルにログインし、右上隅の「登録」ボタンをクリックして、開発者アカウントを登録します (登録方法については、「Huawei アカウントの登録」を参照してください)。すでにHuawei開発者アカウントをお持ちの場合は、「ログイン」ボタンを直接クリックしてください。

説明する

DevEco Studio リモートシミュレータを使用するには、実名認証のための Huawei アカウントが必要です。Huawei アカウントを登録したら、すぐに実名認証のレビューを送信することをお勧めします。認証方法には、「個人の実名認証」と「エンタープライズ実名認証」があります。 -名前認証」 詳細は実名認証を参照してください。

(2) HUAWEI DevEco Studio 製品ページにアクセスし、DevEco Studio インストール パッケージをダウンロードします。

(3) ダウンロードした「deveco-studio-xxxx.exe」をダブルクリックして、DevEco Studio インストール ウィザードを開始します。インストール オプション インターフェイスの DevEco Studio ランチャー チェックボックスをオンにした後、図に示すように、インストールが完了するまで「次へ」ボタンをクリックします。図 8 。

 ■ 図 8 DevEco Studio インストール ウィザード

おすすめ

転載: blog.csdn.net/qq_41640218/article/details/132800479