</AS>

Aleix Soler

2024

Backend, Frontend o Full Stack? I què passa amb SPA i MPA?

Descobreix quin tipus de desenvolupador ets i si les SPA o MPA són la millor opció per als teus projectes! No totes les webs han de ser una SPA!

En la recerca de feina en el camp del desenvolupament web, és habitual veure una creixent demanda de desenvolupadors Full Stack. Però, què són exactament aquests professionals? En aquest article, t'oferirem una explicació detallada.

A més, hi ha una tendència actual en l'ús dels frameworks SPA. No obstant això, sovint s'utilitzen sense considerar les millors opcions, i en alguns casos, un enfocament híbrid o una MPA podria ser més adequat. En aquest article, també explicarem què són les MPA i les SPA, quan és convenient utilitzar-ne una o una altra i quines alternatives intermèdies existeixen.

Tipus de programador

Programador backend i frontend

Un programador de backend és un desenvolupador de programari que se centra en la part del servidor i la base de dades d'una aplicació o lloc web. Treballa amb llenguatges com Python, Java, PHP, Ruby, entre d'altres, i amb bases de dades com MySQL, PostgreSQL o MongoDB per crear i mantenir la lògica i funcionalitat de l'aplicació.

D'altra banda, un programador de frontend es focalitza en la part visible d'una aplicació, és a dir, la interfície d'usuari. Treballa amb HTML, CSS i JavaScript, així com amb frameworks com React, Angular o Vue.js per donar forma a la interacció i experiència de l'usuari.

En resum, mentre que el programador de backend s'enfoca en la lògica i l'accés a dades, el programador de frontend treballa en l'experiència d'usuari i l'aparença de l'aplicació.

Programador full stack

Un desenvolupador Full Stack és un professional que té coneixements i habilitats en totes les capes d'un sistema de programari, des del frontend (interfície d'usuari) fins al backend (servidor i base de dades), incloent aspectes de DevOps en molts casos. Això vol dir que pot participar en totes les etapes del desenvolupament d'una aplicació.

És important assenyalar que cap programador pot ser expert en totes les tecnologies, ja que el desenvolupament de programari és un camp ampli i divers. No obstant això, hi ha diferents tipus de desenvolupadors Full Stack segons la seva especialització:

  1. Desenvolupador Full Stack Web: se centra en tecnologies web, com HTML, CSS, JavaScript, frameworks frontend (React, Angular, etc.), i frameworks backend (Django, Laravel, Express.js, etc.).

  2. Desenvolupador Full Stack Mòbil: treballa en aplicacions mòbils amb tecnologies com React Native o Flutter, i en la connexió amb serveis backend.

  3. Desenvolupador Full Stack DevOps: combina el desenvolupament d'aplicacions amb la gestió d'infraestructura, automatització, CI/CD, contenidors (Docker) i orquestració (Kubernetes).

  4. Desenvolupador Full Stack de Dades: enfocat en la gestió i processament de dades, treballant tant en la implementació de bases de dades com en la seva integració amb aplicacions.

Aquests són només alguns exemples, però un desenvolupador Full Stack pot tenir moltes altres especialitzacions segons les tecnologies que domini.

Tipus d'aplicació web

Aplicació SPA (Single Page Application)

Una SPA és una aplicació web que funciona en una sola pàgina i permet una experiència d'usuari més fluida en evitar recàrregues completes. En una SPA, la major part de la interacció i navegació es realitza a través de JavaScript, carregant dades de manera dinàmica mitjançant API sense necessitat de recarregar la pàgina.

Aplicació MPA (Multi Page Application)

El contrari d'una SPA és una MPA, una aplicació web tradicional on cada acció de l'usuari genera una nova petició HTTP al servidor i una recàrrega completa de la pàgina. Tot i que pot ser menys fluida que una SPA, és més fàcil d'optimitzar per a motors de cerca i sol ser més accessible.

Aplicacions híbrides

A mesura que han evolucionat les tecnologies web, han sorgit solucions intermèdies que combinen els avantatges de SPA i MPA. Per exemple:

  • Isomorphic Apps (Universal Apps): utilitzen renderitzat al servidor (SSR) per millorar el SEO i la velocitat de càrrega inicial, però actuen com a SPA un cop carregades.

  • Progressive Web Apps (PWA): aprofiten característiques modernes del navegador per oferir una experiència semblant a una aplicació nativa, sense necessitat d'una instal·lació convencional.

Elecció entre MPA, SPA i aplicacions híbrides

Les diferències principals entre aquestes opcions són:

  • Càrrega de pàgina: Les MPAs requereixen recàrregues completes, mentre que les SPAs carreguen dades de manera dinàmica. Les aplicacions híbrides intenten combinar els avantatges d'ambdues.

  • Experiència d'usuari: Les SPAs solen ser més fluides, però poden tenir problemes d'accessibilitat i SEO. Les MPAs són més robustes en aquests aspectes, i les híbrides intenten trobar un equilibri.

  • Desenvolupament i manteniment: Les MPAs són més fàcils de desenvolupar i mantenir en projectes petits. Les SPAs poden ser més complexes, i les aplicacions híbrides requereixen eines com Next.js o Nuxt.js per gestionar SSR i CSR.

Resum

En resum, una SPA és una aplicació web d'una sola pàgina que ofereix una experiència més fluida, una MPA és una aplicació tradicional amb recàrregues completes, i les aplicacions híbrides intenten combinar els avantatges d'ambdues tecnologies.

Personalment, prefereixo utilitzar SPAs per a aplicacions interactives i dinàmiques, mentre que MPAs són més adequades per a blocs, e-commerce i projectes que requereixen optimització per a SEO. Les aplicacions híbrides són una gran opció per obtenir un rendiment òptim sense sacrificar accessibilitat i indexabilitat.