Un attrape-idées, presque un hackathon, ou comment pomper rapidement une équipe dans Dart / Flutter

image



Donc, étant donné: l'équipe de développement est un peu plus de 50 personnes. Nous sommes principalement engagés dans le développement Web avec toutes sortes d'intégrations, de comptes personnels et de commerce électronique. Récemment, cependant, environ 20% est le développement mobile. Il existe également une équipe compacte distincte qui écrit dans Dart / Flutter.



Objectif: préparer autant de programmeurs de l'équipe principale que possible aux tâches de développement mobile.



Les principales piles mobiles que nous utilisions auparavant sont React.Native et Flutter. La portabilité est importante pour nous, ils l'achètent. Les deux plates-formes ont fait leurs preuves pour le développement d'applications commerciales. Il existe des limitations connues et des plaintes de la part des développeurs, mais c'est un sujet pour un article séparé ("Il n'y a que deux types de langages de programmation: ceux que les gens ne jurent pas du tout, et ceux que personne n'utilise" Bjarne Stroustrup).



Par exemple, les applications Flutter se révèlent plus sexy et plus rapides (que React.Native), mais quand il s'agit de widgets , vous devez écrire en natif. Historiquement, nous avons plus de réactifs (il est assez facile de passer de web React à React.Native), mais les développeurs Dart / Flutter sont des animaux rares.



Nous avions déjà une expérience dans le développement de projets dans le cadre de hackathons (oldies gratuit HelpDesk , Huizhin , planning poker et un couple plus exploits). Mais la pratique a montré que prendre une technologie inconnue dans le cadre d'un hackathon est une entreprise désastreuse. La moitié du temps sera le peaufinage des IDE.



J'ai décidé de faire un concours interne avec de l'argent et des prix pour les trois premières places. Le juge aurait dû être la même équipe compacte et expérimentée qui avait déjà mangé le chien sur Flutter. Reste à choisir un projet pas très difficile. Il est souhaitable qu'il ait une autre signification pratique. Je dirai tout de suite que tout ne s'est pas bien passé, l'inexpérience dans de telles matières affectée.



Nous avons décidé de réincarner Squarespace.Note, que son développeur a cessé de supporter à un moment donné. Il s'agit d'un "capteur d'idées" que vous ouvrez, écrivez une note à vous-même et envoyez-la à votre todushnik ou par e-mail. Oui, l'idée de vous envoyer des messages semble plutôt étrange à première vue, mais c'est avant d'apprendre à connaître les principes de GTD.



Un concours interne a été annoncé. Le projet a été nommé SingularityNote. Nous avons remis aux développeurs un design, un backlog, une pile technologique (Dart + Flutter ou React.Native) et tous les cas de concours: règles, jury et prize pool.



image



La seule copie restante de Squarespace.Notez que nous avons accidentellement trouvé sur une ancienne station d'accueil iPod, où les testeurs rechargent leur zoo de téléphones portables.



Qu'écrit-on



La tâche est simple: pendant 3 semaines du Nouvel An (le concours a eu lieu au tout début de 2020), créer un éditeur de notes minimaliste avec la possibilité d'envoyer une note à SingularityApp, email ou Evernote.



Caractéristiques de l'application compétitive:



  1. une note peut être envoyée sur votre SingularityApp , Evernote ou par mail (+ paramétrage de leur liaison, + états des icônes en fonction des paramètres d'envoi),
  2. vous pouvez joindre une image de la galerie d'appareils ou un instantané d'une caméra à une note,
  3. fonctions - minimum. Toutes les manipulations avec des notes - d'un seul coup:

    • Envoyer une note terminée? Balayez vers le haut.
    • Supprimer? Balayez vers le bas.
    • Voir toutes les notes envoyées? Balayez vers la droite.
    • Modifier les paramètres? Balayez vers la gauche.
    • Et changer de thème lorsque vous secouez votre téléphone.
  4. langue de l'interface - ru / en, selon l'emplacement de l'utilisateur,
  5. pour chaque note envoyée dans la liste, vous pouvez voir: le début du texte, la date de création, l'endroit où il a été envoyé,
  6. si la note n'a pas pu être envoyée (par exemple, il n'y a pas d'Internet), elle devient grise et lorsque vous appuyez dessus, elle est renvoyée,
  7. bannière publicitaire pour notre projet connexe.




Pile technologique et critères d'évaluation



Selon les conditions, le projet pourrait être réalisé pour:



  1. React Native (React + Redux (préféré) / Mobx (locomotive à vapeur).
  2. Dart + Flutter (le motif BLoc doit être utilisé).




Le côté esthétique a été évalué par le directeur artistique. Convivialité et fluidité des interfaces - testeur. Qualité du code - programmeurs expérimentés dans le développement mobile.



Pour être éligible au concours, une candidature doit:



  • contiennent des fonctionnalités obligatoires (sans elles, le projet n'est pas considéré, disqualification);
  • être pleinement fonctionnel et couvrir toute la chaîne de travail (à l'exception des éléments marqués comme «souhaitables» dans les performances);
  • être développé sur une pile technologique répertoriée;
  • être développé exclusivement pendant les heures creuses;
  • et aucune coopération avec le jury.


Comment c'était



Quatre équipes de développement ont décidé de participer. Commencez le 4 janvier. Sur le chemin, une équipe a fusionné. Les autres, le 27 janvier, soumettent leurs travaux au jury pour évaluation. Évalué par deux paramètres:



  1. Code culturel. Il ne doit pas y avoir de "jeu" dans le code, et il peut être facilement maintenu (de 1 à 10 points),
  2. Convivialité. Qualité de la mise en œuvre. Stabilité de l'application (de 1 à 10 points).


Le jugement est ouvert. L'application avec le plus de points l'emporte.



Quoi alors



Ensuite, nous avons finalisé ce qui devait être finalisé et envoyé l'application sur le Google Play et l'App Store officiels. Nous avons dessiné et aménagé les landos.



-



 ,   .  Android,    iOS.   iOS —  ,    Evernote ( PRO- Evernote), QR-   .



:



  •   ,   .
  •    , .


 :



  •  , .       , .
  • Il a fallu beaucoup de temps pour peaufiner et affiner même la décision qui avait été prise pour la première place. Le projet a été mis de côté car il y avait tellement de travail à faire avec ces virus corona que ce n'était pas du tout à la hauteur.
  • Les hackathons sont des trucs amusants. Mais la compétition demande beaucoup d'efforts et de discipline.


Je ne sais pas si nous pourrons trouver un équilibre entre les avantages pratiques et le buzz du développement la prochaine fois, mais nous le sentirons. Si quelqu'un a l'expérience de combiner l'utile à l'agréable, je serai ravi de recevoir des commentaires.



Vous pouvez tout voir ici

google play

eepstore .



All Articles