Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programació d'aplicacions en tecnologia web, Apuntes de Programación Web y Tecnologías

Programació d'aplicacions en tecnologia web apuntes

Tipo: Apuntes

2022/2023

Subido el 31/03/2023

asiercm
asiercm 🇪🇸

8 documentos

1 / 45

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Programació d’Aplicacions en Tecnologia Web
Introducció a les Tecnologies Web
Aplicacions
En un sentit genèric, una aplicació és un programa informàtic desenvolupat amb un
llenguatge de programació i pensat per a ser executat en un entorn operatiu.
Actualment, solem parlar dels següents tipus d’aplicacions:
1. Aplicacions natives
2. Aplicacions híbrides
3. Aplicacions web
Aplicacions natives
Programació específica per a una plataforma específica (cpu i sistema operatiu)
PROS:
Accés sense restriccions a la plataforma (hw i sw)
Alt rendiment
Funcionament offline
CONS:
Cost de desenvolupament
Cost de manteniment
Procés actualització
Requereixen instal·lació (espai)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Vista previa parcial del texto

¡Descarga Programació d'aplicacions en tecnologia web y más Apuntes en PDF de Programación Web y Tecnologías solo en Docsity!

Introducció a les Tecnologies Web

Aplicacions

En un sentit genèric, una aplicació és un programa informàtic desenvolupat amb un llenguatge de programació i pensat per a ser executat en un entorn operatiu. Actualment, solem parlar dels següents tipus d’aplicacions:

  1. Aplicacions natives
  2. Aplicacions híbrides
  3. Aplicacions web Aplicacions natives Programació específica per a una plataforma específica (cpu i sistema operatiu)
  • PROS:
  • Accés sense restriccions a la plataforma (hw i sw)
  • Alt rendiment
  • Funcionament offline
  • CONS:
  • Cost de desenvolupament
  • Cost de manteniment
  • Procés actualització
  • Requereixen instal·lació (espai)

Aplicacions híbrides

  • Programació genèrica per a un entorn operatiu multiplataforma.
  • PROS:
    • Cost de desenvolupament
    • Cost de manteniment
    • Funcionament offline
  • CONS:
    • Accés limitat a la plataforma nativa
    • Rendiment
    • Requereixen instal·lació (espai) Aplicacions web
  • Programació genèrica per a l’execució en un navegador.
  • PROS:
  • Cost de desenvolupament
  • Cost de manteniment
  • Actualitzacions
  • No cal instal·lació
  • CONS:
  • Funcionament online
  • Accés molt limitat a la plataforma

El número de comandes en HTTP és força limitat: Protocol HTTP/S > Peticions GET en HTML També podem generar una petició GET directament des d’un link: _

Test de GET

_

Protocol HTTP/S > Peticions POST en HTML Protocol HTTP/S > Recepció al costat servidor Tots els llenguatges de costat servidor tenen mètodes per tal d’extreure tota la informació de les peticions HTTP. En el cas de PHP, es fa a través d’unes variables denominades superglobals. Per ara, són especialment interessants $_GET, $_POST i $_SERVER Protocol HTTP/S > Recepció de GET en PHP Protocol HTTP/S > Recepció de POST en PHP

Protocol HTTP/S > Sessions en PHP Protocol HTTP/S > Dades El protocol HTTP/S permet enviar pràcticament qualsevol tipus de dades. Inicialment, la naturalesa de les dades a enviar s’especifiquen a la capçalera seguint l’estàndard MIME i dins del camp content-type.

Tipus d’aplicacions web

Al llarg dels anys han aparegut diferents tecnologies que han permès ampliar el ventall de possibilitats a l’hora de crear una aplicació web. Una aplicació web pot ser:

  • Estàtica. Les dades que es presenten són fixes. Per tant, l’usuari final sempre obté el mateix resultat.
  • Dinàmica. Les dades que es presenten es generen en el moment de fer la petició i, per tant, el resultat pot variar d’un moment a l’altre. Aplicacions web estàtiques En aquest cas, el servidor atén les peticions del client i simplement localitza i enviar els arxius demanats. web dinàmiques costat servidor Server Side Aplicacions Rendering (SSR) L’usuari envia una petició a una aplicació del costat servidor (PHP, Python...) que s’encarrega d’obtenir les dades i de generar el resultat a enviar al client (HTML, CSS, JS). Aplicacions web dinàmiques costat servidor Server Side Rendering (SSR) – Dades Les dades normalment s’emmagatzemen en SGBD generalment relacional (p.e. MySQL) encara que també podrien venir de SGBD no relacionals o NoSQL(com ara MongoDB). L’aplicació de costat client s’encarrega de connectar al SGBD, gestionar les dades i generar la resposta (HTML, CSS i JS)

Aplicacions web dinàmiques costat client Client Side Rendering (CSR)

  • PROS:
    • Single Page Application
    • Alta interactivitat
  • CONS:
    • Temps de càrrega
    • SEO
    • Dependència del navegador

PWA: entre natives i web

Les Progressive Web Application (PWA) són aplicacions web instal·lables i que, òbviament, s’executen dins de l’entorn operatiu d’un navegador. L’aparença és el d’una aplicació nativa convencional. A nivell tecnològic implica l’ús d’un service worker, una capa desenvolupada en javascript, capaç de treballar en segon pla i que fa de proxy entre el navegador i el servidor web. Actualment en procés de fort desenvolupament.

