Meetup #48: Lokale Entwicklungsumgebung

Meetup #48: Lokale Entwicklungsumgebung

Was haben Elefanten, Pinguine und Wale gemeinsam? Alle hatten ihren Auftritt bei unserem 48. Meetup zum Thema „Lokale Entwicklungsumgebung“ am 13. Oktober 2020. Was sich zunächst nach einem Ausflug in den Zoo anhört, ist jedoch vielmehr auf die Logos einiger lokaler Entwicklungsumgebungen zurückzuführen mit denen wir uns gemeinsam beschäftigt haben.

Was sind lokale Entwicklungsumgebungen?

Bevor wir uns darüber ausgetauscht haben, welche lokale Entwicklungsumgebungen wir einsetzen und welche Vorteile wir jeweils sehen, wurde zunächst das Konzept sowie einige Anwendungsmöglichkeiten vorgestellt. Generell kann man zwischen Live/Produktiv- und Staging/Testumgebungen sowie der lokalen Entwicklungsumgebung unterscheiden.

Die Live- bzw. Produktivumgebung ist die originäre Version der Webseite, welche unter der offiziellen Domain erreichbar ist. Hier sind alle Änderungen sofort für Besucher sichtbar. Geht dabei etwas schief droht im schlimmsten Fall ein Ausfall der Seite, denn Änderungen an der Seite sind wie eine Operation am offenen Herzen!

Stage- bzw. Testumgebungen sind eine möglichst genaue Kopie der Produktivumgebung und z.B. unter einer Subdomain wie dev.example.com erreichbar. Es wird so ein Test der Webseite unter nahezu echten Bedingungen (Updates von Plugins, Themes, WordPress, PHP-Version etc.) ermöglicht. Änderungen sind dabei für Besucher der originären Website nicht sichtbar. Gleichzeitig können jedoch Änderungen bspw. von Kunden abgenommen werden. Wichtig: Die Umgebung sollte mit einem Zugangsschutz für die Öffentlichkeit gesperrt werden (bspw. via .htpasswd oder einem Maintenance Plugin).

Lokale Entwicklungsumgebungen sind eine Kopie der Produktivumgebung die auf dem lokalen Computer unter localhost oder via lokaler Domain z.B. beispiel.test bereitgestellt wird. Die Umgebung zeichnet sich u.a. durch verschiedene Aspekte aus. So können bspw.

  • Dateiänderungen sofort angesehen oder getestet werden
  • Tests von Updates, neuen PHP-Versionen, Backups oder anderen Änderungen durchgeführt werden ohne andere zu behindern
  • Fehler einfacher nachverfolgt werden

Ebenfalls von Vorteil ist, dass alle Aufgaben ohne eine aktive Internetanbindung durchgeführt werden können.

Zwei Aspekte bei Nutzung einer lokalen Entwicklungsumgebung haben wir gesondert hervorgehoben: Dateien und Datenbanken. Dateien können (fast) beliebig zwischen den Umgebungen ausgetauscht werden. Beachtet werden sollte hier jedoch, dass ggf. „config“ Dateien (bspw. wp-config.php) verändert bzw. ausgetauscht werden müssen. Datenbanken sollten aufgrund der Abhängigkeiten immer als Ganzes übertragen werden. Wichtig ist hierbei große Vorsicht walten zu lassen, sofern Änderungen in die Produktivumgebung überspielt werden sollen.

Genutzte Anwendungen

Vorab haben wir die Teilnehmer gefragt, ob und falls ja, welche Entwicklungsumgebung eingesetzt wird. Ein Großteil nutzt demnach bereits eine lokale Entwicklungsumgebung, wobei der Großteil davon XAMPP/MAMP verwendet. Weitere Umgebungen sind Varying Vagrant Vagrants (VVV), Docker, Local und Laragon. Darüber hinaus verwenden einige Nutzer auch nicht genannte Umgebungen.

Genutzte Anwendungen der Meetup Teilnehmer
Genutzte Anwendungen der Meetup Teilnehmer.

Erfahrungsaustausch

Nachdem wir über die Grundlagen gesprochen hatten, diskutierten wir in Einzelgruppen über die verschiedenen Systeme. Hier wurden Vorteile, Nachteile und einige Tipps gesammelt. Die verlinkte Tabelle fasst die wesentlichen Punkte der Diskussion zusammen. Es sollte darauf hingewiesen werden, dass viele der genannten Punkte die persönliche Erfahrung der Teilnehmer widerspiegelt, keinesfalls eine geprüfte Eigenschaften darstellen und man sich im Zweifelsfall selber ein Bild machen sollte.

Hands on

Abschließend haben wir uns in einer Hands On Session einige Entwicklungsumgebungen angeschaut. Hier haben die Teilnehmer einen ersten Einblick in die Verwendung der Entwicklungsumgebungen in Zusammenhang mit WordPress bekommen.

Aufzeichnung

Die Aufzeichnung des Meetups findest du bei YouTube.