Vorheriger Artikel Nächster Artikel

Sponsored Post: PHP-Experten-Interview und Trainingsevent PHP Summit

Im März 2013 findet in München der nächste Summit statt. Das neu entwickelte Programm richtet sich diesmal besonders an , die am Anfang ihrer stehen. 3 Tracks, 18 Workshops und 2 Vorträge stehen an drei Tagen zur Wahl. Dabei liegt der Fokus auf realistischen Projekten und praxisorientierten Lösungen. Drei PHP-Experten sprechen im über PHP und das Trainingsevent.

Sponsored Post: PHP-Experten-Interview und Trainingsevent PHP Summit

Sebastian Bergmann ist einer der führenden Köpfe in PHP-Development und PHP-Qualitätssicherung. Er hat entscheidend daran mitgewirkt, dass PHP sich in eine zuverlässige Plattform für große, kritische Projekte gewandelt hat. Weltweit profitieren Unternehmen und PHP-Entwickler von Werkzeugen, die er entwickelt hat.

Arne Blankerts löst IT-Probleme, lange bevor viele Firmen überhaupt merken, dass sie sie haben. IT-Security ist seine Passion, der er sich mit fast magischer Intuition und Lösungen widmet, die unverkennbar seine Handschrift tragen. Weltweit vertrauen Unternehmen auf seine UNIX-basierten Systemarchitekturen.

Stefan Priebsch vereint komplexes Fachwissen und ein Gespür dafür, welches Instrument wann einzusetzen ist. Seine Spezialdisziplinen sind objektorientierte Programmierung und Softwarearchitektur. Als international geschätzter Autor und Redner versteht er es, sein Auditorium zu fesseln und an seiner enormen Praxiserfahrung teilhaben zu lassen.

Eine der Stärken, die PHP nachgesagt wird, ist die niedrige Einstiegshürde. Mit nur wenigen Stunden Einarbeitung kann man sich leicht befähigt fühlen, auch „umfangreichere“ Projekte anzugehen. Trifft diese Einschätzung zu?

Arne Blankerts: In der Tat macht einem PHP den Einstieg in die Webprogrammierung sehr leicht. PHP ist für alle gängigen Betriebssysteme frei verfügbar und erlaubt erste Gehversuche in der Programmierung, indem man Funktionalität direkt in eine HTML-Seite einbaut.

Sebastian Bergmann: Für viele Benutzer führt der Einstieg in PHP auch über bekannte Softwarelösungen wie WordPress, Drupal oder Typo3. Man installiert und konfiguriert die Software und lernt so die PHP-Plattform kennen. Wenn sich dann irgendwann der Wunsch nach Anpassungen einstellt, ist man schon auf dem besten Weg, sich mit PHP-Programmierung auseinander zu setzen.

Stefan Priebsch: Ob oder wann einen das befähigt, auch umfangreichere Projekt umzusetzen, ist nicht leicht zu sagen. Ich denke, wir müssen hier unterscheiden zwischen einem echten Programmierprojekt, in dem man auf der grünen Wiese oder mit einem Framework eine Applikation bauen soll, oder ob wir von einem Projekt sprechen, das im Wesentlichen aus fertigen Modulen zusammenkonfiguriert werden soll und für das Frontend-Templates entwickelt werden sollen.

Wird die niedrige Einstiegshürde von PHP also zum Problem?

Stefan Priebsch: Das ist eine Frage der Sichtweise. Zunächst dürfen wir nie vergessen, woher PHP kommt und dass PHP groß geworden ist, weil es anfangs so viele enthusiastische semi-professionelle Nutzer hatte. Ein Großteil dessen, wofür PHP und das PHP-Ökosystem heute stehen, wurde von solchen Nutzern in deren Freizeit geschaffen.

Sebastian Bergmann: Das PHP-Projekt trägt dieser Vergangenheit übrigens Rechnung: Sprachfeatures, die man aus heutiger Sicht besser nicht eingeführt hätte, werden nicht repariert oder entfernt, damit PHP rückwärtskompatibel zu den älteren Versionen bleibt.

