Boilerplates beim Prototyping

Boilerplates beim Prototyping

Ein guter Start ist die halbe Miete..

Solch oder so ähnliche Aussagen treffen auch bei der Entwicklung von Web-Anwendungen zu. Wer zu Beginn schon mit den richtigen Werkzeugen, in der passenden Umgebung und mit einer soliden Grundlage startet, erspart sich später eine mühsame Restrukturierung der App. Design Patterns und Best Practices allgemein werden in Boilerplates oft sehr genau genommen, was dem Entwickler klare Vorgaben mit auf den Weg gibt.

Mit diesem Mindset habe ich mir das „ultimative Boilerplate für Produkte“ Pup von cleverbeagle.com angesehen. Hierbei handelt es sich um eine Vorlage zur Entwicklung einer Webanwendung auf Basis von Meteor, React, MongoDB und GraphQL. In weiterer Folge will ich die Frage beantworten, inwieweit uns Boilerplates bei der Entwicklung von Prototypen helfen und wann sie uns behindern.

Was hat Clever Beagle’s Tool Pup zu bieten?

Mit der Installation von Pup (aktuell in der Version v2.0.1) erhält man den lauffähigen Quellcode einer kleinen Webanwendung zur Verwaltung von Markdown Dokumenten. Die App enthält dabei Komponenten um folgende Aufgabenstellungen zu realisieren:

  • Benutzerregistrierung per OAuth und Benutzerverwaltung über ein Admin Panel
  • Aussenden von E-Mails, basierend auf HTML- und Text-Vorlagen
  • Automatische Generierung eines Datenbanksets und dessen Indizierung
  • Tabellendefinitionen per GraphQL und eigenem GraphQL Playground
  • Erstellung einer Sitemap und SEO Metadaten mit App-Details
  • Routing Setup für öffentliche und authentifizierte Anfragen
  • Server-side-Rendering (SSR) zur schnelleren Darstellung im Browser
  • Formularvalidierung
  • Styling und Individualisierung über Bootstrap und styled-components
  • Browser-Richtlinien zum Schutz vor XSS
  • Datenexport, Kontolöschung und Zustimmungserklärung laut GDPR/DSGVO
  • Lokales git Repository mit eigenen Linter Script Hooks
  • Unit- und Ende-zu-Ende (E2E) Tests
  • Konfiguration für Development/Staging/Production Settings
  • Kompletter Workflow zum App Release und zur kontinuierlichen Integration inklusive DNS Einträge, SSL Zertifikat und Hosting auf Meteor Galaxy (Erfordert weitere Zugangsdaten)

Diese Liste wird laufend erweitert, da Pup hier stets bemüht ist, die Entwickler noch mehr zu entlasten und weitere Bereiche durch das Boilerplate abdecken zu lassen.

Continue reading