Comment j'ai créé plus de 100 applications Open Source à l'aide d'outils d'automatisation

Nous vous présentons une traduction de l'article Sm0ke publié sur dev.to. L'auteur parle de son expérience dans la génération d'applications Web et comment automatiser le processus de création de celles-ci.

Salut les codeurs!

Je suis développeur indépendant et j'ai généré plus de 100 applications dans différentes langues et plates-formes à l'aide d'outils d'automatisation, d' analyse HTML et d'un code passe-partout .

Toutes mes applications, payantes et gratuites, se trouvent dans le référentiel ouvert de GitHub. J'en parlerai dans cet article.

# 1 Applications JAMstack générées


Au total, j'ai créé plus de 40 applications de ce type. La conception pour eux a été développée par des agences Web bien connues.




# 2 Applications générées de flacons


Toutes ces applications, payantes et gratuites, utilisent un passe-partout, une base de données SQLite, ORM, une authentification, des assistants et un ensemble d'outils de base (export statique via Frozen-Flask et un script de déploiement FTP).

  • Applications gratuites sous licence MIT - Kit papier , FlaskPlay .
  • Applications gratuites avec licence CCA 3.0 (lorsque vous les utilisez, vous devez enregistrer des informations sur la paternité) - Phantom , SolidState .



# 3 Panneaux d'administration générés


Tous mes panneaux d'administration sont créés à l'aide de Flask et utilisent la base de données SQLite, l'authentification, l'ORM et un ensemble d'outils de base (une liste complète des panneaux peut être consultée ici ).

Voici quelques panneaux: Flask Dashboard Argon , Flask Dashboard Material et Flask Dashboard NowUi . Tous sont autorisés par le MIT.



Autres applications générées et plaques passe-partout


  • Full Stack - applications avec une architecture à deux niveaux, ainsi que Vue et React (au niveau de l'interface). Avoir une licence MIT.
  • Le code passe-partout pour Node.js, Laravel et Flask - également avec une licence MIT.

À propos du processus d'automatisation


Une fois, j'ai décidé de simplifier le processus de création d'applications. Sur la base de mon expérience indépendante au cours des deux dernières années, ainsi que des exigences et des commentaires des clients, j'ai tiré les conclusions suivantes:

  • Les clients ont toujours besoin de plusieurs conceptions pour l'application (afin qu'il y ait beaucoup de choix).
  • Mes applications doivent être compatibles avec même les derniers appareils.
  • Il est nécessaire que la migration des anciennes versions des applications vers de nouveaux appareils s'inscrive dans un petit budget.

Pour résoudre ces problèmes, le processus de développement a dû être automatisé. Dans mon cas, cela a pris plusieurs étapes:

  • Nous extrayons des composants pour différents moteurs de modèles (Jinja2, Pug, Blade) à partir de simples fichiers HTML à l'aide d'un analyseur HTML .
  • Nous intégrons la conception traitée dans le code passe - partout existant - Laravel , Node.js , JAMstack ou Flask .
  • Exécutez le nombre minimum d'autotests.

Etapes supplémentaires


  • Extension de l'analyseur HTML pour convertir les conceptions HTML héritées en thèmes Vue, React et Angular.
  • Nous préparons des thèmes pour les frameworks modernes (Gatsby.js, Gridsome, Hugo), en commençant par le design créé sur Bootstrap.
  • Nous transférons les conceptions des versions précédentes du framework CSS (Bootstrap) vers Bulma et Tailwind.
  • Nous ajoutons plus de passe-partout au pipeline - par exemple, pour Django, Fastify et des cadres similaires.

Merci d'avance pour vos commentaires!

Source: https://habr.com/ru/post/fr469829/


All Articles