Salta el contingut

1. Introducció a les Arquitectures de Desenvolupament Web

1.1. Introducció

Comprendre l'arquitectura client-servidor és fonamental per a qualsevol iniciativa de desenvolupament a la web moderna. Aquest model constitueix la base sobre la qual s'erigeixen pràcticament totes les aplicacions i serveis digitals. Aquest informe tècnic té com a objectiu principal analitzar i comparar les tecnologies, responsabilitats i millors pràctiques inherents als entorns del costat del client (client-side) i del costat del servidor (server-side) .

La finalitat és proporcionar una guia clara i estratègica per a la presa de decisions tècniques en projectes de desenvolupament web, assegurant que les solucions adoptades siguin robustes, segures i eficients. En el context acadèmic actual, aquesta comprensió és especialment rellevant per a estudiants que s'inicien en el desenvolupament web i necessiten una base sòlida sobre la qual construir les seves competències tècniques.

1.2. Evolució Històrica de la Web

La Web va ser inventada per Tim Berners-Lee al CERN el 1989, fonamentant-se en el concepte d'hipertext. El World Wide Web Consortium (W3C) és l'organització responsable de desenvolupar i mantenir els estàndards web (incloent HTML, CSS i JavaScript) amb l'objectiu de garantir que la Web sigui oberta i accessible .

El desenvolupament d'aplicacions web ha evolucionat significativament:

Pàgines Web Estàtiques: Simples pàgines HTML amb hipervincles

Pàgines Web Generades pel Servidor: HTML generat al servidor (PHP, Node, Java)

Introducció d'AJAX: Permet carregar o pujar dades al servidor de manera asíncrona, millorant la interactivitat sense recarregar la pàgina

Single Page Application (SPA): Aplicacions d'una sola pàgina que es comuniquen amb el servidor usant JSON o XML, oferint una experiència d'App

Progressive Web Apps (PWA): Combinen les millors característiques de les webs i les aplicacions mòbils

1.3. Definició del Model Client-Servidor

El model client-servidor és l'estructura fonamental que permet la comunicació a la World Wide Web . Es compon de tres elements essencials que treballen de manera coordinada:

El costat del client (client-side): Fa referència a l'entorn on l'usuari final interactua amb l'aplicació. En la gran majoria dels casos, aquest entorn és el navegador web (com ara Firefox, Google Chrome o Microsoft

Edge) que s'executa a l'ordinador o dispositiu mòbil de l'usuari

El costat del servidor (server-side): Correspon a l'entorn remot que allotja el lloc web i gestiona la seva lògica central. Inclou el maquinari (servidors físics, màquines virtuals), el programari de servidor web (com Apache o NGINX), els llenguatges de programació del backend i les bases de dades on s'emmagatzema la informació de manera persistent

La xarxa: És el teixit connectiu que comunica el client i el servidor. Aquesta comunicació es realitza mitjançant protocols estàndard, principalment el Protocol de Transferència d'Hipertext (HTTP), que defineix com s'estructuren i es transmeten els missatges entre ambdós extrems

2. Anàlisi de l'Arquitectura del Costat del Client (Client-Side)

2.1. Introducció

L'arquitectura del costat del client és responsable de tot allò que l'usuari veu i amb què interactua directament al seu navegador. El seu rol estratègic és crucial, ja que determina la qualitat de l'experiència d'usuari (UX), la interactivitat i el dinamisme de la interfície. Tot el codi client-side s'executa íntegrament en el dispositiu de l'usuari, la qual cosa permet respostes immediates a les seves accions sense necessitat de comunicar-se constantment amb el servidor .

2.2. Principals Tecnologies

El desenvolupament en el costat del client s'estructura en capes tecnològiques ben definides, cadascuna amb una responsabilitat específica per construir una experiència web completa :

2.2.1. Contingut (HTML)

L'HTML (HyperText Markup Language) és l'esquelet de qualsevol pàgina web. Defineix l'estructura semàntica del contingut, organitzant la informació en elements com títols, paràgrafs, llistes, imatges i formularis. HTML5 introdueix elements semàntics més específics com <section>, <nav>, <article>, <aside>, <header>, i <footer> que milloren l'accessibilitat i el SEO .

