A webes alkalmazások vagy akaratlanul cseréje a régi asztali alkalmazásokat. Ezek sokkal kényelmesebb használni, ezek könnyen frissíthető, de nem kötődik egy eszköz. Annak ellenére, hogy a felhasználók a böngészőalapú webes alkalmazásoktól a mobil alkalmazásokig óvatosan mozognak, az összetett és kifinomult alkalmazások iránti kereslet már most is hatalmas, és még mindig növekszik., Ha saját alkalmazás létrehozására gondol, akkor valószínűleg hallotta, hogy a webes alkalmazásokhoz két fő tervezési minta létezik: többoldalas alkalmazás (MPA) és egyoldalas alkalmazás (SPA). Természetesen mindkét modellnek vannak előnyei és hátrányai.

mielőtt elkezdené ötletét valódi alkalmazássá alakítani, meg kell válaszolnia egy csomó fontos kérdést. Annak eldöntéséhez, hogy melyik alkalmazásmodell jobb az Ön számára, kövesse a tartalom-első megközelítést, amely hangsúlyozza annak fontosságát, hogy az alkalmazás tartalmát minden más elé helyezze., Ennek oka az, hogy a tartalom a fő oka annak, hogy a felhasználók használni fogják vagy nem fogják az alkalmazást. Ez pedig a legfontosabb kérdésekhez vezet: milyen tartalmat szeretne bemutatni, és milyen tartalmat fog a legjobban érdekelni a felhasználók.

számos előnye és hátránya van a SPA-nak, valamint az MPA-nak. Remélem, hogy az alábbi sorok tisztázzák a két tervezési minta közötti különbségeket, és közelebb hozzák Önt ahhoz a ponthoz, ahol tudni fogja, hogy milyen alkalmazás illik jobban az ötletéhez. És hogy az ötlet a saját alkalmazás valóra.,

az egyoldalas alkalmazás olyan alkalmazás, amely böngészőn belül működik, és nem igényel oldal újratöltést használat közben. Ön használja az ilyen típusú alkalmazások minden nap. Ezek például: Gmail, Google Maps, Facebook vagy GitHub.
a gyógyfürdők egy kiemelkedő UX kiszolgálásáról szólnak, ha megpróbálnak utánozni egy” természetes ” környezetet a böngészőben — nincs oldal újratöltése, nincs extra várakozási idő. Ez csak egy weboldal, amelyet meglátogatsz, majd betölti az összes többi tartalmat a JavaScript használatával — amely nagymértékben függ.,

a SPA önállóan kéri a jelölést és az adatokat, majd az oldalakat egyenesen a böngészőben jeleníti meg. Meg tudjuk csinálni ezt köszönhetően a fejlett JavaScript keretek, mint AngularJS, Ember.js, Meteor.js, Knockout.js .
az egyoldalas oldalak segítenek abban, hogy a felhasználó egy kényelmes webes térben maradjon, ahol a tartalmat egyszerű, könnyen kezelhető módon mutatják be a felhasználónak.

az egyoldalas alkalmazás előnyei:

  • SPA gyors, mivel a legtöbb erőforrás (HTML+CSS+szkriptek) csak egyszer töltődik be az alkalmazás élettartama alatt. Csak az adatokat továbbítják oda-vissza.,
  • a fejlesztés egyszerűsödik és egyszerűsödik. Nincs szükség kód írására az oldalak kiszolgálón történő megjelenítéséhez. Sokkal könnyebb elkezdeni, mert általában elindíthatja a fejlesztést egy fájlfájlból: / / URI, anélkül, hogy bármilyen szervert használna.
  • a SPAs könnyen hibakereshető a Chrome-mal, mivel nyomon követheti a hálózati műveleteket, megvizsgálhatja az oldalelemeket és a hozzá kapcsolódó adatokat.
  • könnyebb mobilalkalmazást készíteni, mert a fejlesztő ugyanazt a backend kódot használhatja a webes alkalmazásokhoz és a natív mobilalkalmazásokhoz.
  • a SPA bármilyen helyi tárolót hatékonyan gyorsítótárazhat., Egy alkalmazás csak egy kérést küld, tárolja az összes adatot, majd használhatja ezeket az adatokat, sőt offline is működik.

hátrányok az egyoldalas alkalmazás:

  • ez nagyon trükkös, nem könnyű feladat, hogy SEO optimalizálás egy egyoldalas alkalmazás. Tartalmát az AJAX (aszinkron JavaScript és XML) tölti be-ez egy módszer az adatok cseréjére és az alkalmazás frissítésére az oldal frissítése nélkül.
    frissítés 27.09.2017: az ő megjegyzés, Iris Shaffer helyesen rámutatott, hogy meg lehet tenni a szerver oldalon is. Valójában ma könnyebb, mint régen.,
  • lassú a letöltés, mert nehéz kliens keretrendszereket kell betölteni az ügyfél.
  • megköveteli a JavaScript jelenlétét és engedélyezését. Ha bármely felhasználó letiltja a JavaScriptet a böngészőjében, akkor nem lehet az alkalmazást és annak működését megfelelő módon bemutatni.
    frissítés 27.09.2017: az ő megjegyzés, Iris Shaffer észrevette, hogy izomorf renderelés / szerver oldali renderelés, akkor teszi az oldalt a szerveren már. Ha a kezdeti renderelés a kiszolgálón található, és gyorsítótárazható, a JS letiltása nem jelent gondot a renderelt oldal beszerzésére., Elméletileg így van. Nyilvánvalóan a szerver oldalán is megjeleníthet. De a JS hiánya más funkciókat is érinthet. Sok dolgot lehet tenni a HTML & CSS-ben, de tapasztalatom szerint pokol lenne ezt megtenni a JavaScript használata helyett.
  • a “hagyományos” alkalmazáshoz képest a SPA kevésbé biztonságos. A webhelyközi szkriptek (XSS) miatt lehetővé teszi a támadók számára, hogy más felhasználók kliens oldali szkripteket fecskendezzenek be a webes alkalmazásba.,
  • a JavaScript memóriaszivárgása akár azt is okozhatja, hogy az erőteljes rendszer lelassul
  • ebben a modellben a back and forward gombok működésképtelenné válnak.
    frissítés 27.09.2017: manapság ez már nem probléma.

többoldalas alkalmazás

többoldalas alkalmazások “hagyományos” módon működnek. Minden változás pl. jelenítse meg az adatokat, vagy küldje vissza az adatokat a kiszolgálói kéréseknek, amelyek új oldalt jelenítenek meg a böngésző szerveréről. Ezek az alkalmazások nagyok, nagyobbak, mint a gyógyfürdők, mert szükségük van rá. A tartalom mennyisége miatt ezeknek az alkalmazásoknak számos felhasználói felületük van., Szerencsére ez már nem jelent problémát. Az Ajaxnak köszönhetően nem kell attól tartanunk, hogy a nagy és összetett alkalmazásoknak sok adatot kell továbbítaniuk a szerver és a böngésző között. Ez a megoldás javul, és lehetővé teszi, hogy frissítse csak bizonyos részeit az alkalmazás. Másrészt összetettebbé teszi, és nehezebb fejleszteni, mint egyoldalas alkalmazást.

A többoldalas alkalmazás előnyei:

  • ez a tökéletes megközelítés azoknak a felhasználóknak, akiknek vizuális térképre van szükségük arról, hogy hová menjenek az alkalmazásban., Szilárd, kevés szintű menü navigáció elengedhetetlen része a hagyományos többoldalas alkalmazás.
  • nagyon jó és könnyű a megfelelő SEO menedzsment. Ez ad jobb esélye, hogy rangsorban a különböző kulcsszavakat, mivel egy alkalmazás lehet optimalizálni egy kulcsszó oldalanként.

hátrányok a többoldalas alkalmazás:

  • nincs lehetőség, hogy ugyanazt a backend mobil alkalmazások.
    UPDATE 27.09.2017: akkoriban, amikor ezt a cikket írtam, nem volt sok tapasztalatom a backend-szel és a mobilalkalmazásokkal., Számomra nyilvánvaló, hogy ugyanazt a backendet használhatja mindkettőre. És szeretném megköszönni az olvasóknak, akik rámutattak erre.
  • a Frontend és a backend fejlesztése szorosan kapcsolódik egymáshoz.
  • a fejlesztés meglehetősen bonyolult lesz. A fejlesztőnek keretrendszereket kell használnia mind a kliens, mind a szerver oldalon. Ez az alkalmazásfejlesztés hosszabb idejét eredményezi.

SPA vagy MPA?

a webes alkalmazás telepítése előtt meg kell fontolnia annak célját., Ha tudja, hogy több kategóriára van szüksége (mert például futtat egy online boltot, vagy sok más tartalmat tesz közzé) — használjon többoldalas webhelyet. Ha biztos benne, hogy webhelye megfelelő a tiszta egyoldalas élményhez-menjen rá. És ha szereted a SPA-t, de alig fér el mindent egyetlen oldalra, fontolja meg a hibrid webhelyet. Ez egy másik módja annak, hogy még nem említettem. A hibrid alkalmazás mindkét megközelítésben a legjobbat veszi igénybe, és megpróbálja minimalizálni a hátrányokat., Ez valójában egyetlen oldalas alkalmazás, amely url-horgonyokat használ szintetikus oldalként, amely többet tesz lehetővé a böngésző navigációs és preferencia funkcióinak felépítésében. De ez egy másik cikk témája.

talán a jövőben mindenki egyoldalas Alkalmazásmodellt fog használni (beleértve a hibrid alkalmazást is), mivel úgy tűnik, hogy sok előnnyel jár. A piacon számos alkalmazás vándorol e modell felé. Mivel azonban egyes projektek egyszerűen nem férnek be a SPA-ba, az MPA modell még mindig élénk.

eredetileg megjelent Paweł Skólski at neoteric.eu/blog December 1-jén, 2016.