4

angular 2とネイティブスクリプトは初めてです。Web とモバイルで実行できるアプリケーションを作成したいと考えています。このフレームワークを使用してコードを共有し、テンプレートを切り替えるだけでよいと読みましたが、チュートリアルやドキュメントはありません。それで、誰かが私に開始の指示を与えることができれば、どうすればこれを行うことができますか.

ありがとう!

4

3 に答える 3

3

tl;dr : プラットフォーム固有のコードや UI コードをサービスに含めないようにしてください。これらのサービスは、プラットフォーム間で共有できます。

最初に理解しておく必要があるのは、ネイティブ ビューでは、通常のブラウザーと同じマークアップ (div、span、table など) を使用できないことです。そのため、すべての UI を Web とモバイル用に個別にコーディングする必要があります。

Angular 2 のベスト プラクティスに従えば、アプリをコンポーネント、ディレクティブ、およびサービスに分割できます。理想的には、アプリのほとんどのロジックがサービスに配置されます。http、キャッシング、一般的なヘルパー メソッド、グローバル定数などを処理する必要があります。

これらのサービスは、プラットフォーム固有のコードが含まれていない場合、Web とモバイルの間でわずかな変更を加えるか、まったく変更せずに再利用できます。たとえば、httpangular と nativescript-angular によって公開されたものには同じ api があります。したがって、サービスとして http を介して何かを行っていて、そのサービスが UI 要素を操作しない場合 (そうすべきではありません)、そのサービスは Web とブラウザーの両方で動作するはずです。Web プロジェクトとモバイル プロジェクトの間でサービスのディレクトリを共有し、プラットフォーム用にカスタマイズしたいものをすべてオーバーライドできます。

例: バックエンドからユーザーのリストを取得し、リストとして表示するとします。理想的には、BE からのユーザーの JSON リストの promise を返すメソッドUserを持つサービスを用意します。get

  1. モバイルの場合、ネイティブ スクリプト コンポーネントはおそらく を使用ListViewし、サービスをインポートしUser、promise fromgetメソッドを使用してデータを入力します。
  2. Web の場合、コンポーネントがおそらく<li>そのテンプレートに含まれていることを除いて、すべて同じです。

プラットフォーム固有のコードをできる限り排除してサービスを維持することがすべてです。

これが、コードを最大限に再利用できるようにアプリケーションを構築する方法を始めるのに役立つことを願っています。

于 2016-06-21T07:46:02.360 に答える
1

コードを再利用するには、このブログを参照してください。ブログにはGithub のリンクが含まれています。こちらも参照できます。プロジェクトをダウンロードしましたが、問題なく動作します。スクリーンショットも参照できます。プロジェクトで何も変更しませんでした。

私のリポジトリをチェックアウトすることもできます。役立つかもしれません。

お役に立てば幸いです。

ここに画像の説明を入力

于 2016-11-30T08:08:49.230 に答える