C, Sex and Sun

Plus d’un mois après la présentation express je vois la deadline de la présentation alpha qui approche et il est temps de faire un point.

Ma stratégie depuis mon dernier post était plutôt simple : j’ai compris que je bloquais sur le principe parce que je n’arrivais pas à correctement visualiser ce que je voulais créer.
Même en posant des mots dessus je sentais que ça restait assez flou.

Du coup le meilleur moyen pour sortir de cette impasse c’était d’y aller franchement et de plancher sur un prototype pour y voir plus clair. Mon projet se dirige plus vers le mobile pour profiter des interactions au toucher, je vais essayer de developper ça sous iOS.

À l’aise, plus d’un mois pour faire un prototype fonctionnel avant la présentation alpha ça va le faire !

Le Swift

Logo_Apple_SwiftHyper enthousiaste de me lancer dans quelque chose de nouveau, je me tourne vers le Swift, le langage de programmation lancé par Apple en 2014. Ça parait clairement être l’avenir du développement sous iOS, il a l’air d’être très bon et plutôt facile.

Mais je me rends compte qu’il est plutôt déconseillé de commencer par là pour un débutant car il vaut mieux connaitre l’Objective-C pour avoir les bases. Aussi, le Swift en encore tout jeune et il n’y a pas autant de ressources que pour les autres langages.

L’Objective-C

Xcode_iconC’est décidé, je me lance dans l’Objective-C. Les ressources ne manquent pas sur le web et je trouve largement de quoi démarrer le développement sur iOS à partir de zéro. Je décide de me concentrer sur les cours de Treehouse et d’Openclassrooms.
Mais l’ObjC est une extension du langage C et je dois encore faire un pas en arrière pour en apprendre les bases.

Le C

Jusqu’ici mon approche de la programmation était toujours orientée web et plutôt sommaire. Je me sers un petit peu du JavaScript et du PHP mais, même si j’aime comprendre ce qu’il se passe dans mon code, je démarre rarement from scratch.

C’est donc plutôt corsé pour moi de me lancer dans de la programmation pure et dure. Même si les débuts ressemblent fortement à ce que je connais avec une syntaxe légèrement différente , je me rends compte assez vite que c’est plus compliqué que ce que je pensais. Je découvre ce qu’est un langage compilé de bas niveau, comment je dois faire gaffe à la gestion de la mémoire et comment faire des choses simples peut être très vite un casse tête.

11026545_10205500630493741_262981222_n_2

J’ai passé pas mal de temps à travailler dans la console pour apprendre comment ça fonctionnait, c’est intéressant mais aussi frustrant parce qu’il m’a fallu beaucoup de temps pour apprendre correctement les bases et me lancer enfin dans le simulateur iOS.

Au bout de trois semaines d’apprentissage intensif… Je sais faire réagir un label en appuyant sur un bouton.
Rien de bien excitant avec les gestures, presque rien au niveau de l’interface, rien de connecté avec le net et évidemment encore moins avec une autre personne.

C’est très frustrant de bosser intensément pendant plusieurs semaines pour ne presque pas avancer. J’adore apprendre le développement sur iOS, c’est passionnant et j’aimerais avoir le temps d’apprendre tout ça tranquillement mais je suis tenu par le temps avec mon projet.

La présentation alpha est dans deux semaines, et mon rêve d’avoir un prototype fonctionnel à présenter est bien loin. Du coup une remise en question est nécessaire et j’identifie deux très gros problèmes :

  • Au point où j’en suis aujourd’hui je pense qu’il est physiquement impossible d’arriver à developper ce que j’avais en tête d’ici juin.
  •  La présentation alpha est dans 15 jours et je n’ai absolument rien à montrer.

Les solutions possibles :

  • Je continue le développement iOS et réajuste un poil mon projet pour qu’il colle avec ce que je vais être capable de faire d’ici juin.

Je ne veux pas perdre ma base de réflexion et mes objectifs resteraient les mêmes mais la solution proposée serait quelque chose de beaucoup plus simple techniquement.
Aujourd’hui je ne sais pas encore jusqu’où je serais capable d’aller d’ici à l’examen.

  • Je me tourne vers une technique plus simple et que je connais plus. Cela pourrait continuer à être sur mobile avec une application hybride ou je pourrais complètement basculer sur desktop.
    Pour le coup c’est un peu moins excitant et pas mal frustrant de lâcher tout ce que j’ai appris en développement natif. Mais ça me permettrait peut être d’aller plus loin. Bien que je ne suis pas sûr du tout d’arriver à ce que je voulais faire à la base non plus.

Il me reste la question de la présentation alpha. J’ai des outils de prototypage (Mockup.io, Ionic, Reapp) sous la main, je ne les aient absolument pas testé mais ça peut être la solution pour ne pas arriver les mains vides dans deux semaines..

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>