iOS、Android、ミニプログラムアプリの敷居の低い開発のためのフロントエンドフレームワークを詳しく解説

iOS、Android、ミニプログラムアプリの敷居の低い開発のためのフロントエンドフレームワークを詳しく解説

現在、クロスプラットフォーム開発技術はもはや新しい話題ではありません。市場にはいくつかのオープンソースフレームワークがあり、その中から選択することもできます。ただし、成熟した技術と健全な製品サービスを備えたプラットフォームは多くありません。注目に値する革新的なフレームワークもいくつかあります。

例えば、私が最近使用したAVMは、APICloudがイテレーション的にリリースしたマルチターミナル開発フレームワークです。JavaScriptベースで、複数の構文に対応しており、VueやReactのユーザーであれば、学習コストをかけずにすぐに始めることができます。仮想DOMを持ち、マルチターミナルレンダリングを一度に記述できます。主に、APICloudは7年間オンライン化されており、比較的成熟しているため、AVM公式ドキュメントの内容と組み合わせて、自分の知識と実践の一部を整理し、クロスプラットフォーム開発技術を使用する必要がある開発者の役に立てばと思っています。

AVM フレームワークを学ぶ理由は何ですか?

AVM 公式サイトでの紹介と私自身の実践経験を組み合わせて、一連の AVM 機能をまとめました。これらの内容は、AVM フレームワークを積極的に学習するには十分だと思います。

1. コードセットは、Android、iOS、WeChat アプレット、iOS ライト アプリ、H5 に対応するインストール パッケージまたはコード パッケージにコンパイルできます。

2. APICloud2.0 テクノロジー スタックと互換性があるため、プラットフォーム上で数千の Android および iOS ネイティブ モジュールが利用できます。または、3.0 テクノロジーを古いプロジェクトに部分的に導入し、APP をローカルで最適化します。

3. ネイティブエンジンレンダリング。開発に avm.js を使用する場合、アプリは webView なしでネイティブ エンジン 3.0 を使用してレンダリングされ、すべてのコンポーネントとビューは Android および iOS システムのネイティブ コンポーネントおよびビューと 100% 一致します。

4. Vue のような構文で、React JSX と互換性があります。 Vue または React の基礎知識を持つユーザーはすぐに始めることができます。

5. コンポーネントベースの開発によりコードの再利用性が向上します。

AVMのページ紹介:

AVM のページは stml ページと呼ばれます。典型的な stml ファイル コードは次のとおりです。

<テンプレート>  
    <表示>  
        <view class="header">  
            <テキスト>{タイトル}</テキスト>  
        </ビュー>  
        <view class="content">  
            <テキスト>{コンテンツ}</テキスト>  
        </ビュー>  
        <view class="footer">  
            <text>{フッター}</text>  
        </ビュー>  
    </ビュー>  
</テンプレート>  
<スタイル>  
    .ヘッダー{  
      高さ: 45px;  
    }  
   。コンテンツ {  
      flex-direction:行;  
    }  
    .フッター{  
      高さ: 55px;  
    }  
</スタイル>  
<スクリプト>  
    エクスポートデフォルト{  
       名前: 'api-test',  
         
       アピレディ(){  
           console.log("こんにちは APICloud");  
       },  
 
        データ(){  
           戻る {  
               タイトル:「Hello App」、  
                コンテンツ:「これはコンテンツです」  
                フッター: 'これはフッターです'  
           }  
       }  
    }  
</スクリプト>

データバインディング

上記のコード スニペットから、データ バインディング メソッドは {variable} であることがわかります。これは、変数または式を囲むための二重中括弧と一重中括弧をサポートし、テキスト コンテンツまたは要素属性をバインドするために使用できます。

イベントバインディング

イベントをリッスンする方法は 2 つあります。

監視に使用:

<text onclick="doThis">クリックしてください!</text>

listen するには、v-on ディレクティブと略語を使用します。

<text v-on:click="doThis">クリックしてください!</text>
<text @click="doThis">クリックしてください!</text>

イベント処理方法

イベント処理方法はメソッドで定義する必要があります。メソッドにはデフォルトでパラメータが含まれており、これを通じて詳細、currentTarget オブジェクトなどを取得できます。

<テンプレート>  
    <text data-name="avm" onclick="doThis">クリックしてください!</text>  
