Wie ich mit Automatisierungstools über 100 Open Source-Anwendungen erstellt habe

Wir präsentieren Ihnen eine Übersetzung des auf dev.to veröffentlichten Sm0ke- Artikels. Der Autor spricht über seine Erfahrungen beim Generieren von Webanwendungen und darüber, wie der Prozess ihrer Erstellung automatisiert werden kann.

Hallo Programmierer!

Ich bin freiberuflicher Entwickler und habe mit Automatisierungstools, HTML-Analyse und einem Boilerplate-Code über 100 Anwendungen in verschiedenen Sprachen und Plattformen generiert .

Alle meine kostenpflichtigen und kostenlosen Anwendungen befinden sich im offenen GitHub-Repository. Ich werde in diesem Artikel über einige davon sprechen.

# 1 Generierte JAMstack-Anwendungen


Insgesamt habe ich mehr als 40 solcher Anwendungen erstellt. Das Design für sie wurde von bekannten Webagenturen entwickelt.




# 2 Generierte Kolbenanwendungen


Alle diese kostenpflichtigen und kostenlosen Anwendungen verwenden ein Boilerplate, eine SQLite-Datenbank, ORM, Authentifizierung, Helfer und eine Reihe grundlegender Tools (statischer Export über Frozen-Flask und ein FTP-Bereitstellungsskript).

  • Kostenlose MIT-lizenzierte Apps - Paper Kit , FlaskPlay .
  • Kostenlose Anwendungen mit CCA 3.0-Lizenz (wenn Sie sie verwenden, müssen Sie Informationen zur Urheberschaft speichern) - Phantom , SolidState .



# 3 Generierte Admin-Panels


Alle meine Admin-Panels werden mit Flask erstellt und verwenden die SQLite-Datenbank, Authentifizierung, ORM und eine Reihe grundlegender Tools (eine vollständige Liste der Panels finden Sie hier ).

Hier sind einige Bedienfelder: Flask Dashboard Argon , Flask Dashboard Material und Flask Dashboard NowUi . Alle von ihnen sind vom MIT lizenziert.



Andere generierte Anwendungen und Boilerplates


  • Full Stack - Anwendungen mit einer zweistufigen Architektur sowie Vue und React (auf Schnittstellenebene). Haben Sie eine MIT-Lizenz.
  • Der Boilerplate-Code für Node.js, Laravel und Flask - ebenfalls mit einer MIT-Lizenz.

Über den Automatisierungsprozess


Einmal habe ich beschlossen, das Erstellen von Anwendungen zu vereinfachen. Aufgrund meiner freiberuflichen Erfahrung in den letzten zwei Jahren sowie der Kundenanforderungen und des Feedbacks habe ich die folgenden Schlussfolgerungen gezogen:

  • Kunden benötigen immer mehrere Designs für die Anwendung (so dass es eine große Auswahl gibt).
  • Meine Anwendungen müssen auch mit den neuesten Geräten kompatibel sein.
  • Die Migration älterer Versionen von Anwendungen auf neue Geräte muss in ein kleines Budget passen.

Um diese Probleme zu lösen, musste der Entwicklungsprozess automatisiert werden. In meinem Fall waren mehrere Schritte erforderlich:

  • Wir extrahieren Komponenten für verschiedene Template-Engines (Jinja2, Pug, Blade) aus einfachen HTML-Dateien mithilfe eines HTML-Parsers .
  • Wir binden das verarbeitete Design in den vorhandenen Boilerplate-Code ein - Laravel , Node.js , JAMstack oder Flask .
  • Führen Sie die Mindestanzahl von Autotests aus.

Weitere Schritte


  • Erweitern des HTML-Parsers zum Konvertieren älterer HTML-Designs in Vue-, React- und Angular-Designs.
  • Wir bereiten Themen für moderne Frameworks (Gatsby.js, Gridsome, Hugo) vor, beginnend mit dem auf Bootstrap erstellten Design.
  • Wir übertragen Designs aus früheren Versionen des CSS-Frameworks (Bootstrap) auf Bulma und Tailwind.
  • Wir fügen der Pipeline weitere Boilerplates hinzu - zum Beispiel für Django, Fastify und ähnliche Frameworks.

Vielen Dank im Voraus für Ihr Feedback!

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


All Articles