Arne Blankerts: Eben deswegen müssen wir als PHP-Programmierer damit leben, dass die Reihenfolge von Parametern oder die Namensgebung von Funktionen ein wenig inkonsistent ist. Hier mal mit Unterstrich, dort ohne: man schaut eben oft im Handbuch nach oder freut sich, wenn einem die IDE weiterhilft.

Wie sieht es denn mit größeren Projekten aus? Ist die Lernkurve bei PHP eher steil oder flach?

Arne Blankerts: Es ist ein großer Sprung von einfachen, kleinen Skripten hin zu komplexen Projekten. Für einfache Formmailer oder triviale Dynamisierungen braucht man zwar nicht gleich eine komplexe Entwicklungsumgebung oder viel Erfahrung...

Sebastian Bergmann: ...aber wenn die Projekte größer werden, wird man sich mit den Themen Nachhaltigkeit und Code-Qualität beschäftigen wollen. Aus dem Stand heraus ist das für jeden, der sich damit noch nicht beschäftigt hatte, allerdings sehr schwer.

Stefan Priebsch: Hier setzen wir unter anderem mit dem kommenden PHP Summit an, vermitteln unsere Erfahrung und zeigen Zusammenhänge auf. Im Grunde fehlt es vielen Quereinsteigern ja nicht an Programmierverständnis sondern einfach nur an Hintergrundwissen und praktischer Erfahrung bei größeren Projekten.

Wo treten dann eurer Erfahrung nach die ersten ernstzunehmenden Probleme auf?

Arne Blankerts: Die Anforderungen an eine PHP-Anwendung steigen stetig. Das Internet kann hier sehr brutal sein, wenn man geschäftlich erfolgreich ist, oder mit einem Angebot den Nerv der Zeit trifft. Plötzlich vervielfacht sich in kurzer Zeit der Traffic oder auch die Menge der Daten, mit denen man umgehen muss. Damit müssen Infrastruktur und Anwendung zurecht kommen. Man kann oft nur sehr schwer vorab sagen, wann (oder ob) der Zeitpunkt kommt, an dem sich für eine bestimmte Lösung ernst zu nehmende Probleme einstellen.

Stefan Priebsch: Genausowenig kann man vorhersagen, an welcher Stelle. Aus der Erfahrung lässt sich aber sagen, dass die Probleme meist in den Bereichen Performance, Skalierbarkeit, Wartbarkeit und Sicherheit liegen.

In der diesjährigen Frühjahrsausgabe des PHP Summit adressiert ihr genau diese Punkte. Das Motto lautet „Grundlagen und Perspektiven“. Was erwartet die Teilnehmer in den drei Tagen?

Stefan Priebsch: Eine ganze Menge PHP-Grundlagen und Perspektiven für Programmierer und Entwickler, die den nächsten Schritt machen und sich weiter professionalisieren möchten.

Sebastian Bergmann: Wir vermitteln die Inhalte anschaulich und praxisnah. Wir bombardieren die Teilnehmer nicht mit Präsentationsfolien voll Bücherwissen und Theorie, sondern zeigen realistische und praxisorientierte Lösungen.

Arne Blankerts: Dabei lassen wir uns stark von den Impulsen und Fragen der Teilnehmer leiten. Wie auch bei den vergangen Summits schreiben gerne live Programmcode, um Konzepte und deren Anwendung zu erläutern. Quasi nebenbei zeigen wir auch die Verwendung verschiedener Entwicklungswerkzeuge im Einsatz.

In den „Best Practices“ geht es um den Einsatz von PHP beim Lösen klassischer Alltagsprobleme. Von welchen Problemen sprechen wir hier?

Arne Blankerts: Im Grunde von allen, die wirklich jedem Programmierer schon einmal bei Webprojekten begegnet sind. Der Track beginnt daher mit einem Workshop, in dem ich zeige, wie man robuste Software schreiben kann, die sich trotz auftretender Fehler noch berechenbar verhält und zuverlässig arbeitet. PHP bietet hierfür einige interessante Bordmittel. Neben einigen fortgeschrittenen Sprachfeatures von PHP zeige ich auch, wie man Eingabedaten sicher und effizient verarbeiten kann.