</テンプレート>  
<スクリプト>  
   エクスポートデフォルト{  
        名前: 'テスト',  
        メソッド: {  
           doThis(e){  
               api.alert({  
                   メッセージ:e.currentTarget.dataset.name  
                });  
            }  
        }  
    }  
</スクリプト>

イベント処理メソッドでは、次のようなテンプレートを使用することもできます。

<text onclick={this.doThis}>クリックしてください!</text>

以下に、デフォルトのコンポーネントの例をいくつか示します。その他のコンポーネントについては、公式ドキュメントを参照してください。

ビューは、任意のコンポーネントを配置できる一般的なコンテナ コンポーネントです。デフォルトのレイアウトはフレックスレイアウトです。

ビューに直接テキストを追加しないように注意してください。テキストを追加するには、テキスト コンポーネントを使用します。

テキスト コンポーネントは、テキスト情報を表示するために使用されます。

<テンプレート>  
    <スクロールビュークラス="main" スクロール-y>  
       <text class="text">通常のテキスト</text>  
      <text class="text bold">太字テキスト</text>  
        <text class="text italic">斜体テキスト</text>  
        <text class="text shadow">テキストシャドウ効果</text>  
   </スクロールビュー>  
</テンプレート>  
<スタイル>  
    。主要 {  
       幅: 100%;  
       高さ: 100%;  
   }  
   。文章 {  
       高さ: 30px;  
       フォントサイズ: 18px;  
    }  
    。大胆な {  
        フォントの太さ:太字;  
    }  
   .斜体{  
        フォントスタイル:斜体;  
    }  
   。影 {  
        テキストシャドウ:2px 2px #f00;  
   }  
</スタイル>  
<スクリプト>  
   エクスポートデフォルト{  
       名前: 'テスト'  
    }  
</スクリプト>

画像コンポーネントは画像を表示するために使用されます。

ボタン コンポーネントはボタンを定義します。

入力コンポーネントは入力ボックスを定義します。

swiper は、上下または左右へのスライドをサポートするスライディング ビューを定義します。スワイパーアイテムコンポーネントのみを配置できます。

scroll-view はスクロールビューを定義します。

垂直方向にスクロールする必要がある場合は高さを指定する必要があります。水平方向にスクロールする必要がある場合は幅を指定する必要があります。そうしないと、表示されない可能性があります。

ist-view は、メモリ使用量とレンダリング パフォーマンスを最適化できる再利用可能なコンテンツの垂直スクロール ビューを定義し、更新のためのプルダウンと読み込みのためのプルアップをサポートします。 scroll-view の基本的なプロパティを使用できます。

リストビューには、セル、リスト ヘッダー、リスト フッター、リフレッシュなどのコンポーネントを配置でき、セル コンポーネントは各項目の表示コンテンツとして使用されます。

frame コンポーネントはフレームを表示するために使用され、その効果は openFrame メソッドと同じです。

フレーム グループ コンポーネントはフレーム グループを表示するために使用され、その中の各フレームは独立したページです。

コンポーネントベースの開発

コンポーネントを定義します。

stml を使用してコンポーネント api-test.stml を定義します。

<テンプレート>    
    <ビュークラス='ヘッダー'>  
       <text>{this.data.title}</text>  
    </ビュー>    
</テンプレート>    
<スクリプト>  
    エクスポートデフォルト{    
        名前: 'api-test',  
        データ(){  
            戻る {  
                タイトル: 「Hello APP」  
            }  
        }  
    }  
</スクリプト>  
<スタイルスコープ>  
   。ヘッダ{  
       高さ: 45px;  
    }  
</スタイル> 

参照コンポーネント:

他のページまたはコンポーネントで参照されます。

// アプリインデックス.stml:  
  
<テンプレート>    
    <view class="app">    
       <img src="./assets/logo.png" />    
       <api-テスト></api-テスト>   
   </ビュー>    
</テンプレート>  
<スクリプト>  
    './components/api-test.stml' をインポートします    
      
   エクスポートデフォルト{    
        名前: 'app-index',    
        データ: 関数 () {    
           戻る {  
                タイトル: 「Hello APP」  
           }  
        }    
    }    
</スクリプト>    
<スタイル>    
   。アプリ {     
       テキスト配置: 中央;    
        上マージン: 60px;    
    }    
</スタイル> 


JS を使用してコンポーネント/ページを定義します。公式ドキュメントを参照してください。

コンポーネントライフサイクル