2.2.2. Presentació (CSS)

El CSS (Cascading Style Sheets) s'encarrega de l'aspecte visual i l'estil. Controla la disposició (layout), els colors, la tipografia i les plantilles, separant de manera efectiva la presentació de l'estructura del contingut . Aquesta separació entre contingut i presentació és una pràctica fonamental del desenvolupament web modern

.

2.2.3. Comportament (JavaScript)

JavaScript és el llenguatge de programació principal del client. Aporta interactivitat i dinamisme a les pàgines, permetent executar lògica directament al navegador per respondre a les accions de l'usuari i modificar el contingut de la pàgina en temps real
.

2.3. Funcionalitats i Casos d'Ús

La programació del costat del client, principalment a través de JavaScript, habilita un conjunt de funcionalitats clau per a les aplicacions web modernes :

Reacció a la Interacció de l'Usuari: Gestiona esdeveniments com clics en enllaços, enviaments de formularis o moviments del ratolí

Modificació Dinàmica de Contingut i Estil: Permet alterar l'estructura (DOM) i l'estil de la pàgina en temps real

Preprocessament de Dades: S'utilitza per realitzar validacions en formularis abans que les dades siguin enviades al servidor

Comunicació Asíncrona (AJAX): Permet actualitzar parts específiques d'una pàgina sense interrompre l'experiència de navegació de l'usuari

2.4. L'Ecosistema de Desenvolupament JavaScript

El desenvolupament amb JavaScript es pot abordar des de diferents nivells de complexitat i abstracció

2.4.1. JavaScript 'Vanilla'

Es refereix a l'ús de JavaScript pur, sense cap biblioteca o framework extern. És una opció ideal per a projectes petits o per afegir interactivitat simple, ja que no introdueix dependències addicionals i ofereix un control màxim sobre el codi .

2.4.2. Biblioteques

Són conjunts de codi que faciliten tasques específiques i repetitives, com la manipulació del DOM o la gestió d'esdeveniments. Exemples populars inclouen:

jQuery: Una biblioteca ràpida i rica en característiques que simplifica la manipulació del DOM

React.js: Biblioteca desenvolupada per Facebook per construir interfícies d'usuari interactives i reutilitzables

2.4.3. Frameworks

Ofereixen una estructura completa i un paradigma de programació definit per construir aplicacions complexes des de zero

Angular: Framework robust desenvolupat per Google, ideal per a aplicacions web de gran escala

Vue.js: Framework progressiu conegut per la seva simplicitat i flexibilitat

Svelte: Es diferencia en compilar el codi a JavaScript optimitzat, eliminant l'ús del Virtual DOM

2.5. Limitacions i Restriccions de Seguretat

L'execució de codi al navegador del client comporta limitacions i restriccions de seguretat inherents :

2.5.1. Limitacions Funcionals

Per disseny, JavaScript executat en un navegador no pot realitzar les següents accions:

  1. Escriure fitxers directament al servidor

  2. Llegir o escriure fitxers o directoris a l'ordinador del client (excepte cookies)

  3. Llançar l'execució d'aplicacions externes

  4. Modificar les preferències del navegador

  5. Accedir a informació d'una pàgina web allotjada en un domini diferent

2.5.2. Model de Seguretat

La seguretat de JavaScript al client es basa en dos pilars fonamentals:

"Espai segur d'execució" (Sandbox): El codi JavaScript s'executa en un entorn aïllat dins del navegador

"Política de mateix origen" (Same-Origin Policy): Impedeix que un script carregat des d'un domini pugui accedir a dades d'un altre domini

3. Anàlisi de l'Arquitectura del Costat del Servidor (Server-Side)

3.1. Introducció

L'arquitectura del costat del servidor constitueix el nucli central de qualsevol aplicació web robusta. És on resideix la lògica de negoci, es gestiona la persistència de les dades i s'implementen les mesures de seguretat fonamentals. A diferència del client, el servidor és un entorn controlat pel desenvolupador, la qual cosa li permet executar tasques privilegiades i accedir a recursos protegits .

3.2. Tecnologies i Components