Ein wichtiger Punkt in diesem Bereich ist das Deployment. Was macht man als Ein- oder Umsteiger hier falsch?

Arne Blankerts: Der hauptsächliche Fehler ist, dass viel zu wenig und meist zu spät über das Deployment nachgedacht wird.

Sebastian Bergmann: Oft wird einfach mal Code geschrieben, der irgendwann auf den Live-Server muss. In ganz schlimmen Fällen sogar noch per FTP! Dieses Vorgehen lässt viele wichtige Fragen unbeantwortet: Welche Abhängigkeiten hat mein Code? Und wer stellt sicher, dass alle Anforderungen erfüllt werden?

Stefan Priebsch: Hier wird oft nur auf den PHP-Code selbst geschaut und ein Werkzeug wie der PEAR Installer oder neuerdings Composer verwendet, um Abhängigkeiten zu verwalten. Was aber, wenn bei der Installation einer PHP-Anwendung automatisch eine passende PHP-Version mit installiert werden soll oder die Konfiguration angepasst werden muss?

Arne Blankerts: Grundsätzlich muss das Deployment zur Firma, den gelebten Prozessen und der IT-Infrastruktur passen und kontinuierlich verbessert werden. In meinem Workshop "Hilfe, mein Programm ist abhängig!" werde ich praktikable Konzepte und Lösungen für solche Probleme zeigen.

In den „Voraussetzungen für PHP-Programmierung“ werden die grundsätzlichen Themen behandelt – vom Interpreter über objektorientierte Programmierung bis hin zum Testing. Wieso dieser Rundumschlag – sind diese Themen so eng miteinander verbunden?

Stefan Priebsch: Wir vermitteln in diesem Track alle Grundvoraussetzungen für professionelles und effektives Arbeiten. Das mag in der Tat wie ein Rundumschlag wirken, wer den Track allerdings durchläuft, wird am Ende mit einem breiten Fundament belohnt.

Sebastian Bergmann: Ein solches Fundament ist unerlässlich für gute Ergebnisse bei der Entwicklung. Der Blick auf die PHP-Interna widerlegt viele weit verbreitete, falsche Annahmen über das Verhalten von PHP und die Performanz bestimmter Sprachkonstrukte.

Es geht auch um das Testen bereits vorhandenen Codes. Also lieber so als selbst neu entwickeln?

Arne Blankerts: Die Frage lässt sich nicht wirklich pauschal beantworten. Das ist eine schwierige Entscheidung, die von vielen Einflußfaktoren abhängt.

Sebastian Bergmann: Wir führen mit unseren Kunden regelmäßig Diskussionen, um gemeinsam herauszufinden, ob in einer bestimmten Situation eine Neuentwicklung oder die Pflege und Weiterentwicklung von Legacy-Code wirtschaftlich sinnvoller ist.

Stefan Priebsch: In der Praxis liegt die Wahrheit meist zwischen diesen beiden Extremen. Um Risiken zu minimieren, möchte man Legacy Code nicht mehr anpassen, sondern neue Funktionalitäten in einer sauberen Struktur entwickeln. Die Kunst liegt nun darin, diese beiden Welten technisch gesehen richtig und möglichst nahtlos miteinander zu verbinden.

Man muss das Rad also nicht jedes Mal neu erfinden, sollte es aber einem genauen Test unterziehen, um nicht am Ende mit einem Platten liegenzubleiben?

Arne Blankerts: Der Vergleich mit dem Rad wird häufig bemüht. Genau genommen ist er aber falsch, denn das Rad wird ja nicht ständig neu erfunden, sondern lediglich für einen bestimmten Einsatzzweck möglichst passend implementiert. Wer sich dafür entscheidet, ein fast fertiges Rad zu übernehmen, muss daher genau schauen, ob der angedachte Einsatzbereich überhaupt zum gewählten Rad passt.

Stefan Priebsch: Eigentlich sollte man anstreben, gar nicht erst von einem einzigen Rad abhängig zu sein. Um im Bild zu bleiben: jedes Rad nutzt sich ab, daher ist es unausweichlich, dass man eines Tages einen Platten hat. Man versucht also entweder, sich gar nicht erst von einem bestimmten Rad abhängig zu machen, oder legt rechtzeitig einen Boxenstop ein.

Sebastian Bergmann: Leider ist das bei vielen Projekten so nicht gegeben: fest verdrahtete Fremdkomponenten quer durch die eigene Anwendung oder Abhängigkeiten von Konfigurationen lassen sich im Nachhinein oft nur schwer und mit viel Aufwand auflösen.

Was sind die wichtigsten Dinge, die beim Einsatz von fremden Tools, Frameworks und anderem Code zu beachten sind?

Sebastian Bergmann: Tools sind relativ unproblematisch, denn wenn sie nicht das tun, was sie sollen, kann man sie austauschen. Wie es da hinter den Kulissen aussieht, ist an sich egal, solange die Ergebnisse stimmen.

Stefan Priebsch: Natürlich spielt die interne Qualität des Codes trotzdem eine Rolle: viele Werkzeuge zur statischen Codeanalyse haben beispielsweise Probleme damit, die Unterstützung für neue Sprachkonstrukte wie Traits zu integrieren.

Arne Blankerts: Für Code im Sinne von wiederverwendbaren Software-Komponenten ist die Qualität deutlich wichtiger, aber noch nicht allein entscheidend. Wenn man solche Komponenten vom eigenen Code abstrahiert, damit man nicht von der API eines Drittanbieters abhängig ist, kann man die Komponenten immer noch nach Bedarf austauschen.

Sebastian Bergmann: Ein Framework ist gewissermaßen das Herz und die Seele einer Anwendung. Wenn ein Framework die Benutzer nicht darin unterstützt, Unit-Tests zu schreiben, oder gar selbst nicht vollständig unit-getestet ist, sollte man schon ganz genau hinschauen.

Stefan Priebsch: Wir erleben es leider oft, dass ein Framework gewählt wurde, bevor das zu lösende Problem hinreichend bekannt oder beschrieben war. In diesem Fall steht einem das Framework oft im Weg. Wird es irgendwann nicht mehr weiterentwickelt oder die Entwicklung geht in eine andere Richtung, als man das selbst gerne hätte, wird man mittel- bis langfristig für die Wartung des vorhandenen Framework-Codes verantwortlich...

Arne Blankerts: ...man hat also Code "geerbt"...

Sebastian Bergmann: ...und wenn man in dieser Situation keine umfassenden Unit-Tests hat, ist das eine schlechte Basis für nachhaltige Software.

Der letzte Track beschäftigt sich mit dem Blick über den Tellerrand – gerade im Web ein wichtiger Aspekt, da der Technologie-Mix, den man schon fast zwangsläufig beherrschen muss, immens ist. Mit welchen Themen wird man sich dort beschäftigen?

Sebastian Bergmann: Mit der Wiederverwendung von Code. Je weniger Abhängigkeiten Code hat, desto leichter ist er wiederverwendbar - und übrigens auch testbar.

Arne Blankerts: In zwei weiteren Workshops werden wir auf relationale und nicht-relationale Datenbanken eingehen und herausarbeiten, für welche Einsatzgebiete sie jeweils geeignet sind. Dabei stellen wir nicht konkrete Produkte vor, sondern sprechen über die grundlegenden Konzepte.

Stefan Priebsch: Mit dem Workshop "Unproblemte Lösungen vermeiden" will ich erreichen, dass die Teilnehmer aus einem anderen Blickwinkel auf viele typische Probleme schauen. Beispielsweise werden oft aus anderen Programmiersprachen Konzepte nach PHP übernommen, obwohl die damit gelösten Probleme in PHP gar nicht existieren. Im zweiten Teil des Workshops werde ich bewährte Architekturkonzepte vorstellen und mit den Teilnehmern diskutieren, wie man diese in PHP sinnvoll umsetzen kann.

Bewährte Architekturkonzepte ist ein gutes Stichwort – gibt es das eine, richtige Konzept, das alle Use-Cases abdeckt?

Stefan Priebsch: Nein, das kann es nicht geben. Es gibt ja auch nicht die richtige Kleidung für alle Wetterlagen und Klimazonen gleichzeitig.

Es gilt also, den Überblick zu wahren, um dann von Fall zu Fall die richtige Entscheidung zu treffen. Ist das auch der Grund dafür, dass Soft Skills eine immer wichtigere Rolle spielen?

Stefan Priebsch: Software-Entwicklung ist eine reine Mensch-zu-Mensch-Kommunikation. Zwar wird der geschriebene Programmcode - sozusagen zwischendurch - vom Computer ausgeführt, aber letztlich liest ihn dann doch immer wieder ein Mensch, sei es ein Kollege oder man selbst.

Arne Blankerts: Entwickler müssen mit internen oder externen Kunden sprechen, um die Anforderungen an die zu entwickelnde Software zu kennen. Und sie müssen sich im Team untereinander absprechen.

Sebastian Bergmann: Und im Projektalltag scheint eben nicht jeden Tag die Sonne. Man muss also auch mit Konflikten richtig umgehen können, konstruktiv streiten und bei fachlichen Diskussionen nicht die Wirtschaftlichkeit aus dem blick verlieren. Man sollte nicht Perfektion anstreben, sondern sich auf ein sinnvolles "good enough" einigen.

Auch sonst gebt ihr den Besuchern viel mit auf den Weg: Datenbankthemen – relational und nicht-relational, Tipps für die richtige Werkzeugwahl, die Anpassung von Websites auf verschiedene Endgeräte. Hat man es damit geschafft, ein besserer Entwickler zu werden?

Arne Blankerts: Wir wollen zumindest den Grundstein dafür legen, indem wir in drei Tagen viele Impulse geben.

Stefan Priebsch: Nichtsdestotrotz muss jeder das, was er vom PHP Summit mit nimmt, selbst in die Praxis umsetzen.

Sebastian Bergmann: Webentwicklung ist Teamarbeit. Ein guter Entwickler kennt nicht nur "seine" Sprache, sondern weiß und versteht auch, was um ihn herum geschieht. Wir wollen mit dem PHP Summit dazu beitragen, den Teilnehmern fundierte PHP-Grundkenntnisse und aktuelle Best Practices zu vermitteln und sie zugleich dazu einladen, einmal den Blick über den Tellerrand wagen.

Jetzt für den PHP Summit anmelden!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema PHP
Erstes Open Source-SDK: Facebook veröffentlicht Parse-Developer Kit für PHP
Erstes Open Source-SDK: Facebook veröffentlicht Parse-Developer Kit für PHP

Die App-Plattform erhält erstmals offizielle Unterstützung für eine Server-seitige Programmiersprache. Bisher war der Zugriff über PHP nur durch Drittanbieter und eine API möglich. » weiterlesen

Software-Entwicklung: „Es gibt diesen Moment, wenn der Code einfach läuft“ [Interview]
Software-Entwicklung: „Es gibt diesen Moment, wenn der Code einfach läuft“ [Interview]

Die Auswahl der richtigen Technologieplattform stellt Entwickler, Geldgeber und Entscheider heute vor echte Probleme. Schließlich soll die neue Entwicklung ja möglichst lange nutzbar sein. » weiterlesen

Millioneninvestition in neues Karriereportal: Bertelsmann, Coca-Cola, Telekom, Lidl und andere starten „Blicksta“
Millioneninvestition in neues Karriereportal: Bertelsmann, Coca-Cola, Telekom, Lidl und andere starten „Blicksta“

Blicksta soll Schülern bei der Berufsorientierung helfen. Das Karriereportal wird von Verbänden und Unternehmen wie Bertelsmann, Coca-Cola, Ernst & Young oder Deutsche Telekom mit einer … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen