El desenvolupament web és una disciplina que implica la creació i manteniment de llocs web i aplicacions web. Aquest camp abasta una àmplia gamma de tecnologies i eines que permeten als desenvolupadors construir des de pàgines web senzilles fins a aplicacions web complexes i dinàmiques. En aquest tema, explorarem els conceptes bàsics del desenvolupament web, les tecnologies clau i com Python s'utilitza en aquest context.
Conceptes Bàsics del Desenvolupament Web
- Client i Servidor
- Client: És el navegador web o aplicació que sol·licita informació al servidor. Exemples de clients són Google Chrome, Firefox, Safari, etc.
- Servidor: És el sistema que processa les sol·licituds del client i retorna les respostes adequades. Exemples de servidors web són Apache, Nginx, etc.
- Protocol HTTP/HTTPS
- HTTP (HyperText Transfer Protocol): És el protocol utilitzat per transferir dades a través de la web. És un protocol sense estat, el que significa que cada sol·licitud és independent.
- HTTPS (HTTP Secure): És una versió segura de HTTP que utilitza SSL/TLS per encriptar les dades transferides entre el client i el servidor.
- Frontend i Backend
- Frontend: És la part del lloc web amb la qual els usuaris interactuen directament. Inclou HTML, CSS i JavaScript.
- Backend: És la part del lloc web que gestiona la lògica de l'aplicació, les bases de dades, l'autenticació, etc. Python és una llengua popular per al desenvolupament backend.
- Tecnologies Clau
- HTML (HyperText Markup Language): Utilitzat per estructurar el contingut d'una pàgina web.
- CSS (Cascading Style Sheets): Utilitzat per estilitzar el contingut HTML.
- JavaScript: Utilitzat per crear interactivitat en les pàgines web.
Python en el Desenvolupament Web
Python és una llengua de programació versàtil que s'utilitza àmpliament en el desenvolupament web, especialment en el backend. Algunes de les raons per les quals Python és popular en aquest camp inclouen:
- Simplicitat i Llegibilitat: Python té una sintaxi clara i fàcil de llegir, el que fa que el codi sigui més mantenible.
- Gran Comunitat i Suport: Python té una comunitat activa i una àmplia gamma de biblioteques i frameworks que faciliten el desenvolupament web.
- Frameworks Potents: Python compta amb frameworks com Django i Flask que simplifiquen el desenvolupament d'aplicacions web.
Frameworks de Desenvolupament Web en Python
1. Flask
Flask és un microframework lleuger per al desenvolupament web en Python. És ideal per a aplicacions petites i mitjanes i ofereix gran flexibilitat.
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hola, món!" if __name__ == '__main__': app.run(debug=True)
2. Django
Django és un framework de desenvolupament web d'alt nivell que fomenta el desenvolupament ràpid i un disseny net i pragmàtic. És ideal per a aplicacions grans i complexes.
# mysite/settings.py INSTALLED_APPS = [ ... 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', ] # myapp/views.py from django.http import HttpResponse def home(request): return HttpResponse("Hola, món!") # mysite/urls.py from django.contrib import admin from django.urls import path from myapp import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.home), ]
Exercicis Pràctics
Exercici 1: Crear una Aplicació Senzilla amb Flask
- Instal·la Flask utilitzant pip:
pip install flask
- Crea un fitxer
app.py
amb el següent contingut:from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hola, món!" if __name__ == '__main__': app.run(debug=True)
- Executa l'aplicació:
python app.py
- Obre el navegador i visita
http://127.0.0.1:5000/
per veure el resultat.
Exercici 2: Crear una Aplicació Senzilla amb Django
- Instal·la Django utilitzant pip:
pip install django
- Crea un nou projecte Django:
django-admin startproject mysite cd mysite
- Crea una nova aplicació dins del projecte:
python manage.py startapp myapp
- Afegeix
myapp
a la llista d'aplicacions instal·lades enmysite/settings.py
:INSTALLED_APPS = [ ... 'myapp', ]
- Defineix una vista en
myapp/views.py
:from django.http import HttpResponse def home(request): return HttpResponse("Hola, món!")
- Configura les URL en
mysite/urls.py
:from django.contrib import admin from django.urls import path from myapp import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.home), ]
- Executa el servidor de desenvolupament:
python manage.py runserver
- Obre el navegador i visita
http://127.0.0.1:8000/
per veure el resultat.
Resum
En aquesta secció, hem introduït els conceptes bàsics del desenvolupament web, incloent-hi la diferència entre client i servidor, els protocols HTTP/HTTPS, i les tecnologies clau com HTML, CSS i JavaScript. També hem explorat com Python s'utilitza en el desenvolupament web, destacant els frameworks Flask i Django. Finalment, hem proporcionat exercicis pràctics per crear aplicacions senzilles amb aquests frameworks. En el següent tema, aprofundirem en els conceptes bàsics del framework Flask.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn