Symfony Entwicklung aus Hamburg

Professionelle Symfony-Entwicklung für Ihr Webprojekt

Symfony Entwicklung

Warum Symfony?

Symfony ist das beliebteste PHP Framework im europäischen Raum: Wie kaum ein anderes Projekt hat Symfony die Professionalisierung der Software-Entwicklung mit PHP vorangetrieben. Dank einer sauberen, modernen Softwarearchitektur und und der Integration von bewehrten Design-Patterns aus anderen Frameworks kann das Symfony-Projekte eine sehr hohe Softwarequalität gewährleisten.

Symfony als Entwicklung hat ein großes Ökosystem geschaffen mit einer Vielzahl hochwertiger, frei verfügbarer Bibliotheken und Bundles. Sie möchten Apache Solr einbinden? Da gibt es ein Bundle für. Sie möchten Facebook-Logins verwenden? HWIOAuthBundle. Bildmanipulation? Imagine. Die Anzahl hochwertiger Bundles nimmt durch die äußerst aktive Community konstant zu.

Das Symfony Framework selbst bestehet ebenfalls aus einzeln verwendbaren Komponenten. Viele davon werden auf Grund Ihrer hohen Qualität und Robustheit auch von anderen Frameworks und Bibliotheken eingesetzt: So nutzen Drupal, Laravel und selbst Wordpress mehrere Komponenten aus der Symfony-Community.

Best Practices

Bewährte Methoden für erfolgreiche Symfony-Projekte

Neben den offiziellen Symfony Best Practice für Entwickler haben sich folgende Prinzipien bewährt:

Twig Funktionen

für elegante Frontend-Programmierung

Symfony nutzt Twig als Template-Engine. Frontend-Entwickler sollten sich zunächst unbedingt mit der Sprache vertraut machen: Viele häufige Probleme können mit Twig sehr elegant gelöst werden, man muss die Wege nur kennen. Nenneswert sind etwa Loops, Batches und Template-Inheritance.

Asset-Pipelines

für performante Webseiten und schnelle Entwicklung

Bild-, JavaScript und CSS Dateien sollten nicht mehr mit PHP-Boardmitteln erstellt werden. Die PHP-basierten Asset-Pipelines (z.B. Assetic) konnten mit der Entwicklungsgeschwindigkeit im Frontend-Bereich nicht mithalten. Stattdessen sollten die Asset-Pipelines aus der statischen Webentwicklung genutzt werden: Gulp, Browserify, Webpack.

Bundles beurteilen

hohe Qualität und schnelle Umsetzung

Die vielen verfügbaren Bundles in Symfony sind Fluch und Segen: Durch die Verwendung von hochwertigen Bundles lassen sich in kürzester Zeit viele Funktionen implementieren. Oft, wird jedoch nur ein Bruchteil der Funktionalität benötigt und man verbaut sich durch die Verwendung von Drittanbieter-Software die Möglichkeit von benötigten Modifikationen. Versions-Upgrades werden komplexer, je mehr Abhängigkeiten zu Drittanbieter-Code bestehen.

Coding-Style festlegen

Schnellere Einarbeitung für neue Entwicklung

Symfony benutzt einen eigenen Coding-Style, den man auch in seinen eigenen Projekten einhalten sollte. Es existieren für die verbreiteten IDEs, der die Einhaltung des CS überprüft und sogar sicherstellt.

Virtualisierte Entwicklungsumgebung

Schnelle Projektsetups und keine Side-Effects

Dank virtuellen Maschinen wird sichergestellt, dass jeder Entwickler die gleiche Umgebung verwendet. Dadurch werden viele Fehlerquellen vermieden und die Einrichtungszeit minimiert. Im Symfony-Bereich gibt es derzeit noch keine optimale Lösung für native Docker-Container ohne VM, aber es wird intensiv daran gearbeitet.

Continuous Integration

Automatisierte Deployments

Continuous Integration vereinfacht nach kurzer Setup-Phase das Ausrollen von neuen Features enorm. Manuelle Deploys werden nicht mehr notwendig, neue Funktionen, Änderungen und Bugfixes werden in kürzester Zeit in den Live-Betrieb genommen.

Funktionsumfang reduzieren

MVP planen

Häufig werden sehr viele Funktionen gewünscht, die "nice-to-have" sind - aber nicht den Hauptnutzen Ihrer Anwendung darstellen. Diese Funktionen sollten aus der ersten Version Ihrer Anwendung komplett entfernt werden - um die Komplexität zu reduzieren und schnell erste Ergebnisse zu erzielen.

Agile Softwareentwicklung

  • 1
    Anforderungs-Analyse
  • 2
    Implementierung
  • 3
    Qualitätssicherung
  • 4
    Retrospektive

Anforderungs-Analyse

Zunächst klären wir mit Ihnen die Rahmenbedingungen Ihres Projekts: Zeitlicher Rahmen, Projektgröße, technische Anforderungen, Stakeholder und Involvierungsgrad ins Projekt.

MVP

Nachdem diese geklärt sind, wird der MVP geplant: Eine Minimalversion Ihrer Webanwendung, mit einem definierten Funktionsumfang der in kurzer Zeit umgesetzt werden kann.

Produkt-Backlog

Dazu entwickeln wir gemeinsam mit Ihnen Stories die den Kundennutzen erfassen. Falls Sie bereits Ihre Anforderungen definiert haben, helfen Ihnen wir Ihnen bei der Umsetzung Ihres Projekt-Backlogs.

Implementierung

In kurzen Sprints implementieren wir ein Produkt-Feature nach dem anderen. Dabei setzen wir auf Continuous-Integration, sodass Entwicklungen direkt online gehen und genutzt werden können.

Test-getriebene Entwicklung

Durch automatisierte Tests gewährleisten wir Funktionalität Ihrer Anwendung: Bei jeder Änderung werden einzelne Komponenten auf Korrektheit (Unit-Tests) und Ihre Anwendung auf Funktionalität (End-To-End-Tests) geprüft.

Direkte Kommunikation

In kurzen Sprints implementieren wir ein Produkt-Feature nach dem anderen. Dabei setzen wir auf Continuous-Integration, sodass Entwicklungen direkt online gehen und genutzt werden können.

Qualtitätssicherung

Neben den autoamtisierten Tests spielt auch die Qualitätssicherung durch den tatsächlichen Anwender eine entscheidende Rolle: Durch kontinuierlichen Abgleich mit der Erwartungshaltung Ihrer Zielgruppe wird schnell festgestellt, ob die Annahmen zutreffen und der Mehrwert für den Nutzer gegeben ist.

Retrospektive

Nach jedem Sprint wird mit dem Kunden eine Retrospektive durchgeführt: Sind die Erwartungen erfüllt worden, gab es Schwierigkeiten oder unvorhergesehene Probleme die man zukünftig vermeiden kann.

Durch kontinuierliche und direkte Kommunikation können Projekte frühzeitig in die richtigen Bahnen gelenkt werden - gerade wenn die Rahmenbedingungen sich verändern oder nicht optimal sind.

Referenzen

  • prUVV

    Identifikations-Management System zur revisionssicheren Authentifizierungen von Produkten, Dokumenten, Personen, Lieferketten.

    John Doe JFS Beteiligungs GmbH
  • WIDGE.de GmbH

    Deutschlands größter Berater für interne Tarifwechsel nutzt CRM-Software von LeapHub GmbH

    Ozan Sözeri WIDGE.de GmbH
  • IGSV

    Informationsportal für den Schweizer Krankenversicherungsmarkt

    Daniel Baumgartner Interessensgemeinschaft der Schweizer Versicherten
  • Werbelift GmbH

    Marketing Automation Platform zur Generierung und Qualifizierung von Leads mittels E-Mail-, Suchmaschinen- und Retargeting-Kampagnen.

    Christian Suchy Vertriebsleiter

Ihr starker Partner

Software-Entwicklung von LeapHub

Wenn Standard-Software trotz Anpassungen und Modifikationen Ihre Anforderungen nicht mehr erfüllen kann, entwickelt LeapHub für Sie individuelle Softwarelösungen. Auf Basis moderner Technologie entwickeln wir Ihre Webanwendung, die Ihre Anforderungen exakt abdeckt und in Ihre bestehende IT-Infrastruktur integrierbar ist.

Wir sind auf die Entwicklung von Webanwendungen spezialisiert und bieten unsere Dienstleistung auf breitem Spektrum an: Von der Anforderungsanalyse zum Quality-Testing.

Zu unseren Kunden gehören Unternehmen aus der Telekommunikations-Branche, Finanz- und Versicherungen, öffentliche Institutionen, eCommerce und Marketing.

Jetzt Projekt-Anfrage stellen
Vertrauen

Rufen Sie uns heute an +49 40 2285 3534-0

oder schreiben Sie uns info@leaphub.de Projekt-Anfrage