1. 背景
現在、モバイル アプリケーションのバージョンを更新する最も一般的な方法は定期的にバージョンをリリースすることであり、Android であっても iOS であっても、新しいインストール パッケージはレビューのためにアプリケーション マーケットに提出する必要があります。審査に合格した後、ユーザーはApp Marketからアプリをダウンロードしてアップデートします。動的化とは、アップデーターのインストールパッケージに依存せずに、リアルタイムで動的にページを更新できる技術です。
動的テクノロジーと比較して、アプリケーションを定期的にリリースおよび更新する方法には、次のようないくつかの問題があります。
- 審査サイクルが長く、審査が通らない場合もあります。サイクルが長いため、バージョンのリリースに柔軟性がなくなり、緊急のビジネス ニーズに間に合わなくなります。
- 緊急に修正する必要があるバグがオンラインに現れると、より長い修復サイクルが必要となり、ユーザー エクスペリエンスに影響を与えます。
- インストール パッケージが大きすぎるため、ユーザーは、多くの場合数十メガバイト、または数百メガバイトを必要とするアプリケーションのアップグレードに抵抗がある可能性があります。
- オンラインになってもすべてのユーザーをアップグレードできるわけではなく、サーバーが複数のバージョンのアプリに対応していることに問題があります。
これらの問題に直面しても、アプリの増分的で目に見えない更新を実現し、機能の同期を達成できれば。企業にとってもユーザーにとっても非常に良い経験です。さらに、動的更新は上記の問題も非常にうまく解決できます。
- いつでも機能アップグレードが可能です。
- オンラインのバグをリアルタイムで修正して、ユーザー エクスペリエンスを向上させることができます。
- リリース機能パッケージのサイズを削減します。
- バージョンのリリース後、ユーザーは同期的に更新され、古いバージョンとの互換性の問題は発生しません。
チームの最近の調査と研究の結果、業界の Flutter 動的フレームワークは次のように要約されました。
- MXFlutter (Tencent): js を使用して Dart を記述するため、Dart エコシステムが放棄され、メンテナンスが困難になります。
- MTFlutter (Meituan): レイアウトとロジックに Dart が使用され、構文解析とランタイムが追加されていますが、オープンソースではないため、深く研究することはできません。
- Fair(58): AST+JS を変換する方法を使用し、フレームワーク Fair を表すバンドルと js を発行することでホット アップデートを実現します。 <