avm.js コンポーネント仕様は Web コンポーネント仕様に準拠しており、そのライフ サイクルは標準の Web コンポーネント コンポーネントのライフ サイクルに従います。 Vue コンポーネントのライフサイクルとも互換性があります。

サポートされているすべてのライフサイクルイベント

ライフサイクル関数名

トリガータイミング
アピレディ
ページの実行環境が準備され、レンダリングされました。コンポーネントがページにインポートされていない場合、このイベントはインストール済みと同等になります。
インストール
コンポーネントが実際のDOM(またはアプリのネイティブインターフェース)にマウントされる前
インストール済み
コンポーネントが実際の DOM (またはアプリのネイティブ インターフェイス) にマウントされた後。ページ レベルでは、このイベントは apiready と同等です。
与える
コンポーネントのレンダリングが開始されます
アンインストール
コンポーネントが実際のDOM(またはアプリのネイティブインターフェース)から削除される前に
更新前
コンポーネント更新前
更新されました
コンポーネントの更新が完了しました
レンダリング前
コンポーネントのレンダリングが始まる前に
「各ページは apiready を実装し、apiready の後にビジネス ロジックを処理する必要があります。installed はコンポーネント レベルのライフ サイクルに属し、ページがコンポーネントをロードするときにトリガーされます。これは apiready よりも前です。」

ライフサイクルの詳細については、公式ドキュメントを参照してください。

一般的に、APICloud 開発フレームワークはネイティブ プログラミング エクスペリエンスに近いです。アプリケーションのユーザー インターフェイス、ビジネス ロジック、データ モデルをシンプルなモードで分離し、高度にカスタマイズされたプロジェクトに適しています。さらに、APICloud Web サイトでは、多数のモジュール、例、ツール ソース コードのダウンロードを提供しています。フロントエンドに興味のある方は、ここをクリックして試してみるとよいでしょう。

iOS、Android、ミニプログラムアプリ開発のための敷居の低いフロントエンドフレームワークについての記事はこれで終わりです。敷居の低いフロントエンドフレームワーク開発に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。皆様、今後とも 123WORDPRESS.COM を応援してください。

以下もご興味があるかもしれません:
  • JavaScript フレームワーク デザイン パターンの詳細な説明
  • JavaScript と JQuery フレームワークの基本チュートリアル
  • HongmengシステムのJS開発フレームワーク
  • Hongmeng システムの JavaScript フレームワークの行ごとの分析 (推奨)

<<:  MySql 範囲内の検索時にインデックスが有効にならない理由の分析

>>:  Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

推薦する

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows10)

MySQL 5.7.17 のインストールと設定方法の概要最初のステップは、MySQL公式サイトから...

フロントエンドJavaScriptは関数のカリー化を完全に理解している

目次1. カレーとは何か2. カレーの用途3. カリー化ユーティリティ関数をカプセル化する方法 1....

テキストの展開と折りたたみの効果を実現するJavaScript

リスト形式のテキストの展開と折りたたみの実装は参考までに。具体的な内容は以下のとおりです。必要: 1...

Vueでクラススタイルを使用する方法の詳細

目次1. ブール2. 表現3. マルチクラスパッケージ4. v-bind でクラス class を直...

MySQLでトリガーを作成する方法

この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...

JS の compose 関数と pipe 関数の使い方の詳細な説明

目次作成機能配列プロトタイプの削減Array.prototype.reduceRightパイプ関数作...

左右の幅を固定し、中央の幅を適応させたHTMLレイアウトのソリューションの詳細な説明

この記事では、次のように、誰にでも共有できる左右幅固定のミドルアダプティブ HTML レイアウトソリ...

Dockerは指定されたメモリで操作を実行します

次のように: -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g の...

Centos7 DockerでNginxファイルを変更するプロセスの詳細な説明

1. docker に nginx をインストールします。 docker に Nginx をインスト...

Linux でファイルのユーザーとグループを変更する方法

Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...

Linux のスケジュールされたタスクの crontab のインストールと使用の詳細な説明

crontabをインストールするyum install crontabs CentOS 7が付属して...

Nginx 静的ファイル サービスの構成と最適化の詳細な説明

ルートディレクトリとインデックスファイルroot ディレクティブは、ファイルの検索に使用するルート ...

CSSでスペースを処理する方法

1. 宇宙のルールHTML コード内の空白は通常、ブラウザによって無視されます。 <p>...

Linux SecureCRT の文字化けの解決方法

SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...

Linux echo テキスト処理コマンドの使用法と例

Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラ...