Chroma-Case / Chromacase

3 stars 0 forks source link

Recherche Kotlin #283

Closed Arthi-chaud closed 1 year ago

Arthi-chaud commented 1 year ago

En tant que

Dévelopeur

Je veux

Savoir quelles sont les possibilités avec Kotlin

Estimation du temps

4J/H

Description

Kotlin est une technologie qui permet de facilement faire des applications mobiles cross plateformes Android/iOS. Il serait intéressant d'étudier les possibilités du langage pour développer l'application mobile de Chromacase.

Definition of Done (DoD)

Arthi-chaud commented 1 year ago

Recherches

Architecture

Navigation

Beaucoup de lib de nvaigations reposent sur une librairie d'architecture (ex: BLoC). Cependant, il existe Voyager qui permet degerer simplement la navigation avec des données en paramètres, des transitions et des stack nestées (cf. Settings)

Gestion de l'identité visuelle

Jetpack Compose propose l'intégration d'un MaterialTheme, qui suit les guidelines Material. Il est possible de customiser les couleurs, les typographies et les formes. Un exemple d'architecture de theme est trouvable ici Pour appliquer un theme, il suffit de wrapper un component (ou l'app entière) avec le dit theme (Exemple ici).

Validation des données

La validation des données se fait simplement, il suffit de

Caching des données

Le HttpClient etant flexible, il est possible d'y ajouter un Cache de requests qui peut être persisté en mémoire ou sous la forme d'un fichier (cf. doc). Cependant, cela ne semble pas très flexible: Il est difficile d'invalider des requêtes. Les clients HTTP etant peu nombreux, et etant donné que nous utilisons très peu le caching dans le front web, nous ne comptons pas l'implémenter dans l'application.

WebSockets

Krossbow est la seule librairie qui permet de communiquer en WebSockets. Elle est maintenue, et a peu d'issues