ホームCross-platformdidi/dimina
didi

dimina

Mobile#Cross-platform#Mini-program#Android#iOS#HarmonyOS
GitHub で見る →
848

// 概要

Dimina は DiDi が開発した軽量なクロスプラットフォーム Mini-Program フレームワークであり、開発者に高性能かつ低コストな開発体験を提供します。本フレームワークは Android、iOS、Harmony、Web の 4 つの主要プラットフォームをサポートしており、既存のアプリへの Mini-Program ロジックの統合や、スタンドアロンアプリケーションとしてのパッケージ化が可能です。リソースのオフライン化、ロジックとビューの分離、ページプリロードといった技術を通じて、Dimina はクロスプラットフォームの実行パフォーマンスを効果的に向上させます。

// 技術解説

Dimina (Xinghe Mini Program) は、 Didi がオープンソース化した軽量なクロスプラットフォーム Mini Program フレームワークであり、統一された開発体験を通じて高性能なクロスプラットフォームアプリケーションのデリバリーを実現することを目指しています。このフレームワークはロジックとビューを分離するアーキテクチャを採用し、独立した JS エンジンを利用することでメインスレッドのブロッキングを回避します。また、 Vue3 をベースにレンダリングシステムを構築し、 DMCC コンパイラを介して Mini Program の構文を Vue の構文に変換します。この設計により、開発者の移行コストを低減するだけでなく、リソースのオフライン化やページのプリロードといった技術的手段を通じて、 Android 、 iOS 、 Harmony 、 Web プラットフォーム上での実行パフォーマンスを大幅に向上させています。

// 主要ハイライト

01
Android 、 iOS 、 Harmony 、 Web の 4 つの主要プラットフォームをサポートし、「一度の開発で複数プラットフォームでの実行」を実現します。
02
ロジックとビューを分離するアーキテクチャを採用し、独立した JS エンジンでロジック層を実行することで、メインスレッドのブロッキングを効果的に回避します。
03
組み込みのリソースオフラインストレージメカニズムにより、ネットワークリクエストを削減し、ページの読み込み速度を向上させます。
04
WebView のウォーミング技術を利用してページのプリロードを実装し、ユーザーのインタラクション応答パフォーマンスを大幅に最適化します。
05
統一されたネイティブ機能カプセル化 API を提供し、開発者が各プラットフォームの基盤となるハードウェア機能を便利に呼び出せるようにします。
06
Vue3 をベースにレンダリングシステムを構築し、 DMCC コンパイラを介して Mini Program 構文から Vue 構文へのシームレスな変換を実現します。

// ユースケース

01
既存の Mini-Program ロジックを独立したモジュールとして現在のアプリに統合する。
02
Mini-Program の構文を使用して開発し、ワンクリックでスタンドアロンのネイティブアプリにパッケージ化する。
03
ネイティブ機能の呼び出しを備えた高性能なクロスプラットフォーム Mini-Program 実行環境を実装する。

// クイックスタート

開発者はまず Mini Program 開発ツールを使用してプロジェクトを作成し、ページロジックを記述してから、 DMCC コンパイラを介してコードを Xinghe Mini Program パッケージにパッケージ化する必要があります。最後に、ターゲットプラットフォーム (Android 、 iOS 、または Harmony) に基づく対応する統合ドキュメントを参照し、 Mini Program パッケージをネイティブ App に統合して、実機でのデバッグとリリースを行います。