Mapa Conceptual UT01
UT01 Arquitectures de Desenvolupament Web
IyBVVDAxLiBBcnF1aXRlY3R1cmVzIGRlIERlc2Vudm9sdXBhbWVudCBXZWIKCiMjIDEuIEludHJvZHVjY2nDsyBhIGxlcyBBcnF1aXRlY3R1cmVzCi0gQ29tcHJlbmRyZSBjbGllbnQtc2Vydmlkb3IKLSBCYXNlIGRlbCBkZXNlbnZvbHVwYW1lbnQgd2ViIG1vZGVybgotIEd1aWEgcGVyIGRlY2lzaW9ucyB0w6hjbmlxdWVzCgojIyAyLiBFdm9sdWNpw7MgSGlzdMOycmljYSBkZSBsYSBXZWIKLSBUaW0gQmVybmVycy1MZWUgKDE5ODkpCi0gVzNDIGkgZXN0w6BuZGFyZHMgd2ViCi0gUMOgZ2luZXMgd2ViIGVzdMOgdGlxdWVzCi0gUMOgZ2luZXMgZ2VuZXJhZGVzIHBlbCBzZXJ2aWRvcgotIEludHJvZHVjY2nDsyBkJ0FKQVgKLSBTaW5nbGUgUGFnZSBBcHBsaWNhdGlvbnMgKFNQQSkKLSBQcm9ncmVzc2l2ZSBXZWIgQXBwcyAoUFdBKQoKIyMgMy4gTW9kZWwgQ2xpZW50LVNlcnZpZG9yCiMjIyBDbGllbnQtc2lkZQotIE5hdmVnYWRvciB3ZWIKLSBGaXJlZm94LCBDaHJvbWUsIEVkZ2UKLSBJbnRlcmFjY2nDsyB1c3VhcmkKCiMjIyBTZXJ2ZXItc2lkZQotIFNlcnZpZG9ycyBmw61zaWNzL3ZpcnR1YWxzCi0gQXBhY2hlLCBOR0lOWAotIEJhc2VzIGRlIGRhZGVzCgojIyMgWGFyeGEKLSBQcm90b2NvbCBIVFRQL0hUVFBTCi0gQ29tdW5pY2FjacOzIGNsaWVudC1zZXJ2aWRvcgoKIyMgNC4gQXJxdWl0ZWN0dXJhIENsaWVudC1TaWRlCiMjIyBUZWNub2xvZ2llcyBwcmluY2lwYWxzCiMjIyMgSFRNTAotIEVzdHJ1Y3R1cmEgc2Vtw6BudGljYQotIEVsZW1lbnRzIEhUTUw1Ci0gU2VjdGlvbiwgbmF2LCBhcnRpY2xlCgojIyMjIENTUwotIEFzcGVjdGUgdmlzdWFsCi0gTGF5b3V0IGkgZGlzc2VueQotIFNlcGFyYWNpw7MgY29udGluZ3V0L3ByZXNlbnRhY2nDswoKIyMjIyBKYXZhU2NyaXB0Ci0gSW50ZXJhY3Rpdml0YXQKLSBNb2RpZmljYWNpw7MgRE9NCi0gQ29tcG9ydGFtZW50IGRpbsOgbWljCgojIyMgRWNvc2lzdGVtYSBKYXZhU2NyaXB0Ci0gSmF2YVNjcmlwdCBWYW5pbGxhCi0gTGxpYnJlcmllcyAoalF1ZXJ5LCBSZWFjdCkKLSBGcmFtZXdvcmtzIChBbmd1bGFyLCBWdWUsIFN2ZWx0ZSkKCiMjIyBMaW1pdGFjaW9ucwotIE5vIGVzY3JpdXJlIGZpdHhlcnMgc2Vydmlkb3IKLSBObyBhY2PDqXMgZGlyZWN0ZSBzaXN0ZW1hIGZpdHhlcnMKLSBTYW5kYm94IGkgU2FtZS1PcmlnaW4gUG9saWN5CgojIyA1LiBBcnF1aXRlY3R1cmEgU2VydmVyLVNpZGUKIyMjIENvbXBvbmVudHMKLSBQcm9ncmFtYXJpIHNlcnZpZG9yIHdlYgotIExsZW5ndWF0Z2VzIHByb2dyYW1hY2nDswogIC0gUEhQLCBOb2RlLmpzCiAgLSBKYXZhLCBQeXRob24KICAtIEFTUC5ORVQKLSBCYXNlcyBkZSBkYWRlcwoKIyMjIFJlc3BvbnNhYmlsaXRhdHMKLSBFbW1hZ2F0emVtYXRnZSBwZXJtYW5lbnQKLSBMw7JnaWNhIGRlIG5lZ29jaQotIEF1dGVudGljYWNpw7MgaSBzZWd1cmV0YXQKCiMjIDYuIENvbXBhcmF0aXZhIENsaWVudCB2cyBTZXJ2aWRvcgojIyMgVmFsaWRhY2nDsyBmb3JtdWxhcmlzCi0gQ2xpZW50OiBVWCBpIGZlZWRiYWNrIGluc3RhbnRhbmkKLSBTZXJ2aWRvcjogU2VndXJldGF0IG9ibGlnYXTDsnJpYQoKIyMjIEFjY8OpcyBkYWRlcwotIENsaWVudDogVmlzdWFsaXR6YWNpw7MKLSBTZXJ2aWRvcjogRW1tYWdhdHplbWF0Z2UgY2VudHJhbGl0emF0CgojIyMgQ8OgbGN1bHMKLSBDbGllbnQ6IE9wZXJhY2lvbnMgc2ltcGxlcwotIFNlcnZpZG9yOiBDw6BsY3VscyBjcsOtdGljcwoKIyMgNy4gTmF2ZWdhZG9ycyBpIGxhIFdlYgojIyMgUHJpbmNpcGFscyBuYXZlZ2Fkb3JzCi0gTWljcm9zb2Z0IEVkZ2UgKEJsaW5rKQotIE1vemlsbGEgRmlyZWZveCAoR2Vja28pCi0gQ2hyb21lIChCbGluaykKLSBTYWZhcmkgKFdlYktpdCkKLSBPcGVyYSAoQmxpbmspCgojIyMgQ29tcG9uZW50cyBjbGF1Ci0gSGlwZXJ2aW5jbGVzCi0gUHJvdG9jb2xzIEhUVFAvSFRUUFMKLSBFc3TDoG5kYXJkcyBIVE1ML1hIVE1MCgojIyA4LiBFaW5lcyBkZSBEZXNlbnZvbHVwYW1lbnQKIyMjIElERXMgaSBFZGl0b3JzCi0gVmlzdWFsIFN0dWRpbyBDb2RlCi0gV2ViU3Rvcm0gKEpldEJyYWlucykKLSBMbGljw6huY2llcyBlZHVjYXRpdmVzIGdyYXR1w690ZXMKCiMjIyBXZWJTdG9ybSBjYXJhY3RlcsOtc3RpcXVlcwotIEF1dG9jb21wbGV0YXQgaW50ZWzCt2xpZ2VudAotIERlcHVyYWNpw7MgaW50ZWdyYWRhCi0gQ29udHJvbCBkZSB2ZXJzaW9ucyBHaXQKLSBTdXBvcnQgZnJhbWV3b3JrcwoKIyMjIENvbnNvbGEgV2ViIChGMTIpCi0gWGFyeGEgKHBldGljaW9ucyBIVFRQKQotIENTUyAoZXJyb3JzKQotIEphdmFTY3JpcHQgKGRlYnVnKQotIFNlZ3VyZXRhdAoKIyMgOS4gQ29udHJvbCBkZSBWZXJzaW9ucwojIyMgR2l0Ci0gU2VndWltZW50IGRlIGNhbnZpcwotIENvbMK3bGFib3JhY2nDsyBlcXVpcAotIFJlY3VwZXJhY2nDsyB2ZXJzaW9ucwotIEJyYW5jaGluZwoKIyMgMTAuIE1pbGxvcnMgUHLDoGN0aXF1ZXMKLSBFc3TDoG5kYXJkcyBXM0MKLSBWYWxpZGFkb3IgSFRNTAotIEZpdHhlcnMgSmF2YVNjcmlwdCBleHRlcm5zCi0gUHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQKLSBTZXBhcmFjacOzIGNvbnRpbmd1dC9wcmVzZW50YWNpw7MvY29tcG9ydGFtZW50CgojIyAxMS4gVGVjbm9sb2dpZXMgTW9kZXJuZXMKIyMjIFByb2dyZXNzaXZlIFdlYiBBcHBzCi0gRnVuY2lvbmVuIG9mZmxpbmUKLSBBZGFwdGFibGVzCi0gU2VndXJlcyAoSFRUUFMpCi0gQWN0dWFsaXR6YWRlcwoKIyMjIEZyYW1ld29ya3MgbW9kZXJucwotIFJlYWN0LmpzIChGYWNlYm9vaykKLSBBbmd1bGFyIChHb29nbGUpCi0gVnVlLmpzCi0gU3ZlbHRlCgojIyMgQmFja2VuZCBtb2Rlcm4KLSBOb2RlLmpzCi0gRXhwcmVzcy5qcwotIE5lc3QuanMKCiMjIDEyLiBDb25jbHVzaW9ucwotIEJhc2Ugc8OybGlkYSBwZXIgZGVzZW52b2x1cGFtZW50Ci0gRWluZXMgcHJvZmVzc2lvbmFscyBkZXMgZGUgbCdpbmljaQotIEV2b2x1Y2nDsyBjb25zdGFudCB0ZWNub2xvZ2llcwotIERvbWluYXIgZm9uYW1lbnRzIGFiYW5zIGZyYW1ld29ya3M=
mindmap
root(("Arquitectures Web"))
id1["1. Introducció"]
id2["Model client-servidor"]
id3["Base desenvolupament modern"]
id4["Decisions tècniques"]
id5["2. Evolució Històrica"]
id6["Tim Berners-Lee 1989"]
id7["W3C estàndards"]
id8["Tipus pàgines"]
id9["Estàtiques"]
id10["Generades servidor"]
id11["AJAX"]
id12["SPA"]
id13["PWA"]
id14["3. Model Client-Servidor"]
id15["Client-side"]
id16["Navegador web"]
id17["Firefox, Chrome, Edge"]
id18["Interacció usuari"]
id19["Server-side"]
id20["Servidors físics"]
id21["Apache, NGINX"]
id22["Bases de dades"]
id23["Xarxa"]
id24["Protocol HTTP/HTTPS"]
id25["Comunicació bidireccional"]
id26["4. Arquitectura Client"]
id27["Tecnologies"]
id28["HTML: estructura"]
id29["CSS: presentació"]
id30["JavaScript: comportament"]
id31["Ecosistema JS"]
id32["Vanilla JS"]
id33["Llibreries: jQuery, React"]
id34["Frameworks: Angular, Vue, Svelte"]
id35["Limitacions"]
id36["Sandbox execució"]
id37["Same-Origin Policy"]
id38["No accés fitxers locals"]
id39["5. Arquitectura Servidor"]
id40["Components"]
id41["Servidor web"]
id42["Llenguatges: PHP, Node, Java"]
id43["Bases de dades"]
id44["Responsabilitats"]
id45["Emmagatzematge persistent"]
id46["Lògica de negoci"]
id47["Autenticació i seguretat"]
id48["6. Comparativa"]
id49["Validació formularis"]
id50["Client: UX instantània"]
id51["Servidor: Seguretat"]
id52["Accés dades"]
id53["Client: Visualització"]
id54["Servidor: Persistència"]
id55["Càlculs"]
id56["Client: Simples"]
id57["Servidor: Complexos"]
id58["7. Navegadors"]
id59["Principals"]
id60["Edge: Blink"]
id61["Firefox: Gecko"]
id62["Chrome: Blink"]
id63["Safari: WebKit"]
id64["Components"]
id65["Hipervincles"]
id66["Protocols HTTP/HTTPS"]
id67["Estàndards HTML"]
id68["8. Eines Desenvolupament"]
id69["IDEs"]
id70["Visual Studio Code"]
id71["WebStorm: JetBrains"]
id72["Llicències educatives"]
id73["Característiques WebStorm"]
id74["Autocompletat intel·ligent"]
id75["Depuració integrada"]
id76["Control versions Git"]
id77["Consola Web F12"]
id78["Xarxa: peticions HTTP"]
id79["CSS: errors"]
id80["JavaScript: debug"]
id81["9. Control Versions"]
id82["Git"]
id83["Seguiment canvis"]
id84["Col·laboració equip"]
id85["Recuperació versions"]
id86["Branching"]
id87["10. Millors Pràctiques"]
id88["Estàndards W3C"]
id89["Fitxers JS externs"]
id90["Progressive enhancement"]
id91["Separació concerns"]
id92["11. Tecnologies Modernes"]
id93["PWA"]
id94["Funcionen offline"]
id95["Adaptables"]
id96["Segures HTTPS"]
id97["Frameworks frontend"]
id98["React.js: Facebook"]
id99["Angular: Google"]
id100["Vue.js"]
id101["Svelte"]
id102["Backend modern"]
id103["Node.js"]
id104["Express.js"]
id105["Nest.js"]
id106["12. Conclusions"]
id107["Base sòlida"]
id108["Eines professionals"]
id109["Evolució constant"]
id110["Dominar fonaments"]