Skip to content

Activitats i aplicacions del curs de Flutter al CIFO de l'Hospitalet 2024.

Notifications You must be signed in to change notification settings

Carleslc/cifo_flutter

Repository files navigation

cifo_flutter

Activitats i aplicacions del curs de Flutter al CIFO de l'Hospitalet 2024.

Cada carpeta és una aplicació independent que conté un README.md amb detalls de l'aplicació corresponent.

Importar una aplicació

Desenvolupament a IDX

Les aplicacions es poden importar directament al IDE web Project IDX.

Al repositori de cada aplicació hi ha un botó Open in IDX per importar el repositori a IDX i provar o modificar l'aplicació sense haver d'instal·lar-la en local. Recordeu seleccionar "This is a Flutter app".

Un cop s'hagi importat l'aplicació espereu a que carregui l'entorn i s'executi l'aplicació al web i a l'emulador Android.

Desenvolupament local

Es pot importar una aplicació individual clonant el seu repositori independent o totes alhora.

Per clonar només una aplicació, accedeix a la carpeta de l'aplicació desitjada, amb instruccions d'instal·lació individuals.

Per clonar aquest repositori amb totes les aplicacions com a submòduls, executa les següents comandes:

git clone --recurse-submodules https://github.com/Carleslc/cifo_flutter.git cifo_flutter
# GitHub CLI: gh repo clone Carleslc/cifo_flutter cifo_flutter -- --recurse-submodules

# Per actualitzar el repositori
git pull --recurse-submodules --all

Després accedeix a l'aplicació desitjada:

cd activitat_1_generador_noms

Instal·la les dependències:

flutter pub get

Es pot executar l'aplicació amb flutter run o desde l'IDE.

Recursos

Documentation

Code examples

Apps and Widgets examples

State management

Persistence

Packages

Icons

Fonts

Design

Colors

Inspiration

Testing

Security

Authentication

Cloud Storage

Push Notifications

Analytics

Release

Ads and in-app purchases

Other

CLI

Doctor

# Verifica la instal·lació de Flutter
flutter doctor

# Mostra més informació
flutter doctor -v

# Mostra la versió de Flutter i Dart
flutter --version

# Actualitza Flutter
flutter upgrade

Dependències

# Instal·la les dependències
flutter pub get

# Afegeix una dependència
flutter pub add google_fonts
flutter pub add flutter_localizations --sdk=flutter

# Actualitza les dependències
flutter pub upgrade

# Elimina una dependència
flutter pub remove google_fonts

Configuració

Activa o desactiva les plataformes suportades per flutter create:

flutter config --list
flutter config --no-enable-linux-desktop
flutter config --no-enable-macos-desktop
flutter config --no-enable-windows-desktop
flutter config --enable-android
flutter config --enable-ios
flutter config --enable-web

Linter

Al fitxer analysis_options.yaml (exemple) d'una aplicació es poden afegir regles d'estil per fer el codi més robust i llegible, segons la guia d'estil.

# Mostra els possibles problemes d'estil
dart fix --dry-run

# Corregeix els problemes d'estil trobats automàticament
dart fix --apply

Si cal ignorar el warning d'una regla determinada, es pot afegir un comentari a la línia o fitxer corresponent:

// ignore: directives_ordering
// ignore_for_file: directives_ordering

Dispositius

# Dispositius connectats
flutter devices

# Dispositius Android connectats
adb devices -l

# Captura de pantalla del dispositiu actual
flutter screenshot

# Simulador iOS (Xcode)
open -a Simulator

Connexió inal·làmbrica (Android)

Comprova la IP del dispositiu connectat per USB a la configuració del dispositiu.

# Connecta el dispositiu via TCP/IP
adb tcpip 5555
adb connect <IP>:5555

# Comproba els dispositius connectats
adb devices -l

Build

# Executa l'aplicació
flutter run # -h

Android

# APK
flutter build apk --debug
flutter build apk --release

# App Bundle
flutter build appbundle --debug
flutter build appbundle --release

# Instal·la l'aplicació al dispositiu
adb install -r build/app/outputs/flutter-apk/app-debug.apk
adb install -r build/app/outputs/flutter-apk/app-release.apk

# Instal·la l'aplicació en un dispositiu determinat (amb serial device-ID, p.e. emulator-5554)
adb -s device-ID install -r build/app/outputs/flutter-apk/app-debug.apk
adb -s device-ID install -r build/app/outputs/flutter-apk/app-release.apk

# Desinstal·la l'aplicació del dispositiu
adb uninstall com.example.demo_counter
adb -s device-ID uninstall com.example.demo_counter

iOS

flutter build ios --debug
flutter build ios --release

Web

flutter build web --debug
flutter build web --release

CORS

A vegades a la web no es mostren les imatges correctament.

Per solucionar-ho es pot canviar el mètode de renderitzat a l'hora d'executar l'aplicació:

# Debug on chrome to avoid CORS issues
flutter run -d chrome --web-renderer html

# Release for web with html renderer
flutter build web --web-renderer html --release

Per executar-ho amb Visual Studio Code afegeix la configuració de .vscode/launch.json.

Una alternativa per les imatges és utilitzar la llibreria image_network.

Clean

Esborra els directoris relacionats amb build:

flutter clean

Dart

Executa codi Dart independent:

dart --enable-asserts fitxer.dart

(Dev) Afegeix una aplicació

Per crear una nova aplicació (*):

flutter create --platform android,ios,web new_app

# Alternativament: ./create_flutter_app_idx.sh new_app

Després s'ha de pujar el codi a un nou repositori.

Per enllaçar el respositori de l'aplicació en aquest repositori:

git submodule add -b master https://github.com/Carleslc/cifo_flutter_new_app.git new_app
git submodule init && git submodule update

(*) Modificacions per IDX

Per tal de que funcioni directament a IDX s'han de fer alguns canvis:

  • Afegir la carpeta .idx i el fitxer dev.nix (es pot copiar la carpeta de qualsevol altre aplicació).

  • Modificar android/app/build.gradle per agafar bé els paràmetres flutter.versionCode i flutter.versionName tal i com s'utilitzen a IDX (es pot copiar de qualsevol altre aplicació, i canviar el nom del paquet de l'aplicació).

  • Utilitzar al pubspec.yaml un sdk de Dart i versió de Flutter suportades per IDX (flutter --version), per exemple '>=3.4.3'.

Es pot automatitzar aquest procés de creació utilitzant el script create_flutter_app_idx.sh:

chmod +x create_flutter_app_idx.sh

./create_flutter_app_idx.sh new_app

(Dev) Table of contents

Instal·la markdown-toc:

npm install -g markdown-toc

Afegeix aquesta línia al README on es vol insertar:

<!-- toc -->

Genera el Table of contents:

markdown-toc -i README.md

Nota: Els enllaços a GitHub accepten accents, sense ells poden no funcionar.

About

Activitats i aplicacions del curs de Flutter al CIFO de l'Hospitalet 2024.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages