Bonjour à tous. Je n'ai jamais eu à faire de développement, je sais juste programmer avec un niveau intermédiaire en Python, en Javascript (pour MongoDB) et en Bash(Linux). Disons que je ne sais pas rien non plus.
Je souhaite faire une application avant tout pour un usage personnel. Cette application a une mission simple: être un carnet de musculation. J'ai déjà téléchargé des applications pour cet usage par le passé. Elles sont si peu flexibles que j'ai fini par me tourner vers le papier: le bon vieux carnet avec un stylo et des cases préremplies mais modifiables très facilement durant la séance au besoin. Le bémol du papier c'est que ça ne fait pas les courbes d'évolution tout seul, c'est long et je ne le fais pas. Il est aussi pénible pour les calculs de poids à l'échauffement qu'il faut toujours calculer à la main auparavant alors qu'avec une application ça sera tellement plus simple car automatisé via des règles. Ça peut paraître pour de la pure flemme mais paraît-il un bon développeur est un bon fainéant.
Ça donne une idée de l'objectif: être aussi souple que sur du papier et automatique comme une machine.
Mon problème quant à faire un choix sur le type de langage et la plateforme de développement est que je ne veux pas une application lourde pour mon objectif. Comme je vous le disais je souhaite en faire un usage personnel pour mon loisir: il est évident que les historiques seront stockés dans le téléphone et pas sur un serveur top moumoute que je ne peux pas me payer de toute façon (donc on oublie AWS & co). Et j'ai conscience que ça peut prendre pas mal de place rien que pour cela car comme je le disais plus tôt je veux de la flexibilité donc les séances ne sont pas censées se ressembler toutes et les données non plus dans l'absolu (certaines séances contiendront plus de volume de données[Ko] clairement avec des structures différentes).
Or pour avoir traîné depuis un moment sur des forums et groupes de développement, j'ai vu pas mal de railleries sur Android Studio qui explose la RAM (autant dire que ça serait utiliser un bazooka pour tuer une mouche à mon niveau), que les frameworks sont bien sympas mais ils mobilisent un tas de dépendances dont on n'a pas forcément besoin alors ça prend de la place pour rien, enfin que Kotlin est bien si on n'a pas d'expérience (ce qui est mon cas) mais dans le même temps je me demande s'il est beaucoup moins optimal que Java.
Et je ne vous cite pas cela au hasard: Android Studio c'est ce qu'on nous rabâche dans les tutoriels même de débutants alors même que ce n'est forcément le bon choix.
En somme j'ai beau débuter, je ne veux pas me retrouver à faire la même erreur que les professionnels qui n'optimisent pas leurs codes (pour des questions de coûts de production, du client qui met trop la pression, etc, qu'importe la raison). Je suis mon seul patron dans cette histoire donc je n'ai pas de raison de ne pas optimiser. D'autant plus que c'est ce qui m'agace passablement avec les applications: elles prennent vite trop de place à cause de ce fléau, ralentisse le système... et me pousse à me servir par moi-même.
Voilà, j'espère que j'ai suffisamment éclairci mes objectifs: être très flexible sans être lourd (pas simple quand on ne s'y connaît pas). Est-ce envisageable avec un niveau débutant ? Quel langage et plateforme de développement devrais-je utiliser à mon niveau d'après vous ? Tout en sachant que j'utilise Ubuntu 18.04.5 LTS et que le téléphone sur lequel je souhaite utiliser l'application sera un Android version 8.0.
Partager