L'entorn del servidor està format per una pila de tecnologies que treballen conjuntament per processar les sol·licituds dels clients i generar respostes adequades :

3.2.1. Programari de Servidor Web

És el programari que rep les peticions HTTP dels navegadors i serveix els fitxers corresponents. Exemples destacats inclouen Apache, NGINX i Microsoft IIS.

3.2.2. Llenguatges de Programació

El servidor executa codi escrit en una àmplia varietat de llenguatges dissenyats per a la web:

Llenguatges de scripting: PHP, Perl (CGI), Python o Node.js (JavaScript al servidor)

Llenguatges compilats: Java o C++

Tecnologies propietàries: ASP.NET i plataformes com ColdFusion

3.2.3. Bases de Dades

Són sistemes d'emmagatzematge organitzat on l'aplicació guarda i recupera la informació de manera permanent.

El servidor actua com a intermediari segur entre l'aplicació i la base de dades.

3.3. Funcionalitats i Responsabilitats

Les tasques següents són responsabilitat exclusiva o principal de l'arquitectura del servidor :

Emmagatzematge Permanent de Dades: El servidor és l'únic component capaç d'interactuar de manera segura amb les bases de dades

Lògica de Negoci i Accés a Dades: Processa les sol·licituds rebudes i aplica les regles de negoci de l'aplicació

Autenticació i Seguretat: La gestió d'usuaris, la validació de credencials i l'aplicació de permisos d'accés són tasques crítiques que han de residir al servidor

4. Comparativa Client vs. Servidor

4.1. Introducció

Moltes funcionalitats en el desenvolupament web no tenen una única ubicació d'implementació; es poden realitzar tant al client com al servidor. La decisió correcta depèn d'un equilibri estratègic entre factors com l'experiència d'usuari, el rendiment de l'aplicació, la integritat de les dades i la seguretat .

4.2. Comparativa de Tasques Comunes

Tasca Implementació Client-Side Implementació Server-Side
Validació de Formularis Recomanable per a UX: Proporciona retroalimentació instantània sense sobrecarregar el servidor. Tanmateix, és vulnerable ja que es pot eludir Obligatòria per a Seguretat: És l'única validació fiable. El servidor ha de verificar sempre totes les dades rebudes
Accés i Emmagatzematge de Dades Accés per a Visualització: Ideal per presentar dades rebudes del servidor. No pot emmagatzemar dades de manera permanent Emmagatzematge Centralitzat: Responsabilitat exclusiva del servidor. Gestiona la interacció amb la base de dades
Execució de Càlculs Apropiat per a Càlculs d'Interfície: Útil per a operacions simples que milloren la interactivitat Necessari per a Càlculs Crítics: Essencial per a càlculs complexos que requereixen dades segures
Manipulació d'Elements de la Pàgina Tasca Inherent del Client: És la seva funció principal. Operacions com eliminar elements o canviar estils No Aplicable: El servidor no té accés directe al DOM un cop la pàgina ha estat enviada al client

4.3. Complementarietat entre Client i Servidor

La conclusió final és que les tecnologies client-side i server-side són complementàries, no adversàries . Una aplicació web ben dissenyada aprofita els punts forts de cada arquitectura per oferir la millor solució possible. L'exemple de la validació de formularis és paradigmàtic: la millor pràctica consisteix a implementar una validació inicial al client per millorar l'experiència d'usuari i una validació final i exhaustiva al servidor per garantir la seguretat i la integritat de les dades.

5. Navegadors i la Web

5.1. Definició i Funcionament dels Navegadors

Un navegador web és un programari que permet l'accés a Internet, interpretant la informació d'arxius i llocs web per a la seva visualització. La seva funció bàsica és obtenir documents HTML i interpretar-los .

5.1.1. Components Clau

Hipervincles i Navegació: Els documents posseeixen hipervincles que enllacen porcions de text o imatges a altres documents

Protocols i URLs: S'utilitza el protocol HTTP per a la comunicació, així com HTTPS (versió xifrada basada en SSL)

Estàndards: És imprescindible comprovar que el desenvolupament funcioni correctament en els principals navegadors i que el codi s'ajusti als estàndards HTML i XHTML

5.2. Principals Navegadors

Els navegadors moderns suporten JavaScript i els estàndards web :

Navegador Motor de Renderitzat Característiques Clau
Microsoft Edge Motor de codi obert Substitueix l'antic Internet Explorer; dissenyat per ser lleuger
Mozilla Firefox Gecko Lliure i de codi obert. Existeix Firefox Developer Edition per a desenvolupadors
Google Chrome Blink (fork de WebKit) Compilat amb base en components de codi obert
Safari WebKit Navegador d'Apple (Mac OS, iOS)
Opera Blink Disposa de versions per a escriptori, telèfon i tauleta

Recomanació: Es recomana utilitzar Mozilla Firefox o Google Chrome per la seva quota de mercat i la gran quantitat d'eines per a la depuració disponibles .

6. Eines de Desenvolupament i Millors Pràctiques

6.1. Importància de l'Entorn de Desenvolupament

La qualitat i l'eficiència en el desenvolupament web no depenen només de l'arquitectura escollida, sinó també de l'entorn de treball i de l'adhesió a bones pràctiques. Un entorn de desenvolupament ben configurat, equipat amb les eines adequades, i el seguiment d'estàndards de la indústria són crucials per accelerar el procés, minimitzar errors i garantir la qualitat del producte final .

6.2. Selecció d'Eines Essencials

6.2.1. Editors de Codi i IDEs

L'elecció d'eines d'edició de codi abasta un espectre que va des d'editors simples fins a entorns de desenvolupament integrats (IDEs) complets :

Editors simples: Ideals per a modificacions ràpides (Notepad, Gedit)

Editors de text avançats: Ofereixen equilibri entre rendiment i funcionalitat amb ressaltat de sintaxi i autocompletat

Entorns de Desenvolupament Integrats (IDEs): Solucions completes per a projectes grans i complexos

Per a la majoria de projectes de desenvolupament web modern, es recomana explícitament l'ús de Visual Studio Code (gratuït) o WebStorm .

6.3. WebStorm: L'Eina de Desenvolupament del Curs

Durant el curs utilitzarem WebStorm com a entorn de desenvolupament integrat principal. WebStorm és un IDE multiplataforma desenvolupat per JetBrains, especialitzat en JavaScript, TypeScript i altres tecnologies web relacionades

.

6.3.1. Característiques Principals de WebStorm Asistència de Codi Intel·ligent:

Ofereix autocompletat de codi contextual i intelligent

Detecció d'errors en temps real

Sugerències contextuels que acceleren l'escriptura de codi

Depuració Integrada:

Facilita la depuració d'aplicacions tant del client com del servidor

Eines de depuració avançades directament des de l'IDE

Suport per a JavaScript, Node.js i altres tecnologies web

Integració amb Sistemes de Control de Versions:

S'integra perfectament amb Git, SVN i altres sistemes

Facilita la gestió de canvis i la col·laboració en equip

Suport per a Frameworks:

Suport extens per a frameworks populars com React, Angular, Vue.js

Plantilles i eines específiques per a cada framework

Assistència de codi especialitzada per a JSX i altres sintaxis

Navegació i Cerca Ràpides:

Funcionalitat "Search Everywhere" per buscar accions, arxius i símbols

Navegació intel·ligent per la base de codi

Capacitat de saltar ràpidament a definicions i usos

6.3.2. Llicències d'Estudiant

WebStorm ofereix llicències educatives gratuites per a estudiants i professors. Els estudiants poden utilitzar el All Products Pack de JetBrains (que inclou WebStorm, IntelliJ IDEA Ultimate, i totes les altres eines de JetBrains) de forma gratuïta amb fins educatius

.

Beneficis de la Llicència Educativa:

Accés complet a totes les funcionalitats de WebStorm

Renovació anual mentre es mantingui l'estatus d'estudiant

40% de descompte en llicències personals després de la graduació

Accés a eines professionals sense cost

Com Obtenir la Llicència:

  1. Dirigir-se a la pàgina de llicències educatives de JetBrains

  2. Sol·licitar amb el correu electrònic institucional

  3. Verificar l'estatus d'estudiant

  4. Descarregar i activar WebStorm amb la llicència educativa

6.3.3. Avantatges de WebStorm per a l'Aprenentatge

Entorn Professional: Permet als estudiants familiaritzar-se amb eines utilitzades en la indústria

Productivitat Millorada: Les eines intel·ligents acceleren l'aprenentatge i redueixen errors comuns

Suport Multi-llenguatge: Ideal per aprendre HTML, CSS, JavaScript i frameworks moderns

Integració amb Git: Facilita l'aprenentatge del control de versions des de l'IDE

6.4. Navegadors i Eines de Depuració

És imprescindible provar el codi en múltiples navegadors per assegurar la compatibilitat. Es recomana centrar-se en Firefox i Google Chrome per la seva quota de mercat i les seves excel·lents eines per a desenvolupadors

.

6.4.1. La Consola Web (F12)

La majoria de navegadors incorporen eines natives per facilitar el desenvolupament. La Consola Web, accessible prement F12, inclou diverses pestanyes per a la depuració :

Red (Xarxa): Registre de peticions HTTP

CSS: Anàlisi i errors CSS

JS: Anàlisi i errors JavaScript

Seguridad: Advertències de seguretat

Registro: Missatges enviats a window.console

6.5. Control de Versions

L'ús d'un sistema de control de versions és una pràctica estàndard i ineludible en el desenvolupament professional. Git és l'eina de facto del sector per gestionar l'historial de canvis del codi, facilitar la col·laboració en equip i mantenir un registre de les versions del projecte

.

6.5.1. Beneficis del Control de Versions

Seguiment de Canvis: Registre complet de modificacions al llarg del temps

Col·laboració: Facilita el treball en equip i la gestió de conflictes Recuperació: Capacitat de recuperar versions anteriors del codi
Branching: Permet desenvolupar funcionalitats en paral·lel

6.6. Millors Pràctiques

6.6.1. Adhesió als Estàndards Web

És fonamental garantir que el codi HTML sigui vàlid segons les especificacions del W3C. L'ús del validador del W3C (https://validator.w3.org/) ajuda a detectar errors estructurals que poden provocar problemes de compatibilitat entre navegadors
.

6.6.2. Integració de Codi JavaScript

Encara que és possible inserir codi JavaScript directament dins dels fitxers HTML, la pràctica recomanada és utilitzar fitxers externs amb extensió .js. Aquest enfocament millora la modularitat, permet la reutilització del codi i augmenta la mantenibilitat del projecte
.

6.6.3. Disseny Funcional Sense JavaScript

Un principi de disseny robust, conegut com a "progressive enhancement" (millora progressiva), dicta que una pàgina web hauria de ser completament funcional encara que JavaScript estigui desactivat. JavaScript s'hauria d'utilitzar per millorar l'experiència d'usuari, però no hauria de ser un requisit absolut per accedir al contingut bàsic
.

6.6.4. Separació de Contingut, Presentació i Comportament

Una de les millors pràctiques fonamentals del desenvolupament web modern és la separació clara entre

:

Contingut (HTML): Estructura i significat semàntic

Presentació (CSS): Aspecte visual i disseny

Comportament (JavaScript): Interactivitat i funcionalitat dinàmica

Aquesta separació facilita el manteniment, millora l'accessibilitat i permet una major flexibilitat en el desenvolupament.

7. Tecnologies Modernes i Tendències

7.1. Progressive Web Apps (PWA)

Les Progressive Web Apps representen una evolució natural de les aplicacions web tradicionals, combinant les millors característiques de les webs i les aplicacions mòbils

.

7.1.1. Principis de les PWA

Progressives: Funcionen per a tots els usuaris, sense importar l'elecció de navegador

Adaptables: S'adapten a qualsevol factor de formulari (escriptori, mòbil, tauleta)

Independents de la connectivitat: Funcionen offline o amb xarxes de mala qualitat

Actualitzades: Sempre actualitzades gràcies als service workers

Segures: Emeses via HTTPS per garantir la seguretat

7.2. Ecosistema JavaScript Modern

