記事ディレクトリ
序文
この記事は主に、小さなプログラム フレームワークの実装に関する理論的な知識と、最下層で使用されるいくつかのことを学ぶことを目的としていますが、インタビューに使用できるすべての技術原則を深く掘り下げたり、最下層の内容を理解したりするものではありません。の小さなプログラムが実装されています。参考として使用できます。物事を最適化するための小さなプログラムもいくつかあります。
1. ホスト
ホスト環境
1. WeChat アプレットは WeChat アプリから開かれるため、アプレットのホスト環境は WeChat アプリであると言います。
2. ミニプログラムがどれだけの能力を達成できるかは、WeChat アプリがミニプログラムにどれだけの機能を提供するかによって決まります。
2、走る
1. ミニ プログラムを開く前に、WeChat アプリはミニ プログラム全体のコード パッケージをローカルにダウンロードします。
2. 動作環境
アプレットの実行環境は渲染层
、逻辑层
①レンダリング層のWXML
テンプレートとスタイル作業(端的に言うとhtmlやcssと同じで、基本的には同じです) ②ロジック層のスクリプト作業に分かれます。WXSS
JS
1. 具体的な実装:
1. レンダリングレイヤー:
を使用してwebView
レンダリングする
2. ロジック層:
スレッドを使用してjsCore
js スクリプトを実行します(jsCore
つまり、js スクリプトを実行するスレッド)
3. プラットフォームの違い
iOSやAndroidなどのデバイスが異なるため、jsのサポートにも違いが生じます。したがって、es6+ を使用して小さなプログラムを開発することはできますが、最終的には互換性を高めるためにそれらを es5 にコンパイルする必要があります。
4. 動作機構
1. アプレットの起動にはコールドスタートアップ(バックグラウンドをクリアして破棄する)とホットスタートアップ(バックグラウンドをクリアせずアプリケーションを切り替える)の2種類があります。
2. 実行状態
① サスペンド状態、つまりアプレットがバックグラウンドに切り替わる 現在の公式発表では、アプレットの js スレッドは 5 秒後に停止します。
(発生した問題: タイマーを使用してカウントダウンを作成しましたが、ユーザーがバックグラウンドに切り替えるとカウントダウンが終了するため、時間が不正確になるため、新しい Date を使用してカウントダウンの残り時間を計算する必要があります。 (実際にはまだ不正確です。)
② アプレットに時間がかかると、バックグラウンドのアプレットが破壊されますが、公式によると、現時点では 30 分であるとのことです。
2. 小さなプログラムの最適化
1. 起動の最適化
起動リンク: ユーザーは開始点としてアプレットを開き、ユーザーがアプレットのホームページを見たときに終了します。
最適化手法:パッケージサイズの最適化、コードインジェクションの最適化、ファーストスクリーンレンダリングの最適化
① サブパッケージを利用し、起動に必要なページのみをメインパッケージに配置し、その他の機能ページはサブパッケージに配置し、パブリックコンポーネントが不要な場合はサブパッケージに配置するそれらをパッケージ内のパブリックコンポーネントに配置すると、メインパッケージのコードボリュームも占有します。下請けの利点: 量を減らし、初期負荷を軽減します。
②画像、音声、動画、フォントなどの静的リソースは可能な限りサーバー上に配置し、必ず圧縮してください。
③不要な依存関係の削除もあります。
④ 起動時の同期実行方法を避け、ライフサイクル関数での複雑な計算ロジックを避けます。
⑤ページ内で言いたいのは、レンダリングビューに関係のないデータはデータ内に置かないようにしようということです
⑥データキャッシュ、グローバルデータ共有にstorgeは使わず、起動速度や起動速度を改善できるデータをいくつか入れてくださいページの読み込み時にキャッシュを使用できるため、ユーザー エクスペリエンスがある程度向上します。
要約する
もちろん、一度に複数端末の操作に対応させたい場合は、uniappを使用した方が互換性が高くなります。ただし、さらに拡張機能が必要な場合は、WeChat アプレットの公式ドキュメントを参照してください。
まずはこれくらい。。。