/ Stratégia navrhovania webovej platformy pre rôzne platformy - Cordova, web, parse.com

Stratégia na návrh cross platformovej webovej aplikácie - cordova, web, parse.com

Potrebujem navrhnúť webovú aplikáciu, ktorá bude prístupná prostredníctvom prehliadača, iOS a mobilného telefónu s Androidom. Moje riešenie je:

  • parse.com ako server poskytujúci údaje
  • PhoneGap pre mobilnú aplikáciu

Problém je však v tom, že musím nahrať a upraviť kód PhoneGap na svojho hostiteľa, aby mal prehliadač prístup. To znamená, že môžem mať dve sady podobného ale odlišného zdrojového kódu.

Druhým riešením je:

  • parse.com alebo iný server node.js
  • Stránka servera js (napríklad express.js)
  • Mobilná aplikácia, prehliadač, zdieľali rovnaký kód

Otázka znie, ako mám volať serverkód priamo v mojej aplikácii PhoneGap. (Samozrejme, môžem použiť písanie jednoduchých aplikácií s webovým prehliadačom a pevný kód odkaz na môj server. Ale musím napísať dve rôzne aplikácie v iOS a android. A služby ako PhoneGap build sa v tomto prípade nemôžu použiť. .)

Nejaké návrhy? Vďaka.

odpovede:

0 pre odpoveď č. 1

Myslím, že máte mylné predstavy o tom, čoPhonegap / Cordova je. Cordova prilepí váš html / css / js (html5) kód na natívnu stranu. Ak chcete mať mobilné webové riešenie (napríklad m.yoursite.com, ktoré slúži mobilným prehliadačom), nemusíte nahrávať Cordova na server ani robiť nič súvisiace s Cordova. Svoju stránku html5 môžete stále používať, najmenej však 90% na použitie na mobilnom webe.

Tiež nechápem váš posledný odsek,o priamom volaní servera. Budete to robiť na svojej strane js (ajax, xhr, http), ako vždy. Cordova ani nevie, ani sa nestará o komunikáciu so serverom.

Navrhoval by som použitie mvvm rámca, ako jeangularjs (alebo emberjs, knockout, backbone, atď.), rozvíjajte svoju klientsku stranu a potom pomocou programu Cordova pripojte túto stránku html5 k natívnym platformám ako aplikácia. Váš klientsky kód aplikácií sa bude líšiť iba v prípade, ak používate natívnu funkčnosť (pomocou Cordova), ktorá je dosť triviálna na abstraktné použitie vo webovej verzii.