L'ecosistema de JavaScript ha crescut exponencialmente, oferint una àmplia varietat d'eines i frameworks per a diferents necessitats

:

7.2.1. Frameworks Frontend Populars

React.js: Biblioteca per a interfaces d'usuari desenvolupada per Facebook

Angular: Framework complet desenvolupat per Google

Vue.js: Framework progressiu conegut per la seva simplicitat

Svelte: Enfocament innovador que compila a JavaScript optimitzat

7.2.2. Ecosistema Backend

Node.js: Entorn d'execució JavaScript per al servidor

Express.js: Framework minimalista per a aplicacions web

Nest.js: Framework escalable inspirat en Angular

8. Conclusions

8.1. Síntesi dels Conceptes Clau

L'arquitectura client-servidor constitueix el fonament del desenvolupament web modern, proporcionant un marc sòlid per a la creació d'aplicacions escalables i eficients. La comprensió profunda d'aquesta arquitectura és essencial per a qualsevol desenvolupador web, ja que permet prendre decisions informades sobre la distribució de responsabilitats entre el client i el servidor.

8.2. Importància de l'Entorn de Desenvolupament

L'elecció d'eines adequades, com WebStorm, i l'adopció de millors pràctiques són factors determinants per a l'èxit en el desenvolupament web. La integració d'eines professionals des de l'etapa d'aprenentatge prepara els estudiants per a un entorn de treball real i millora significativament la seva productivitat.

8.3. Perspectiva de Futur

El desenvolupament web continua evolucionant amb noves tecnologies com les Progressive Web Apps, frameworks moderns de JavaScript i eines de desenvolupament cada vegada més sofisticades. La formació en aquests conceptes fonamentals proporciona una base sòlida per adaptar-se a futures innovacions tecnològiques.

8.4. Recomanacions per a l'Aprenentatge

  1. Dominar els Fonaments: HTML, CSS i JavaScript vanilla abans de passar a frameworks

  2. Practicar amb Eines Professionals: Utilitzar WebStorm per familiaritzar-se amb IDEs industrials

  3. Adoptar el Control de Versions: Integrar Git des del principi en tots els projectes

  4. Seguir les Millors Pràctiques: Aplicar la separació de contingut, presentació i comportament

  5. Mantenir-se Actualitzat: Seguir l'evolució de l'ecosistema JavaScript i les noves tecnologies web

