R4. Requeriments específics de Flutter

Per als nous desenvolupaments ha d'utilitzar-se Flutter, ja que és el framework que l'OSAM recomana fer servir en aquests casos, al ser la tecnologia escollida per l'Ajuntament com eina de desenvolupament al ser la que millor s'adapta a les seves necessitats en quant a qualitat, complexitat, velocitat i cost de desenvolupament.

A més dels requeriments d'aquesta pàgina, per a les aplicacions en Flutter s'han de tenir en compte els requeriments generals i específics per a cada plataforma:

R4.1. Estàndards de desenvolupament o Qualitat

R4.2. Eines de Desenvolupament

 

  • R4.2.3. Per gestionar millor els errors, es recomana utilitzar un paquet com Either (https://pub.dev/packages/either_dart) o fpdart (https://pub.dev/packages/fpdart). D'aquesta manera es pot controlar quan s'envia l'error a Firebase Crashlytics i el tipus d'error per a poder presentar-lo a l'usuari de manera més clara i controlada.

 

  • R4.2.4. És de implementació obligatoria el poder passar arxius .env en temps de compilació per la opció --dart-define-from-file (tutorial https://codewithandrea.com/tips/dart-define-from-file-env-json). Exemple: flutter build apk --dart-define-from-file=.env

    El .env haura d'estar en l'arrel del projecte i haura de contenir, com a mínim, les claus obligatòries del punt R1.1.6.3. També es podran afegir altres claus pròpies amb noms diferents a les obligatòries.

 

  • R4.2.5. S'hauran d'utilitzar de forma obligatòria, els valors obtinguts a partir del punt R4.2.4. Això vol dir que les claus hauràn de llegir-se en el codi corresponent:
    • Flutter - Dart
      • COMMON_MODULE_URL: Url de base per la API del mòdul comú
      • MAPBOX_PUBLIC_ACCESS_TOKEN: Token d'accès públic de Mapbox
    • Android - Kotlin (build.gradle.kts)
      • BRANCH_HOST_URL: Url del domini host de Branch
      • BRANCH_HOST_ALTERNATE_URL: Url alternativa del domini host de Branch
      • BRANCH_HOST_TEST_URL: Url del domini host en entorn TEST de Branch
      • BRANCH_HOST_TEST_ALTERNATE_URL: Url alternativa del domini host en entorn TEST de Branch
      • BRANCH_LIVE_KEY: Clau secreta de l'entorn LIVE de Branch
      • BRANCH_TEST_KEY: Clau secreta de l'entorn TEST de Branch
    • iOS
      • Info.plist
        • BRANCH_HOST_URL: Url del domini host de Branch
        • BRANCH_HOST_ALTERNATE_URL: Url alternativa del domini host de Branch
        • BRANCH_HOST_TEST_URL: Url del domini host en entorn TEST de Branch
        • BRANCH_HOST_TEST_ALTERNATE_URL: Url alternativa del domini host en entorn TEST de Branch
        • BRANCH_LIVE_KEY: Clau secreta de l'entorn LIVE de Branch
        • BRANCH_TEST_KEY: Clau secreta de l'entorn TEST de Branch
      • Runner.entitlements
        • BRANCH_HOST_URL: Url del domini host de Branch
        • BRANCH_HOST_ALTERNATE_URL: Url alternativa del domini host de Branch
        • BRANCH_HOST_TEST_URL: Url del domini host en entorn TEST de Branch
        • BRANCH_HOST_TEST_ALTERNATE_URL: Url alternativa del domini host en entorn TEST de Branch