/ / Architektúra aplikácií Angular2 (webová, mobilná, natívna) - javascript, angular, redux, jednostránková aplikácia, nativescript

Architektúra aplikácie Angular2 (web, mobilné, natívne) - javascript, angular, redux, single-page-application, nativescript

Umožňuje si predstaviť aplikáciu ng2, ktorá spracováva nasledujúce platformy: web, mobilný web a mobilný natívny počítač.

Vzhľadom na skutočnosť existuje veľa zdieľaných súborov(redux veci ako tvorcovia akcií, redukcie ..., služby, bežné komponenty), všetko by mohlo byť v jednom úložisku. Vo väčšine prípadov existujú rozdiely medzi prihlásením na web, mobilným webom a mobilným natívnym zobrazením v súčasti a smerovaní. Všetko je riadené webpackom, ktorý vytvára všetko pomocou rozšírení .mobile.ts a .desktop.ts. Súbory s príponami .base.ts obsahujú logiku zdieľaného zobrazenia medzi stolnými a mobilnými komponentmi.

Aktuálna (zjednodušená) štruktúra súboru je nasledovná (desktop je webová verzia, mobil je mobile-web):

assets/
app/
/common
actions/
enums/
models/
effects/
pipes/
reducers/
services/
components/
account-list/
account-item/
account-item.component.base.ts
account-item.component.desktop.ts
account-item.component.desktop.html
account-item.component.mobile.ts
account-item.component.mobile.html
index.ts
account-list.component.base.ts
account-list.component.desktop.ts
account-list.component.desktop.html
account-list.component.mobile.ts
account-list.component.mobile.html
index.ts
/modules
/desktop
/accounts
accounts.component.desktop.ts
accounts.component.desktop.html
accounts.routes.desktop.ts
index.ts
/mobile
/accounts
accounts.component.mobile.ts
accounts.component.mobile.html
accounts.routes.mobile.ts
index.ts
app.component.desktop.ts
app.component.mobile.ts
app.module.desktop.ts
app.module.mobile.ts
app.routes.desktop.ts
app.routes.mobile.ts

Ako vidíte, počet súborov rastie tak rýchlo. Bojím sa premýšľať, ako by to mohlo vyzerať pridaním inej natívnej platformy. Bohužiaľ nemôžem nájsť žiadne zaujímavé príklady pre môj prípad.

Jediný, čo som našiel, je: Uhlové semeno Angular2

Zdá sa však, že je tiež divný a neintuitívny.

Máte nejaké rady, ako v tomto prípade zlepšiť štruktúru? Budem vďačný za akúkoľvek pomoc. Ďakujem za radu.

odpovede:

0 pre odpoveď č. 1

Navrhujem, aby ste vytvorili rôzne projekty a vytvorili spoločný balík uhlov, napríklad tento:

  • obyčajný (vrátane uhlových služieb a pomocníkov)
  • web (služby a zobrazenia špecifické pre jednotlivé komponenty a web)
  • mobilný web (súčasti a mobilné webové služby / zobrazenia)
  • mobilná natívne (služby / pohľady špecifické pre jednotlivé komponenty a natívne)

Možno sa môžete spojiť spolu s webom a mobilnou aplikáciou. Ale toto nastavenie pre mňa fungovalo v mnohých projektoch