Referències
  1. https://www.supermicro.com/es/glossary/client-server-architecture
  2. https://ioc.xtec.cat/materials/FP/Recursos/fp_a3d_m06_/web/fp_a3d_m06_htmlindex/WebContent/u4/a1/continguts.html
  3. https://cursos.frogamesformacion.com/pages/blog/desarrollo-web-5-buenas-prácticas-para-escribir-código-html-css-y-javasc ript-de-calidad
  4. https://www.youtube.com/watch?v=3fLAhenpvQg
  5. https://docencia.xaviersastre.cat/Moduls/AW/03CSS.html
  6. https://www.swhosting.com/ca/blog/principals-llenguatges-de-programacio-web
  7. https://dev.to/deveg4/explorando-el-ecosistema-de-javascript-un-mapa-completo-de-frameworks-y-librerias-41ek
  8. https://es.linkedin.com/pulse/frameworks-de-javascript-top-5-mejores-para-el-desarrollo-web-aw3ec
  9. https://thebridge.tech/blog/framework-javascrip/
  10. https://www.godaddy.com/resources/es/crearweb/webstorm-jetbrains-ide-que-es
  11. https://www.jetbrains.com/es-es/webstorm/features/
  12. https://www.tencentcloud.com/techpedia/103411
  13. https://sales.jetbrains.com/hc/es/articles/207241195--Ofrecen-licencias-educativas-gratuitas-para-estudiantes-y-profesores
  14. https://intconsultoria.com/licencias-de-jetbrains-estudiantes-optimiza-tu-desarrollo-de-software/
  15. https://sales.jetbrains.com/hc/es/categories/11557780144658-Licencias-educativas-gratuitas-para-estudiantes-y-profesores
  16. https://www.youtube.com/watch?v=1NDeqDTXiV0
  17. https://www.getapp.es/software/2048273/webstorm
  18. https://frontendleap.com/fundamentales/introduccion-webstorm
  19. https://helpdesk.cdmon.com/portal/ca/kb/articles/com-activar-els-clients-de-control-de-versions-svn-git
  20. https://ioc.xtec.cat/materials/FP/Recursos/fp_daw_m08_/web/fp_daw_m08_htmlindex/WebContent/u4/a2/continguts.html
  21. https://canigo.ctti.gencat.cat/howtos/2018-10-Howto-Gitflow-desenvolupament-SIC/
  22. https://www.youtube.com/watch?v=owktvzEgTHI
  23. https://openaccess.uoc.edu/bitstream/10609/132928/11/josepmonjoTFM0621memòria.pdf
  24. https://ddd.uab.cat/pub/tfg/2020/tfg_243120/InformeFinalV3.pdf
  25. https://gooapps.cat/aplicaciones-web-progresivas-pwas-para-empresas/
  26. https://www.jetbrains.com/es-es/webstorm/webstorm-2010.html
  27. https://www.ujaen.es/servicios/sinformatica/catalogo-de-servicios-tic/software/software-instalable-web/software-de-jetbrains
  28. https://pablomonteserin.com/curso/webstorm/
  29. https://www.youtube.com/watch?v=PY_HVcJ4h1A
  30. https://www.jetbrains.com/es-es/webstorm/download/
  31. https://www.bestnetsoft.com/webstorm/
  32. https://www.jetbrains.com/es-es/academy/student-pack/
  33. https://www.youtube.com/watch?v=cJOO5lEjlFg
  34. https://www.jetbrains.com/es-es/webstorm/
  35. https://www.reddit.com/r/javascript/comments/1gb65hc/webstorm_is_now_free_for_noncommercial_use/
  36. https://www.daemon4.com/empresa/noticias/arquitectura-cliente-servidor/
  37. https://www.youtube.com/watch?v=p85dXRGwJBQ
  38. https://www.atlassian.com/git/tutorials/what-is-version-control
  39. https://www.freecodecamp.org/espanol/news/practica-html-css-y-javascript-en-espanol-creando-7-proyectos/
  40. https://es.wikipedia.org/wiki/Cliente-servidor
  41. https://xarxanet.org/informatic/recursos/control-de-versions-de-documents-amb-github
  42. https://blogs.uoc.edu/informatica/ca/javascript-per-aprendre-programar/
  43. https://www.arsys.es/blog/todo-sobre-la-arquitectura-cliente-servidor
  44. https://git-scm.com/book/ms/v2/Getting-Started-About-Version-Control
  45. https://www.youtube.com/watch?v=BA328RQa08M
  46. https://www.graphon.com/es/blog/client-server-applications-in-2025
  47. https://ioc.xtec.cat/materials/FP/Recursos/fp_dam_m05_/web/fp_dam_m05_htmlindex/WebContent/u2/a2/continguts.html
  48. http://ceipturodeguiera.xtec.cat/formacio/cd2005_informatica/materials/td108/nucli/guia.htm
  49. https://www.unimedia.tech/ca/descobriu-el-millor-ide-per-a-c-les-millors-tendencies-en-desenvolupament-web-personalitzat/
  50. https://burjcdigital.urjc.es/bitstreams/aaaafb35-6411-450c-a688-16650ae4e3b2/download
  51. https://kinsta.com/es/blog/bibliotecas-javascript/
  52. https://moltweb.com
  53. https://weareshifta.com/estado-del-arte-de-los-frameworks-de-javascript-en-2024/
  54. https://itequia.com/ca/6-consells-per-millorar-el-rendiment-daplicacions-a-angular/
  55. https://ioc.xtec.cat/materials/FP/Recursos/fp_daw_m09_/web/fp_daw_m09_htmlindex/WebContent/u1/a3/continguts.html
  56. https://eduardofierro.pro/blog/el-ecosistema-de-javascript-en-2023
  57. https://millora.caib.es
  58. https://mosaic.uoc.edu/ac/le/ca/m1/ud3/index.html
  59. http://multimedia.uoc.edu/blogs/pw/2013/04/16/webstorm/