web-dev-qa-db-ja.com

ハイブリッドでのangularJSコード共有Ionicアプリと通常のモバイルWebサイト

さて、私たちの「イノベーションラボ」には、Cordovaの上にネイティブアクセス用に構築されたハイブリッドアプリフレームワークであるIonicを使用するPushと、「Webコード」用のangularJSが現在あります。

Angular + bootstrap forレスポンシブデザインなど)を使用した、純粋なモバイルWebプロジェクトもあります。

問題は、今後のプロジェクトによっては、モバイルWebサイトとネイティブアプリ(イオンハイブリッド)の両方が必要になるということです。ほとんどの機能と画面は同じで、バックエンドとほとんどのUIを共有していますが、それでもいくつかの違いがあります。

だから私の質問です。 ionicプロジェクトと通常のangular 2つの異なる展開アプローチのWebサイトになるようにプロジェクトを構築する方法。ほとんどのコードは再利用されていますが、モバイルWebサイトのいくつかのビューとハイブリッドアプリのいくつかのビュー(より多くのネイティブコンポーネントと規則を使用)、ルーティングの違いもある可能性があります。

それは良い考えですか?

そして、共有コードで、あなたがどちらの場合であるかを知る簡単な方法はありますか?一部のIF、一部のディレクティブはコンテキスト外では非アクティブなど.

私は気付かないかもしれないある種のミッシングリンクがあるように感じます。

前もって感謝します。

11
MikaelW

一部のatomicsコンポーネント( https://docs.angularjs.org/guide/component を含む共有カーネルを構築できます)/サービス。

Webアプリ、Androidアプリ、iOSアプリ、監視アプリ...すべて、カーネルによって提供される機能を適応的に使用します。

Android app。 https://material.io を使用することは理にかなっていると想像してください。いくつかのAndroid機能。iOSアプリは異なるデザインになります( https://developer.Apple.com/ios/human-interface-guidelines/overview/themes/ )など...

強固な実装を構築し、アトミックコンポーネントを使用してそれらを適応させます!

2
Kenny

Ionicを使用するモバイルアプリ、およびAngularJSまたはAngularを使用するWebアプリの場合、これらのアプリの一部は、サーバーへの接続やデータの取得と同様に機能を共有することは非常に一般的ですが、そのコードのコピーがないことを意味するわけではありません新しいプロジェクトで。

私の要点は、UIレイヤーの違いしかなく、プロジェクトにWebアプリとモバイルアプリが必要であり、WebアプリのUIを3層にすることができる場合、angularとモバイルアプリはイオンであることができます。cordovaのphonegapやionicなどのネイティブ関数を使用することで得られるメリットは、すべてを1つのタイプで維持するよりもはるかに多くなります。

クライアントがWebアプリをネイティブモバイルアプリに変換したい場合に備えて、これらのUIを切り替えることは難しくないことを明確にしたいだけです。

私は次の質問から始めます

  1. このプロジェクトにはモバイル用の別のUIが必要ですか?
  2. このプロジェクトにはネイティブモバイル機能が必要ですか?
  3. このプロジェクトには、モバイル用の個別のUIおよびbackedn関数が必要ですか?

3つすべての答えが「はい」の場合、2つのプロジェクトを作成します。 1と2の答えが「はい」の場合、angularバックエンドとWebアプリを、ionicまたはphonegapアプリと一緒に作成します。答えが「はい」から1の場合のみです。私はangularの両方を使用してコメントするでしょう。

angular views in ionic(looking ionic-ng stuff))を使用したい場合は、フロントエンド、モバイルアプリ、およびWebアプリ。最後に、以下を個別に管理できます。

  1. データベースの移行
  2. データ用に1に接続するAPIを備えたサーバー側バックエンド機能
  3. Angularビューを使用するフロントエンドWebアプリ2
  4. モバイルアプリが必要な場合、デバイスの依存関係を解決するためにIonic/phonegapを使用しますが、Angularを使用してビューを作成し、2を使用します。

これがお役に立てば幸いです。

0
Farrukh Subhani