Hybrid Ionic uygulaması ve normal mobil web sitesi üzerinden angularJS kod paylaşımı


11

Tamam, bu yüzden 'inovasyon laboratuvarımızda' yerel erişim için Cordova'nın üzerine inşa edilmiş hibrit bir uygulama çerçevesi olan Ionic'i kullanmak için bir itme ve 'web kodu' için açısalJS var.

Ayrıca, duyarlı mobil tasarım için Angular + bootstrap kullanan saf mobil web olan bazı projeler de var.

Mesele şu ki, bazı projelerin hem mobil bir web sitesine hem de yerel uygulamalara (iyonik hibrit) sahip olması gerekecek. Çoğu özellik ve ekran aynı olacak, arka ucu ve kullanıcı arayüzünün çoğunu paylaşacak, ancak yine de bazı farklar olacak.

Benim sorum şu; Bir projenin hem iyonik bir proje hem de 2 farklı dağıtım yaklaşımı ile normal bir açısal web sitesi olabilmesi için nasıl mimarileceği. Kodun çoğu yeniden kullanılıyor, ancak mobil web sitesi için bazı görünümler ve karma uygulama için bazı görünümler (daha yerel bileşenler ve kurallar kullanarak), belki de bazı yönlendirme farklılıkları da olabilir.

Bu iyi bir fikir mi?

Ve paylaşılan kodda, hangi durumda olduğunuzu bilmenin basit bir yolu var mı? bazı EĞER, bazı direktifler bağlamlarının dışında etkin değil, vb.

Ben farkında olmayabilir eksik bağlantı bir tür var gibi geliyor.

Şimdiden teşekkürler.

Yanıtlar:


2

Bazı Atom Bileşenleri ( https://docs.angularjs.org/guide/component ) / Services içeren paylaşılan bir çekirdek oluşturabilirsiniz .

Web uygulaması, android uygulaması, ios uygulaması, denetim uygulaması ... hepsi çekirdek tarafından sağlanan işlevleri uyarlanabilir şekilde kullanacaktır.

Bir Android uygulaması dağıtmak isteyip istemediğinizi düşünün. Https://material.io kullanmak bazı Android özelliklerinin yanı sıra mantıklı. iOS uygulaması, farklı bir tasarıma sahip olacak ( https://developer.apple.com/ios/human-interface-guidelines/overview/themes/ ) vb ...

Sağlam bir uygulama oluşturun ve atom bileşenleri kullanın ve bunları uyarlayın!


0

Ionic kullanan mobil uygulamalar ve AngularJS veya Angular kullanan web uygulamaları için, bu uygulamalardan bazılarının sunucuya bağlanmak ve bazı veriler almak gibi paylaşılan işlevselliğe sahip olması çok yaygındır, ancak bu, bu kodun kopyasına sahip olmayacağınız anlamına gelmez. yeni projelerinizde.

Demek istediğim, eğer sadece UI katman farklılıkları olacağını ve projenin web uygulaması ve bir mobil uygulama gerektirdiğini ve web uygulaması için UI'nin açısal ve mobil uygulamada iyonik olabileceği 3 katlı olabileceğinizi biliyorsunuz. Cordova phonegap veya ionic gibi yerel işlevleri kullanmanın faydaları, hepsini tek bir tipte tutmaktan çok daha fazla olabilir.

Müşterinizin yerel mobil uygulamaya dönüştürülmüş bir web uygulaması olmasını istemesi durumunda bu kullanıcı arayüzleri arasında geçiş yapmanın zor olmadığını açıkça belirtmek istiyorum.

Aşağıdaki sorularla başlardım

  1. Bu projenin mobil cihazlar için ayrı kullanıcı arayüzüne ihtiyacı var mı?
  2. Bu projenin yerel mobil işlevlere ihtiyacı var mı?
  3. Bu proje, mobil cihazlar için ayrı kullanıcı arayüzü ve yedek işlevlere ihtiyaç duyuyor mu?

Cevabınız her üçü için de evet ise, iki proje oluşturun. Cevabınız 1 ve 2 için evet ise, o zaman iyonik veya telefon boşluğu uygulaması ile birlikte açısal arka uç ve web uygulaması oluşturun. Cevabınız sadece 1'e evet ise, her ikisi için açısal kullanarak tavsiye ederim.

Bir noktada iyonik olarak açısal görünümler kullanmak istiyorsanız (iyonik ng öğelerine bakın), hem ön uç, mobil uygulama hem de web uygulaması için aynı koda sahip olacaksınız. Sonunda aşağıdakileri bağımsız olarak yönetebileceksiniz:

  1. Veritabanı Geçişleri
  2. Veri için 1'e bağlanan API ile Sunucu Tarafı Arka Uç İşlevi
  3. Açısal Görünümler tüketen ön uç web uygulaması 2
  4. Mobil uygulamaya ihtiyaç duyulursa, cihaz bağımlılıklarını çözmek için İyonik / telefon boşluğu kullanır, ancak görünüm oluşturmak ve 2 tüketmek için Açısal kullanır.

Umarım bu yardımcı olur ve biraz tartışma açar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.