angular 2とネイティブスクリプトは初めてです。Web とモバイルで実行できるアプリケーションを作成したいと考えています。このフレームワークを使用してコードを共有し、テンプレートを切り替えるだけでよいと読みましたが、チュートリアルやドキュメントはありません。それで、誰かが私に開始の指示を与えることができれば、どうすればこれを行うことができますか.
ありがとう!
angular 2とネイティブスクリプトは初めてです。Web とモバイルで実行できるアプリケーションを作成したいと考えています。このフレームワークを使用してコードを共有し、テンプレートを切り替えるだけでよいと読みましたが、チュートリアルやドキュメントはありません。それで、誰かが私に開始の指示を与えることができれば、どうすればこれを行うことができますか.
ありがとう!
tl;dr : プラットフォーム固有のコードや UI コードをサービスに含めないようにしてください。これらのサービスは、プラットフォーム間で共有できます。
最初に理解しておく必要があるのは、ネイティブ ビューでは、通常のブラウザーと同じマークアップ (div、span、table など) を使用できないことです。そのため、すべての UI を Web とモバイル用に個別にコーディングする必要があります。
Angular 2 のベスト プラクティスに従えば、アプリをコンポーネント、ディレクティブ、およびサービスに分割できます。理想的には、アプリのほとんどのロジックがサービスに配置されます。http、キャッシング、一般的なヘルパー メソッド、グローバル定数などを処理する必要があります。
これらのサービスは、プラットフォーム固有のコードが含まれていない場合、Web とモバイルの間でわずかな変更を加えるか、まったく変更せずに再利用できます。たとえば、http
angular と nativescript-angular によって公開されたものには同じ api があります。したがって、サービスとして http を介して何かを行っていて、そのサービスが UI 要素を操作しない場合 (そうすべきではありません)、そのサービスは Web とブラウザーの両方で動作するはずです。Web プロジェクトとモバイル プロジェクトの間でサービスのディレクトリを共有し、プラットフォーム用にカスタマイズしたいものをすべてオーバーライドできます。
例: バックエンドからユーザーのリストを取得し、リストとして表示するとします。理想的には、BE からのユーザーの JSON リストの promise を返すメソッドUser
を持つサービスを用意します。get
ListView
し、サービスをインポートしUser
、promise fromget
メソッドを使用してデータを入力します。<li>
そのテンプレートに含まれていることを除いて、すべて同じです。プラットフォーム固有のコードをできる限り排除してサービスを維持することがすべてです。
これが、コードを最大限に再利用できるようにアプリケーションを構築する方法を始めるのに役立つことを願っています。
コードを再利用するには、このブログを参照してください。ブログにはGithub のリンクが含まれています。こちらも参照できます。プロジェクトをダウンロードしましたが、問題なく動作します。スクリーンショットも参照できます。プロジェクトで何も変更しませんでした。
私のリポジトリをチェックアウトすることもできます。役立つかもしれません。
お役に立てば幸いです。