{"id":4020,"date":"2021-10-14T12:40:40","date_gmt":"2021-10-14T09:40:40","guid":{"rendered":"https:\/\/www.roweb.ro\/ro\/blog\/?p=4020"},"modified":"2022-12-08T16:08:31","modified_gmt":"2022-12-08T14:08:31","slug":"spa-vs-mpa","status":"publish","type":"post","link":"https:\/\/www.roweb.ro\/ro\/blog\/spa-vs-mpa\/","title":{"rendered":"<b>Single page application (SPA) vs multiple page application (MPA)<\/b>: unde incep beneficiile si unde se termina provocarile?"},"content":{"rendered":"\n<div class=\"suits\">\n   \n  <figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"750\" height=\"352\" src=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/imagine1-ro.png\" alt=\"\" class=\"wp-image-4022 simple-no-border\" srcset=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/imagine1-ro.png 750w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/imagine1-ro-300x141.png 300w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/imagine1-ro-624x293.png 624w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure>\n <p>&nbsp;<\/p>\n    <h2 class=\"header-with-badget\">\n        Ce este o aplicatie de tipul SPA (single-page application)?\n\n    <\/h2>\n    <p>O solutie de tipul single-page application (SPA) este o aplicatie web-based conectata la un server, accesata prin\n        web browsers si capabila sa ofere o experienta directa si lineara.\n    <\/p>\n    <p>O solutie de tip SPA ofera experiente native, utilizatorul accesand o singura pagina HTML care nu necesita\n        reincarcari pe parcursul utilizarii. Acest tip de aplicatie se dezvolta cu tehnologii client-side (de exemplu:\n        React.js, Angular, Vue.js) si server-side (de exemplu, Node.js).\n    <\/p>\n    <figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"758\" height=\"275\" src=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema1-ro-1.png\" alt=\"\" class=\"wp-image-4023 simple-no-border\" srcset=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema1-ro-1.png 758w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema1-ro-1-300x109.png 300w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema1-ro-1-624x226.png 624w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><\/figure>\n <p>&nbsp;<\/p>\n    <p><b>Beneficiile dezvoltarii unei solutii de tip SPA (single-page application)\n        <\/b><\/p>\n    <ul class=\"blue-checkbox\">\n        <li><b>UX performant <\/b> &#8211; experienta nativa;\n        <\/li>\n        <li><b>nu necesita reincarcari<\/b> &#8211; o singura sesiune pentru incarcarea tuturor resurselor;\n\n        <\/li>\n        <li><b>viteza de incarcare<\/b> si acces rapid la toate functionalitatile;\n\n        <\/li>\n        <li>experienta <b>directa si lineara<\/b>;\n        <\/li>\n        <li><b>data in cache<\/b> pentru a putea fi folosita si offline;\n\n        <\/li>\n        <li><b>dezvoltari rapide <\/b> si numar mic de testari;\n\n        <\/li>\n        <li><b>cod<\/b> (partial) <b>reutilizabil<\/b>;\n        <\/li>\n        <li>se bazeaza pe <b>framework-uri moderne<\/b> (React, Vue.js, AngularJS);\n        <\/li>\n    <\/ul>\n    <p><b>Dezavantajele unei solutii de tip SPA\n        <\/b><\/p>\n    <ul class=\"blue-checkbox\">\n        <li><b>limitari SEO <\/b> &#8211; intrucat solutiile SPA nu implica URL-uri si continut separat pentru fiecare\n            functionalitate\/continut, motoarele de cautare nu pot aplica algoritmii de optimizare pentru pozitionarea\n            solutiei. (daca aplicatia este folosita cu acces privat &#8211; de tip intranet &#8211; aceste optimizari nici nu vor fi\n            necesare);\n\n        <\/li>\n        <li><b>urmarirea performantei paginii<\/b> &#8211; in analytics este mai dificil de urmarit performanta paginii;\n        <\/li>\n        <li><b>timp indelungat pentru incarcarea continutului<\/b> &#8211; daca aplicatia este prea complexa si nu este corect\n            optimizata;\n        <\/li>\n        <li><b>experienta bazata pe un singur pas<\/b> &#8211; nu exista optiunea de &#8220;go back&#8221; fara a parasi aplicatia;\n        <\/li>\n        <li><b>dependenta de JavaScript<\/b> &#8211; este obligatorie activarea JS in browser pentru utilizarea fara limitari a\n            aplicatiei.\n        <\/li>\n    <\/ul>\n    <p><b>Exemple de aplicatii single&#8211;page (SPA)\n        <\/b><\/p>\n    <p>Folosirea unei platforme de email care sa te tina in pagina chiar si atunci cand citesti sau scrii un mesaj nou.\n        Accesarea de fotografii sau functionalitati si vizualizarea unui profil de utilizator fara a schimba URL-ul.\n\n    <\/p>\n    <p>Astfel de experiente iti suna cunoscut, nu e asa?\n    <\/p>\n    <p>Cele mai cunoscute platforme de social media si de e-mail sunt dezvoltate ca solutii de tip SPA. .\n    <\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.roweb.ro\/blog\/wp-content\/uploads\/2021\/10\/imagine2.png\" alt=\"\" class=\"wp-image-5824 simple-no-border img-center\"\/><\/figure>\n    <p>&nbsp;<\/p>\n    <h2 class=\"header-with-badget\">\n        Ce este o aplicatie de tipul multi-page application (MPA)?\n    <\/h2>\n    <p>O aplicatie de tipul multi-page app (MPA) reprezinta o abordare clasica in dezvoltarea de aplicatii web. O\n        solutie MPA presupune reincarcarea continutului ori de cate ori o noua pagina este accesata. Si fiecare pagina\n        are URL-ul sau. Tocmai datorita acestei complexitati solutiile MPA sunt preferate de companiile mari sau cu\n        activitati mai dinamice\/complexe de tipul e-commerce.\n\n    <\/p>\n    <figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"746\" height=\"272\" src=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema2-ro.png\" alt=\"SPA VS MPA\" class=\"wp-image-4026 simple-no-border img-center\" srcset=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema2-ro.png 746w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema2-ro-300x109.png 300w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/schema2-ro-624x228.png 624w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/figure>\n  <p>&nbsp;<\/p>\n    <p><b>Beneficiile dezvoltarii unei solutii multi-page application\n\n        <\/b><\/p>\n    <ul class=\"blue-checkbox\">\n        <li><b>control SEO<\/b> &#8211; oportunitati mai mari de pozitionare in cautari prin continut si URL optimizate;\n        <\/li>\n        <li><b>scalabilitate<\/b> &#8211; aplicatiile multi-page pot fi extinse oricat de mult este necesar (noi\n            functionalitati, continut nou, etc.);\n        <\/li>\n        <li><b>urmarirea perfomantelor din pagini <\/b> poate fi cu usurinta facuta in analytics;\n        <\/li>\n        <li><b>UX diferentiat <\/b> &#8211; mai multe pagini integrate, mai multe tipuri de continut si functionalitati ajuta o\n            solutie MPA sa ofere experinete specifice.\n        <\/li>\n    <\/ul>\n    <p><b>Dezavantajele dezvoltarii unei solutii de tip multi-page application\n\n        <\/b><\/p>\n    <ul class=\"blue-checkbox\">\n        <li>fiecare interactiune implica <b>reincarcarea tuturor resurselor<\/b> (HTML, CSS, scripts);\n        <\/li>\n        <li>procesele repetare de reincarcari <b>reduc viteza si performanta<\/b>; <\/b>;\n        <\/li>\n        <li><b>dezvoltari complexe si de durata<\/b> &#8211; atat pentru back-end, cat si pentru front-end;\n        <\/li>\n        <li><b>mententanta dificila<\/b> &#8211; fiecare pagina are nevoie de securitate si mentenanta.\n        <\/li>\n    <\/ul>\n    <p><b>Exemple de solutii de tipul multi-page application (MPA)\n\n        <\/b><\/p>\n    <p>Solutiile MPA sunt o alegere foarte buna in special pentru companiile mari care au nevoie de maganize online,\n        website-uri complexe, cataloage si marketplace-uri.\n\n    <\/p>\n    <p>In <a href=\"\/ro\/portofoliu\">portofoloul nostru<\/a> poti gasi o serie de solutii dezvoltate pentru astfel de\n        business-uri.\n    <\/p>\n    <div class=\"app-example-carousel blue-carousel\">\n        <div>\n            <div class=\"row\">\n                <figure class=\"wp-block-image simple-no-border img-center\"><img\n                        src=\"https:\/\/www.roweb.ro\/images\/new_design\/portfolio_custom\/porsche-bank\/5.png\"\n                        alt=\"real estate technology trends\" class=\"wp-image-3419\" \/><\/figure>\n            <\/div>\n        <\/div>\n        <div>\n            <div class=\"row\">\n                <figure class=\"wp-block-image simple-no-border img-center\"><img\n                        src=\"https:\/\/www.roweb.ro\/images\/new_design\/case_studies\/omac\/img2.png\"\n                        alt=\"real estate technology trends\" class=\"wp-image-3420\" \/><\/figure>\n            <\/div>\n        <\/div>\n        <div>\n            <div class=\"row\">\n                <figure class=\"wp-block-image simple-no-border img-center\"><img\n                        src=\"https:\/\/www.roweb.ro\/images\/new_design\/portfolio_custom\/teilor\/8.png\"\n                        alt=\"real estate technology trends\" class=\"wp-image-3421\" \/><\/figure>\n            <\/div>\n        <\/div>\n        <div>\n            <div class=\"row\">\n                <figure class=\"wp-block-image simple-no-border img-center\"><img\n                        src=\"https:\/\/www.roweb.ro\/images\/new_design\/case_studies\/ezebee\/header-image.png\"\n                        alt=\"real estate technology trends\" class=\"wp-image-3422\" \/><\/figure>\n            <\/div>\n        <\/div>\n    <\/div>\n    <p>Totodata, exista o serie de brand-uri cunoscute in piata care folosesc aplicatiile de tip multi-page ca\n        principale instrumente de vanzare &#8211; Amazon fiind poate cel mai familiar exemplu.\n    <\/p>\n    <p>&nbsp;<\/p>\n    <h2 class=\"header-with-badget\">\n        Comparatie: SPA vs MPA\n    <\/h2>\n    <figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"750\" height=\"783\" src=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/tabel-ro-1.png\" alt=\"SPA VS MPA\" class=\"wp-image-4029\" srcset=\"https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/tabel-ro-1.png 750w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/tabel-ro-1-287x300.png 287w, https:\/\/www.roweb.ro\/ro\/blog\/wp-content\/uploads\/2021\/10\/tabel-ro-1-624x651.png 624w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure>\n<p>&nbsp;<\/p>\n    <div class=\"blue-info image-pc\" style=\"width: 100%!important;\">\n        <div class=\"col-lg-12\">\n            <p class=\"white-block\"><b>Ai nevoie de o echipa performanta pentru dezvoltarea unor solutii SPA sau MPA\n                    pentru compania ta?\n                <\/b>\n            <\/p>\n            <p>\n                <a class=\"contact-us\" href=\"\/ro\/contact\">\n                    CONTACTEAZA-NE\n\n                <\/a>\n            <\/p>\n        <\/div>\n    <\/div>\n    <p>&nbsp;<\/p>\n    <h2 class=\"header-with-badget\">\n        Cu cine ar trebui sa dezvolti o solutie SPA\/MPA? Echipa interna, freelancerii sau o echipa dedicata\n        (outsourcing)?\n    <\/h2>\n    <p>Iata ce variante ai pentru a lucra cu o echipa de developeri.\n    <\/p>\n    <p><b>Dezvoltatori sau echipa interna (cea mai scumpa optiune)\n        <\/b><\/p>\n    <p>Dezvoltarea unei solutii de catre echipa interna pare, cel putin la prima vedere, cea mai buna optiune atunci\n        cand vrei sa abordezi o problema unica a companiei, dar asta inseamna ca business-ul va trebui sa aloce resurse\n        suplimentare &#8211; bugete si angajati &#8211; pentru a crea, implementa si mentine o aplicatie de mobile sau web.\n    <\/p>\n    <p><b>Lucrul cu un freelancer\n        <\/b><\/p>\n    <p>Sa gasesti freelanceri este usor. Poti alege dezvoltatori care sa se potriveasca criteriilor tale si apoi ii\n        sortezi in functie de cost. Cu toate ca aceasta pare cea mai buna optiune din punct de vedere al bugetului, este\n        cea mai putin sigura.\n    <\/p>\n    <p>Freelancerii, de obicei, au mai multi clienti. Asta inseamna ca proiectul tau nu este singura sursa de venit, si\n        astfel sa ai intarzieri nedorite, si, in acelasi timp, nici nu ai posibilitatea de a construi o platforma web\n        sau aplicatie de mobile de dimensiuni mari. Ambele aplicatii au nevoie de mai multe cunostinte, iar dezvoltarea\n        acestora are tendinta de se mari in durata mai mult decat era prevazut termenul. De asemenea, daca decizi sa\n        lucrezi cu o echipa de freelanceri, va trebui sa fii project managerul lor.\n    <\/p>\n    <p><b>Dezvoltarea cu echipe dedicate (outsourcing) <\/b>\n    <\/p>\n    <p>Externalizarea este o nevoie a companiilor, pe care acestea au inceput s-o adreseze din ce in ce mai mult la\n        nivel global. De ce externalizeaza companiile? Fie pentru a imbunatati o solutie deja existenta in companie, fie\n        pentru a crea un software specific pentru business, insa motivul principal ramane eficientizarea raportului\n        cost-timp. De asemenea, beneficiaza de expertiza din partea unei echipe de profesionisti.\n    <\/p>\n    <p>Conform unui studiu realizat in 2020 de catre Computer Economics, o companie de research din SUA si Canada,\n        dezvoltarea de aplicatii in regim de outsourcing a avut o crestere constanta in ultimii 7 ani. Tot mai multe\n        companii apeleaza la servicii externe cand vor sa creeze o aplicatie, de smartphone sau web.\n    <\/p>\n    <p>In loc sa se gandeasca la cum ar putea sa faca posibil un anumit tip de serviciu sau produs, prefera sa\n        externalizeze si sa se concentreze pentru a face business-ul mai agile.\n\n    <\/p>\n    <p>Cum alegi o companie de externalizare a serviciilor de IT? Citeste mai multe in acest articol.\n    <\/p>\n    <p>&nbsp;<\/p>\n    <h2 class=\"header-with-badget\">\n        De ce sa dezvolti aplicatii cu echipele Roweb?\n    <\/h2>\n    <p>Cu mai mult de 130+ de dezvoltatori software, iti putem oferi <a\n            href=\"https:\/\/www.roweb.ro\/ro\/servicii\/echipa-dedicata\">o echipa completa<\/a> de dezvoltatori ce au mai mult\n        de 10 ani de experienta in Roweb, si detin capacitatile tehnice pentru a-ti indeplini nevoile tale particulare.\n    <\/p>\n    <p>De asemenea, vei salva timp si bani cu tot procesul de angajare. Vei beneficia de experienta a peste 18 ani de\n        cand suntem pe piata, cu echipe care fac parte din Roweb de la inceput si sunt specializati in industrii precum:\n        recrutare si HR, imobiliare, retail si e-commerce, turism si ospitalitate, caritate si ONG-uri, asociatii,\n        asigurari, servicii financiare, comercializarea echipamentelor IT, transport si logistica, e-health, printre\n        altele.<\/p>\n    <p>O echipa dedicata este raspunsul potrivit la nevoia de a dezvolta &#8211; sau sa continui dezvoltarea &#8211; pentru un\n        produs sau serviciu nou pentru clientii tai; astfel incat sa te diferentiezi mai bine de competitie. De\n        asemenea, vei avea control total asupra intregului proces de dezvoltare, astfel incat sa fii mobil si agil cu\n        business-ul tau.\n    <\/p>\n    <p>Este usor sa incepi un proiect cu noi. <a href=\"\/ro\/contact\">Contacteaza-ne<\/a> si trimite-ne toate detaliile cu\n        privire la nevoile business-ului tau. Te vom contacta inapoi cat se poate de repede cu un brief si un cost (daca\n        informatiile pe care ni le trimiti sunt complete).\n    <\/p>\n<\/div>\n\n\n\n\n\n<p><strong>TEHNOLOGII PE CARE LE UTILIZAM:<\/strong><\/p>\n    <div>\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/dotnet.png\" alt=\".net icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/php.png\" alt=\".net icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/apple.png\" alt=\"apple icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/android.png\" alt=\"android icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/react.png\" alt=\"react icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/java.png\" alt=\"java icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/angular.png\" alt=\"angular icon\">\n        <img decoding=\"async\" class=\"logo\" src=\"\/images\/new_design\/blog\/articles\/logo\/node.png\" alt=\"node icon\">\n    <\/div>\n\n    <div class=\"row\">\n        <div class=\"col-sm-6 col-12\">\n            <p><strong>METODOLOGII<\/strong><\/p>\n            <ul class=\"blue-checkbox\">\n                <li>Agile<\/li>\n                <li>Scrum<\/li>\n                <li>Kanban<\/li>\n                <li>Waterfall<\/li>\n            <\/ul>\n        <\/div>\n        <div class=\"col-sm-6 col-12\">\n            <p><strong>ROLURI PE CARE LE OFERIM<\/strong>\n            <\/p>\n            <ul class=\"blue-checkbox\">\n                <li>Project managers<\/li>\n                <li>Business analysts<\/li>\n                <li>Developers<\/li>\n                <li>Q&amp;A specialists<\/li>\n                <li>Scrum masters<\/li>\n                <li>UX Designers<\/li>\n            <\/ul>\n        <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Ce este o aplicatie de tipul SPA (single-page application)? O solutie de tipul single-page application (SPA) este o aplicatie web-based conectata la un server, accesata prin web browsers si capabila sa ofere o experienta directa si lineara. O solutie de tip SPA ofera experiente native, utilizatorul accesand o singura pagina HTML care nu necesita [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4032,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[95,86,91],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/posts\/4020"}],"collection":[{"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/comments?post=4020"}],"version-history":[{"count":16,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/posts\/4020\/revisions"}],"predecessor-version":[{"id":6166,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/posts\/4020\/revisions\/6166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/media\/4032"}],"wp:attachment":[{"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/media?parent=4020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/categories?post=4020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.roweb.ro\/ro\/blog\/wp-json\/wp\/v2\/tags?post=4020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}