React (Redux ile) ve Açısal 2 arasında seçim yapmak için 3 aylık uzun bir tartışma ve araştırmadan sonra, şirketimdeki ön uç ekip (sorunumuza daha uygun olduğu göz önüne alındığında) Açısal 2 ile gitmeye karar verdi.
Şu anda birçok farklı ön uç teknolojiden (tüm arka uç RESTful'a sahipken) oluşan kurumsal uygulama işindeyiz ve hepsini değiştirmek ve gelecekteki eğitim ve kalite kontrolünü kolaylaştırmak için tek bir teknolojiye sahip olmak istedik.
Ürünümüzün doğası göz önüne alındığında, çok geniş ve kendi içinde farklı bir etki alanı olan ve bağımsız bir uygulama olarak yapılabilen modüller var, ancak ürünün kendisi tek bir URL'de yaşıyor.
Misal;
Ürünümü SuperApp olarak adlandıralım.
Bir kullanıcı arayüzü olarak, SuperApp standart giriş sistemine ve alt modüllere / alt ürünlere navigasyona sahiptir, böylece iş akışı aşağıdaki gibi görünür.
SuperApp
- Kullanıcının Kimliğini Doğrula
- Parola unut sihirbazı
- Herkese açık sayfaya kimlik doğrulaması olmadan erişilebilir
Doğrulanmış kullanıcı
Navigasyon sistemi
- Ev
- Alt product1
- Alt product2
- Alt product3
Profil
...
...
Gruplar
...
...
- Ev
Yukarıdaki temsilde Sub-product1
ve Sub-product2
tamamen farklı iş alanlarına sahip iki farklı alan olduğunu unutmayın.
Şu anda düşünebileceğim şey, SuperApp'ı yalnızca kendisiyle ilgili bileşenlere ve görünümlere sahip tek bir Açısal 2 projesi olarak oluşturabildiğim ve SuperApp'ın birden çok alt uygulamanın yüklenmesinden de sorumlu olduğu; Sub-product1
, Sub-product2
(yine, farklı Angular 2 projeleri, kendilerine ait package.json
, webpack
yapılandırma, vb.) ve aptal bileşenler aracılığıyla ve üst düzey yönlendirme ve bu alt uygulamaları tutmak için bir yer tutucu sağlayan bir kabuk görevi görür.
Sub-product1
Kabuk içine yüklendikten sonra, SuperApp'in indiği geçerli rotaya kendi yollarını ekler.
Ayrılmayı istememin nedeni, şu anda ExtJS kullanılarak oluşturulan bu farklı uygulamaların üzerinde çalışan özel ekiplere sahip olması (500'den fazla geliştiriciye sahip bir şirketiz), bu yüzden kendi Açısal projelerine sahiplerse, araçlarını yönetebilirler ve büyük ebeveyn uygulamasına güvenmeden beğenilerine bağımlılıklar.
Ancak, resmi Açısal dokümanlarda veya web'de herhangi bir yerde, iç içe Açısal uygulamalara sahip olmanın mümkün olup olmadığını (alt uygulamaların bağımlılıkları yalnızca uygulama olduğunda tamamen ayrılmış ve yüklenirken çerçeve kodunun paylaşılacağı şekilde) bulamıyorum veya böyle bir sorunu çözmek için alternatif bir yaklaşım olup olmadığı).
Herhangi bir rehberlik ve hatta ilgili makalelere bağlantılar takdir edilecektir.