berbagi kode angularJS di aplikasi hybrid Ionic dan situs web seluler reguler


11

Ok, jadi di 'lab inovasi' kami, saat ini ada dorongan untuk menggunakan Ionic, kerangka kerja aplikasi hybrid yang dibangun di atas Cordova untuk akses asli dan angularJS untuk 'kode web'.

Ada juga beberapa proyek yang merupakan web seluler murni, menggunakan Angular + bootstrap untuk desain responsif misalnya.

Masalahnya adalah beberapa proyek yang akan datang harus memiliki situs web seluler dan aplikasi asli (hybrid ionik). Sebagian besar fitur dan layar akan sama, berbagi back end dan sebagian besar UI tetapi masih ada beberapa perbedaan.

Jadi pertanyaan saya adalah; Cara membuat arsitektur proyek sehingga dapat berupa proyek ionik dan situs web sudut normal dengan 2 pendekatan penyebaran yang berbeda. Sebagian besar kode digunakan kembali tetapi beberapa tampilan untuk situs web seluler dan beberapa tampilan untuk aplikasi hybrid (menggunakan lebih banyak komponen dan konvensi asli), mungkin beberapa perbedaan rute juga.

Apakah itu ide yang bagus?

Dan dalam kode bersama, apakah ada cara sederhana untuk mengetahui dalam hal apa Anda berada? beberapa IF, beberapa arahan tidak aktif di luar konteksnya, dll.

Rasanya ada semacam tautan yang hilang yang mungkin tidak saya sadari.

Terima kasih sebelumnya.

Jawaban:


2

Anda dapat membangun kernel bersama yang berisi beberapa Komponen atom ( https://docs.angularjs.org/guide/component ) / Layanan.

Aplikasi web, aplikasi android, aplikasi ios, aplikasi pengawasan ... semua akan menggunakan fungsionalitas yang disediakan oleh kernel, dengan cara adaptif.

Bayangkan jika Anda ingin menggunakan aplikasi Android. Menggunakan https://material.io masuk akal, bersama dengan beberapa kemampuan Android. Aplikasi iOS, akan memiliki desain yang berbeda ( https://developer.apple.com/ios/human-interface-guidelines/overview/themes/ ) dll ...

Bangun implementasi yang solid, dan gunakan komponen atom dan sesuaikan!


0

Untuk aplikasi seluler yang menggunakan Ionic, dan aplikasi web menggunakan AngularJS atau Angular, sangat umum bahwa beberapa aplikasi ini memiliki fungsi bersama seperti menyambung ke server dan mendapatkan beberapa data tetapi itu tidak berarti bahwa Anda tidak akan memiliki salinan kode itu. dalam proyek baru Anda.

Maksud saya adalah jika Anda tahu bahwa hanya akan ada perbedaan lapisan UI dan proyek memerlukan aplikasi web dan aplikasi seluler dan Anda dapat memiliki 3-tingkatan di mana UI untuk aplikasi web dapat dalam sudut dan aplikasi seluler dapat di ionik. Manfaat yang Anda dapatkan dari menggunakan fungsi asli seperti cordova phonegap atau ion mungkin jauh lebih baik daripada menyimpannya dalam satu jenis.

Saya hanya ingin menjelaskan bahwa tidak sulit untuk beralih di antara UI ini seandainya klien Anda ingin memiliki aplikasi web yang dikonversi ke aplikasi seluler asli.

Saya akan mulai dengan pertanyaan-pertanyaan berikut

  1. Apakah proyek ini memerlukan UI terpisah untuk seluler?
  2. Apakah proyek ini membutuhkan fungsi seluler asli?
  3. Apakah proyek ini memerlukan UI terpisah dan fungsi yang didukung untuk seluler?

Jika jawaban Anda adalah ya untuk ketiganya maka buat dua proyek. Jika jawaban Anda adalah ya untuk 1 dan 2 maka buat backend sudut dan aplikasi web bersama dengan aplikasi ion atau phonegap. Jika jawaban Anda adalah ya untuk 1 saja maka saya akan merekomendasikan menggunakan sudut untuk keduanya.

Jika suatu saat Anda ingin o menggunakan sudut pandang dalam ionic (mencari hal-hal ion-ng) Anda akan memiliki kode yang sama untuk kedua ujung depan, aplikasi seluler dan aplikasi web. Pada akhirnya Anda akan dapat mengelola hal berikut secara mandiri:

  1. Migrasi Basis Data
  2. Fungsi Backend Sisi Server dengan API yang menghubungkan ke 1 untuk data
  3. Aplikasi web front end menggunakan konsumsi Angular Views 2
  4. Jika aplikasi seluler diperlukan, aplikasi ini menggunakan ionik / phonegap untuk menyelesaikan dependensi perangkat tetapi menggunakan Angular untuk membuat tampilan dan mengonsumsi 2.

Semoga ini bisa membantu dan membuka sedikit diskusi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.