Flutter Web és una extensió del framework Flutter que permet desenvolupar aplicacions web utilitzant el mateix codi base que s'utilitza per a aplicacions mòbils. Aquesta capacitat de reutilitzar el codi facilita la creació d'aplicacions multiplataforma amb una única base de codi, estalviant temps i recursos.
Objectius d'aquest Tema
- Comprendre què és Flutter Web i les seves capacitats.
- Aprendre a configurar l'entorn per desenvolupar aplicacions web amb Flutter.
- Crear una aplicació web bàsica amb Flutter.
Què és Flutter Web?
Flutter Web permet als desenvolupadors crear aplicacions web interactives i responsives utilitzant el mateix framework que s'utilitza per a aplicacions mòbils. Algunes de les característiques clau de Flutter Web inclouen:
- Reutilització de Codi: Utilitza el mateix codi base per a aplicacions mòbils i web.
- Renderització Ràpida: Utilitza el motor de renderització de Flutter per proporcionar una experiència d'usuari fluida.
- Components UI Consistents: Els widgets de Flutter es comporten de la mateixa manera en totes les plataformes.
Configuració de l'Entorn per a Flutter Web
Requisits Previs
Abans de començar, assegura't de tenir instal·lats els següents components:
- Flutter SDK
- Dart SDK
- Un editor de codi (recomanat: Visual Studio Code o IntelliJ IDEA)
Passos per Configurar l'Entorn
-
Actualitza Flutter a la Versió Més Recent:
flutter upgrade
-
Activa el Suport per a Web:
flutter config --enable-web
-
Crea un Nou Projecte Flutter:
flutter create my_flutter_web_app cd my_flutter_web_app
-
Executa l'Aplicació en un Navegador:
flutter run -d chrome
Creació d'una Aplicació Web Bàsica amb Flutter
Estructura del Projecte
Un projecte Flutter Web té una estructura similar a un projecte Flutter mòbil. La diferència principal és la presència d'una carpeta web
que conté els fitxers específics per a la web.
Exemple de Codi
A continuació, es mostra un exemple senzill d'una aplicació Flutter Web que mostra un text al centre de la pantalla.
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Web Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Flutter Web Demo'), ), body: Center( child: Text( 'Hola, Flutter Web!', style: TextStyle(fontSize: 24), ), ), ); } }
Explicació del Codi
- main(): La funció principal que inicia l'aplicació.
- MyApp: Un widget sense estat que configura el tema de l'aplicació i defineix la pàgina inicial.
- MyHomePage: Un widget sense estat que defineix la interfície d'usuari de la pàgina inicial, incloent una barra d'aplicació i un text centrat.
Exercici Pràctic
Exercici
Crea una aplicació Flutter Web que mostri un botó al centre de la pantalla. Quan es faci clic al botó, el text del botó ha de canviar a "Has fet clic!".
Solució
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Web Button Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { String buttonText = "Fes clic aquí"; void _updateText() { setState(() { buttonText = "Has fet clic!"; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Flutter Web Button Demo'), ), body: Center( child: ElevatedButton( onPressed: _updateText, child: Text(buttonText), ), ), ); } }
Explicació del Codi
- _MyHomePageState: Un widget amb estat que manté el text del botó.
- _updateText(): Una funció que actualitza el text del botó quan es fa clic.
- ElevatedButton: Un botó elevat que crida
_updateText
quan es prem.
Conclusió
En aquesta secció, hem après què és Flutter Web, com configurar l'entorn de desenvolupament i com crear una aplicació web bàsica amb Flutter. Amb aquests coneixements, estàs preparat per explorar més funcions avançades de Flutter Web i crear aplicacions web més complexes.
Curs de Desenvolupament Flutter
Mòdul 1: Introducció a Flutter
- Què és Flutter?
- Configuració de l'Entorn de Desenvolupament
- Comprensió de l'Arquitectura de Flutter
- Creació de la Teva Primera Aplicació Flutter
Mòdul 2: Conceptes Bàsics de Programació en Dart
- Introducció a Dart
- Variables i Tipus de Dades
- Sentències de Flux de Control
- Funcions i Mètodes
- Programació Orientada a Objectes en Dart
Mòdul 3: Widgets de Flutter
- Introducció als Widgets
- Widgets Stateless vs Stateful
- Widgets Bàsics
- Widgets de Disseny
- Widgets d'Entrada i Formulari
Mòdul 4: Gestió de l'Estat
Mòdul 5: Navegació i Enrutament
- Introducció a la Navegació
- Navegació Bàsica
- Rutes Nomenades
- Passar Dades Entre Pantalles
- Deep Linking
Mòdul 6: Xarxes i APIs
- Obtenir Dades d'Internet
- Analitzar Dades JSON
- Gestió d'Errors de Xarxa
- Ús d'APIs REST
- Integració de GraphQL
Mòdul 7: Persistència i Emmagatzematge
- Introducció a la Persistència
- Preferències Compartides
- Emmagatzematge de Fitxers
- Base de Dades SQLite
- Ús de Hive per a l'Emmagatzematge Local
Mòdul 8: Conceptes Avançats de Flutter
- Animacions en Flutter
- Pintura Personalitzada i Canvas
- Canals de Plataforma
- Isolates i Concurrència
- Optimització del Rendiment
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries
- Proves de Widgets
- Proves d'Integració
- Tècniques de Depuració
Mòdul 10: Desplegament i Manteniment
- Preparació per al Llançament
- Construcció per a iOS
- Construcció per a Android
- Integració i Desplegament Continu (CI/CD)
- Manteniment i Actualització de la Teva Aplicació