Què és Dart?
Dart és un llenguatge de programació desenvolupat per Google, dissenyat per ser productiu, eficient i fàcil d'aprendre. És un llenguatge orientat a objectes amb una sintaxi similar a la de JavaScript, Java i C#. Dart és el llenguatge principal utilitzat per desenvolupar aplicacions amb Flutter.
Característiques Clau de Dart
- Orientat a Objectes: Tot en Dart és un objecte, incloent-hi els tipus primitius com els números i les cadenes de text.
- Sintaxi Familiar: La sintaxi de Dart és similar a la de molts altres llenguatges de programació populars, cosa que facilita l'aprenentatge.
- Compilació AOT i JIT: Dart pot ser compilat tant en temps d'execució (JIT) com en temps de compilació (AOT), oferint una bona combinació de desenvolupament ràpid i rendiment òptim.
- Tipatge Estàtic i Dinàmic: Dart permet definir tipus de dades de manera estàtica, però també pot inferir tipus automàticament, oferint flexibilitat als desenvolupadors.
Instal·lació de Dart
Abans de començar a programar en Dart, necessitem instal·lar el SDK de Dart. Aquí tens els passos per instal·lar-lo:
- Descarrega el SDK de Dart des del lloc oficial: dart.dev.
- Segueix les instruccions d'instal·lació per al teu sistema operatiu (Windows, macOS, Linux).
- Verifica la instal·lació obrint una terminal i executant el següent comandament:
Hauries de veure la versió de Dart instal·lada.dart --version
Estructura d'un Programa Dart
Un programa Dart típic comença amb una funció main()
, que és el punt d'entrada de l'aplicació. Aquí tens un exemple senzill:
Explicació del Codi
void main()
: Defineix la funció principal del programa.void
indica que la funció no retorna cap valor.print('Hola, món!')
: Aquesta línia imprimeix el text 'Hola, món!' a la consola.
Executar un Programa Dart
Per executar un programa Dart, guarda el codi en un fitxer amb extensió .dart
(per exemple, hola_mon.dart
) i executa el següent comandament a la terminal:
Hauries de veure la sortida Hola, món!
a la consola.
Conceptes Bàsics de Dart
Variables
En Dart, pots declarar variables utilitzant les paraules clau var
, final
o const
.
var
: Permet declarar una variable que pot canviar el seu valor.final
: Declara una variable que només pot ser assignada una vegada.const
: Declara una constant en temps de compilació.
Exemples:
Tipus de Dades
Dart suporta diversos tipus de dades, incloent-hi:
- Números:
int
,double
- Cadenes de Text:
String
- Booleans:
bool
- Llistes:
List
- Mapes:
Map
Exemples:
int enter = 10; double decimal = 3.14; String text = 'Hola'; bool esVeritat = true; List<int> llista = [1, 2, 3]; Map<String, int> mapa = {'clau1': 1, 'clau2': 2};
Sentències de Flux de Control
Dart suporta les sentències de flux de control habituals com if
, else
, for
, while
, i switch
.
Exemple d'ús de if
i else
:
Exemple d'ús de for
:
Exercicis Pràctics
Exercici 1: Hola, Nom!
Escriu un programa que demani a l'usuari el seu nom i imprimeixi un missatge de benvinguda.
import 'dart:io'; void main() { print('Introdueix el teu nom:'); String? nom = stdin.readLineSync(); print('Hola, $nom!'); }
Exercici 2: Calculadora Senzilla
Escriu un programa que demani a l'usuari dos números i imprimeixi la seva suma, resta, multiplicació i divisió.
import 'dart:io'; void main() { print('Introdueix el primer número:'); double num1 = double.parse(stdin.readLineSync()!); print('Introdueix el segon número:'); double num2 = double.parse(stdin.readLineSync()!); print('Suma: ${num1 + num2}'); print('Resta: ${num1 - num2}'); print('Multiplicació: ${num1 * num2}'); print('Divisió: ${num1 / num2}'); }
Conclusió
En aquesta secció, hem introduït el llenguatge de programació Dart, hem vist com instal·lar-lo i hem explorat alguns conceptes bàsics com les variables, els tipus de dades i les sentències de flux de control. A més, hem proporcionat alguns exercicis pràctics per reforçar els conceptes apresos. En la següent secció, aprofundirem en les variables i els tipus de dades en Dart.
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ó