Versionsverwaltungen: SVN vs. Git

Meine ersten Erfahrungen mit Versionsverwaltungssystemen in der Softwareentwicklung habe ich mit CVS gemacht. Da man aber oft Änderungen an mehreren Dateien vornimmt und z.B. auch Revisionen von Binärdateien (z.B. Bilder oder Dokumentation) hilfreich sind, bin ich relativ bald auf den Quasi-Nachfolger SVN (Apache Subversion) umgestiegen.

Versionierung wird zwar wichtiger, wenn man mit mehreren Leuten an einem Projekt arbeitet und/oder die Entwicklung in verschiedene Zweige (“branch”) verläuft, aber auch im kleinen Team kann es nützlich sein, dass man vor geplanten Änderungen nicht jedesmal die kompletten Dateien sichern muss.

In letzter Zeit habe ich nun gleich von verschiedenen Seiten gehört oder gelesen, dass Git eingesetzt wird oder ein Umstieg auf Git geplant ist. Git wurde ursprünglich für die Verwaltung von Linux-Kernel entwickelt, muss also auch in umfangreichen Projekten benutzbar sein. Die Geschwindigkeit von SVN lässt ja manchmal genug Zeit für weitere Kreativität ;-). Git soll spürbar performanter sein. Ein weiterer Unterschied zu Subversion ist, dass Git keinen dezentralen Server benötigt, jeder arbeitet mit einer lokalen Kopie.

Ein englischer Wikipedia-Artikel vergleicht noch weitere Systeme. Antworten, warum Git besser besser sei als vergleichbare Software liefert eine Website. Ich selbst habe aktuell noch keine praktischen Erfahrung mit Git, werde das aber bestimmt bald nachholen. Als Client unter Windows könnte TortoiseGit interessant sein, da ich z.B. mit TortoiseSVN insgesamt gute Erfahrungen gemacht habe.

iPhone-User simulieren im Browser

Heutzutage bieten schon einige Websites spezielle Layouts für mobile Geräte an. Dabei ist natürlich auch das iPhone nicht unwichtig. Für einige System, z.B. WordPress, gibt es Erweiterungen, die eine Ansicht für iPhone-Benutzer generieren.

Bei meinen Tests habe ich herausgefunden, dass die Darstellung oft vor allem vom User-Agent abhängt. Das ist im Grunde eine Info, die Browser und weitere Programme dem Server mitsenden.

Für die Entwicklung und das erste Testen kann man bei vielen Browsern den User-Agent ändern. In Safari muss man das Entwickler-Menü einblenden und den gewünschten “Browser-Typ” wählen, in Firefox kann man über Eingabe about:config die Einstellung general.extra.useragent.firefox um “iPhone” erweitern (ohne Anführungszeichen). Dabei ist i.A. auf Groß-/Kleinschreibung zu achten, d.h. “IPHONE” funktioniert nicht überall.

Für viele Websites reicht das schon, um auf die iPhone-Darstellung zu wechseln. Das Testen in einer richtigen Testumgebung oder gleich im iPhone erspart man sich dadurch noch nicht.

Übrigens verwende ich hier das WordPress-Plugin WPtouch iPhone Theme, die mobile Fassung von www.bekomedia.com ist derzeit in Arbeit bzw. wird überarbeitet und erweitert.

GUI-Freundlichkeit

Vor der Bachelorarbeit habe ich nicht viele Programme mit grafischer Benutzeroberfläche (z.B. “Fenster”) geschrieben. Meine Erfahrung gehen weitestgehend auf die damaligen Borland-Produkte, vor allem Delphi zurück.

Normalerweise wird ein Programm von Version zu Version besser, komfortabler zu bedienen. Als Benutzer erwartet man das ja auch. Ich habe jetzt aber festgestellt, dass eine kleine “Hilfe” in mittleren bis größeren Programmen viel Arbeit erfordern kann. Oft muss man sich dann entscheiden, ob man Wert legt auf bestimmte Funktionen oder auf bessere Bedienbarkeit.