Desenvolupar una aplicació web

Avui dia el desenvolupament d’una aplicació web inclou un bon número d’habilitats, coneixements i tecnologies associades. És habitual veure els següents rols professionals:

  • Desenvolupador Frontend
  • Desenvolupador Backend
  • Desenvolupador Full Stack Desenvolupar al Frontend Són les persones encarregades de la correcta execució de l’aplicació web en el navegador. Ha de tenir coneixements de:
  • Tecnologies i frameworks del costat client
  • UX
  • Usabilitat
  • Accessibilitat
  • Disseny web
  • Responsive Web Design – Mobile First
  • Progressive Enhancement
  • Seguretat
  • SEO Desenvolupar al Backend Son les persones encarregades de la correcta execució de l’aplicació en el servidor tant pel que fa al seu objectiu (la lògica de negoci) com altres temes com ara la seguretat, el rendiment i l’escalabilitat. Ha de tenir coneixements de:
  • Tecnologies i frameworks del costat servidor
  • Arquitectures de servidors
  • Arquitectures del software
  • Disseny i administració de BBDD
  • Seguretat Tecnologies de Backend Desenvolupar FullStack

Sistemes Gestors de Bases de Dades (SGBD)

Tipologies de Sistemes Gestors de Bases de Dades (SGBD)

A vista d’ocell, avui dia hi ha dos grans tipologies de SGDB:

  1. SGBD Relacionals. Les dades s’emmagatzemen en taules interconnectades a través de claus compartides. Té avantatges (facilitat d’ús, permeten reduir al màxim l’espai d’emmagatzematge necessari, fer noves consultes complexes...) però, depenent de l’aplicació, poden tenir problemes importants (rendiment, escalabilitat, flexibilitat...)
  2. SGBD No Relacionals (NoSQL). Comencen a tenir un rol important en aquest segle i neixen com a resposta a les limitacions que els SGBDR tenen per les aplicacions que requereixen un alt volum d’informació i un tràfic molt elevat (Big Data, IoT ...). Solen ser molt flexibles i escalables cosa que, evidentment, no és a cost zero (també tenen inconvenients).

Sistemes Gestors de Bases de Dades NoSQL

Sistemes Gestors de Bases de Dades Relacionals (SGBDR)

Sistemes Gestors de Bases de Dades

Relacionals (SGBDR). SQL

  1. DDL – Data Definition Language
  2. DQL – Data Query Language
  3. DML – Data Manipulation Language
  4. DCL – Data Control Language

Sistemes Gestors de Bases de Dades Relacionals (SGBDR)

  • Són els sistemes tradicionals i segueixen tenint un paper molt important en el ecosistema de desenvolupament actual.
  • Compleix amb ACID (a no ser que ho fem malament...)

Disseny de Bases de Dades Relacionals. Model conceptual. Cardinalitat Disseny de Bases de Dades Relacionals. Model conceptual. Entitats dèbils. Una clau primària “normal” de ´l’entitat transacció no és suficient: la seva de transacció ha d’incloure la clau del compte. Això s’anomena identifying relationship

Disseny de Bases de Dades Relacionals. Model lògic. Un model de dades lògic descriu les dades amb el major detall possible, independentment de com s'implementaran físicament en la base de dades. Característiques:

  1. Inclou totes les entitats i relacions entre elles.
  2. Tots els atributs per a cada entitat.
  3. La clau principal per a cada entitat.
  4. S'especifiquen les claus externes.
  5. Es normalitzen les dades. Disseny de Bases de Dades Relacionals. Model lògic. Formes normals Primera forma normal (1FN)
  6. Totes les dades són atòmiques.
  7. Totes les columnes contenen el mateix tipus de dades. Segona forma normal (2FN)
  8. Complir 1FN
  9. Els atributs que no formen part de cap clau han de dependre funcionalment de tota la clau primària. Tercera forma normal (3FN)
  10. Complir la 2FN
  11. Els atributs no-clau no poden dependre de manera transitiva d'una clau candidata. Disseny de Bases de Dades Relacionals. Model conceptual i lògic Disseny de Bases de Dades Relacionals.Model físic. Es crea una descripció completa de la BBDD i específica per al SGBD on l’implantarem

Diagrama físic:

Programació Orientada a Objectes en PHP

Necessitat

La Programació Orientada a Objectes és un paradigma de programació que ha canviat la forma i visió en què es desenvolupen les aplicacions actuals. Excepte per a aplicacions molt específiques (i que podem considerar anecdòtiques), avui dia, és quasi obligatori saber programar en objectes.

D’on venim...

En els primers moments de la informàtica “moderna” hi havia un context molt limitat:

  • Molt poca capacitat de càlcul
  • Molt poca capacitat d’emmagatzematge (memòria primària i secundària)
  • Molt poques eines de desenvolupament (en el millor dels casos, assembler )
  • Sense connexió dels sistemes (o quasi) Com a conseqüència: aplicacions petites/simples, difícils de mantenir i, sovint, de la mà d’una única persona.