Archive

Archive for the ‘PHP’ Category

DevDusk I/2010 am 18.2.

February 5th, 2010 Reto Kiefer No comments

DevDusk LogoAm 18. Februar findet um 19.30 Uhr der erste von vier geplanten DevDusks – “Technology from Dusk til Dawn” in diesem Jahr statt. Veranstaltungsort ist wie immer die Brotfabrik in Frankfurt. Um die Veranstaltung besser zu koordinieren haben wir eine Xing-Gruppe gegründet, die von nun an zentrale Anlaufstelle für den DevDusk in Frankfurt sein soll.

Der DevDusk ist eine After-Work-Veranstaltung auf dem die verschiedensten aktuellen Technologien vorgestellt und diskutiert werden. In lockerer Atmosphäre gibt es immer zwei Vorträge zu aktuellen Themen aus der Software- und Technologie-Welt. Wer einmal über den Tellerrand schauen will, sich ungezwungen informieren oder weiterbilden will, der sich selbst ein Bild machen will von dem was hot ist und was nicht, der ist herzlich eingeladen.

Die Themen sind diesmal:

Doctrine (Object Relational Mapper für PHP) von Thorsten Rühl

  • Vor- und Nachteile von ORM
  • Doctrine: Komponenten und Key Features
  • Beispiele anhand eines kleinen Modells
  • Best Practices

Was bedeutet Scrum für Entwickler? von Reto M. Kiefer

  • Was ist Scrum?
  • Die verschiedenen Parteien in einem Scrum Projekt
  • Die besondere Rolle des (Entwickler-)Teams
  • Die neue Autonomie der Entwickler bei Scrum Projekten

Anschließend bleibt genug Zeit und Gelegenheit, sich mit anderen Entwicklern und Technikenthusiasten bei einem Getränk und einem leckeren Essen aus der Brotfabrik auszutauschen: Networking ist ausdrücklich erwünscht!

Weitere Informationen und die Anmeldung erfolgt hier.

Co-Autor im “PHP hates me” Blog

January 21st, 2010 Reto Kiefer No comments

n255297423679_8560Seit heute bin ich Co-Autor im bekannten “PHP hates me” Blog. Eventuell werde ich nach einer gewissen Zeit die Artikel hier zweitveröffentlichen, aber das ist noch nicht sicher. Ich werde Beiträge aus der agilen Entwicklung mit PHP beisteuern und auch interessante Randgebiete erkunden.

Mein erster Beitrag ist soeben mit dem Titel “Was bedeutet Scrum für Entwicklungsteams?” veröffentlicht worden…

Und warum das alles?

Ich finde die Idee, gemeinsam zu einem Thema zu bloggen attraktiv und gewinnend. So kann man Kräfte bündeln und auf einer gemeinsamen Plattform mehr Leser erreichen.

Ich würde mich freuen, wenn meine Leser ab und an auch diesem Blog ihre Aufmerksamkeit schenken würden. Es lohnt sich, zumindest für diejenigen, die mit PHP zu tun haben.

Zend Server / Pear / PHPUnit Probleme

October 30th, 2009 Reto Kiefer No comments

In der aktuellen Version des Zend Servers Community Edition (zumindest für Mac OS X) scheint ein Bug bei der Pear-Installation vorzuliegen. Aufgefallen war mir das Problem als ich bei zwei unserer Macs versuchte, PHPUnit zu installieren.

Das Problem scheint darin zu bestehen, dass die mitgelieferten Channel-Registries für Pear und PECL korrupt sind, bzw. nicht aktuell sind. Das Pear Upgrade wirft genau so Fehler wie die Installation von PHP Unit. Der Fehler ist schwer einzugrenzen, die Lösung ist vergleichsweise einfach.

Man muss die Dateien

  • /usr/local/zend/share/pear/.channels/pecl.php.net.reg
  • /usr/local/zend/share/pear/.channels/pear.php.net.reg

löschen (oder umbenennen).

Danach reicht es aus ein sudo pear update-channels abzusetzen und die Installation von PHPUnit sollte wie auf der Website angegeben funktionieren. Ein eventuell vorher notwendiges Update des Pear Kerns funktioniert nach diesen Maßnahmen ebenfalls.

Categories: Development, Mac, PHP Tags: ,

Freie technische Evangelisation & Usergruppen Leitung

August 2nd, 2009 Reto Kiefer No comments

Wenn man einige Jahre Usergruppen leitet und auch als Vortragsreisender für bestimmte Technologien unterwegs war, also klassisch als unabhängiger technologischer Evangelist (klingt komisch auf Deutsch, soll aber Technical Evangelist übersetzt sein) wirkt, kommt es immer wieder zu ähnlichen Beobachtungen, denen ich in diesem Blogeintrag einmal nachgehen will.

Wenn ich eine Technologie als Usergruppenleiter oder unabhängiger Evangelist vertrete, tue ich dies aus der Überzeugung heraus, dass die Technologie gut, interessant und viel versprechend ist. Wenn ich meine Zeit in eine Technologie investiere, muss mir klar sein, dass ich diese Technologie auch selber nutzen und in Kundenprojekten einsetzen will und werde. Ich bin auf Seiten der Entwickler, die meine Veranstaltungen besuchen, weil sie aus erster Hand eines Entwicklers hören wollen, wie es sich mit dieser oder jener Technologie verhält.

Entspringt die Technologie oder das Projekt aber einer Firma, kommen ganz andere Interessen mit dazu. Der Firma geht es weniger um die Coolness oder die für Entwickler interessanten Dinge dabei, sondern es geht ihr letztlich darum, mehr Technologie und mehr Produkte zu verkaufen. Die meisten Firmen haben ihre eigenen bezahlten Evangelisten, deren Erfolg wird aber in der Zahl der “bekehrten” Entwickler oder aber schlicht in Verkaufszahlen gemessen. Einer solchen Erfolgskontrolle unterliegen freie Evangelisten nicht – sie tun es aus Überzeugung. Diese Authentizität lässt sich nicht kaufen, sie muss aus Überzeugung entstehen – genau diese aber ist es, die den Unterschied zu Veranstaltungen macht, bei denen immer auch mehr oder weniger Produktmarketing betrieben wird.

Ein weiterer Konflikt ist an der Stelle auszumachen, wenn Firmen mehrere Technologien haben, die miteinander arbeiten. Hier gilt aus Firmenperspektive die Devise des Cross-Sellings, also jene Frontend-Technologie arbeitet am besten mit dieser Backend-Technologie aus dem selben Haus zusammen oder diese Software passt exzellent zu der Hardware des gleichen Herstellers. Natürlich gibt es Alternativen aber einem Corporate Evangelist wird es vorwiegend um das Promoten der eigenen Technologien gehen. Hier sind freie Evangelisten wieder im Vorteil, sie werden das propagieren, was aus ihrer Erfahrung und Praxis heraus am meisten Sinn macht.

Eine Ausnahme für das hier beschriebene bilden die Usergruppen oder Veranstaltungen, die aus Community Projekten hervorgegangen sind und zumeist unter die Klassifikation Free and Open Source Software (FOSS) fallen. Hier verhält es sich anders, da im Unterschied zu Technologien und Projekten hinter denen Unternehmen stehen, keine Drittinteressen im Spiel sind.

Christian Heilmann – seines Zeichens Web Developer Evangelist für das Yahoo Developer Network – führt in seinem neuen Buch-Projekt Developer Evangelism aus, wie sich Corporate Developer optimal geben sollten, um einen maximalen Impact zu erzielen. Für freie Evangelisten, die Technologien aus Überzeugung promoten bietet das Buch weniger als für Corporate Evangelists. Geht man die Kapitel durch wird deutlich, dass diese aus Überzeugung für die Technologie auftreten müssen und nicht um Produkte zu verkaufen. Die Firma, für die man arbeitet muss in den Hintergrund treten, die Technologie muss im Mittelpunkt stehen:

Yes, you work for a certain company that builds a lot of products, some of them cool – some of them terrible. The point of developer evangelism is not to get people excited about the brand or the company behind it though.

Instead it is about the products the company releases and even more specifically about getting developers excited about playing with them.

Diese uns andere Einsichten Heilmanns sind diejenigen, die einen Evangelisten erfolgreich machen sollen. Natürlich gehört dazu auch ein Management, was diese Art von Evangelisation unterstützt – es ist eben ein allumfassender Lernprozess.

Freie Evangelisten sind hier im Vorteil: Vieles, was sich bei Unternehmensevangelisten ändern muss, ist bei ihnen sozusagen naturgegeben schon vorhanden. Die oben angesprochene Authentizität muss sich durch Begeisterung und Überzeugung für die Technologien speisen und aus nichts anderem sonst.

Entwickler sind selten Entscheider, aber sie sind öfter als man denkt Entscheidungsvorbereiter. Und wenn Entwickler von Technologien angesprochen sind steigt die Chance, dass das Management sich auch dafür entscheidet. Das Ziel von Unternehmensevangelisten, mehr Produkte zu verkaufen und mehr Entwickler für sich zu gewinnen, stellt sich so auch indirekt ein – aber ohne peinliche Marketing- und verkappte Promotionaktionen für Produkte.

Hier sind wiederum die freien Redner im Vorteil. Ihre Unabhängigkeit erzeugt auch die angesprochene Authentizität. Sie ist aber auch für die Unternehmen eine unberechenbare Komponente, weil deren Technologien zwar authentisch demonstriert und erklärt werden, aber nicht unbedingt auf die Art und Weise, wie es die Marketingabteilungen der Firmen gerne hätten. Unternehmen sollten diese Unberechenbarkeit aber nutzen, sie ist oftmals mehr Wert als gestreamlinte Marketingshows.

Rückblick PHP BBQ 2009

June 17th, 2009 Reto Kiefer No comments

Gestern Abend war es so weit: Ulf Wendels Grilltour zu den deutschen PHP Usergroups hatte in Frankfurt Station. Statt selbst für Grill und Grillgut zu sorgen, hatten wir in der Brotfabrik ein Grillmenue bestellt, dass für jeden etwas bereit hielt. Knapp über 20 PHP Entwickler fanden sich ein zu Würsten, Steaks, Zanderfilet, Gemüse, Salaten und einem leckeren Erdbeer-Tiramisu zum Dessert.

Gegen die Gepflogenheiten verzichteten wir auf Vorträge und haben uns ganz aufs Essen und den gegenseitigen Austausch konzentriert, was auch sehr schön war.

Schon heute ist die PHP BBQ Tour in Karlsruhe und von da aus geht es dann nach Norden. Bilder vom Event finden sich hier.

Da auch einige Wiesbadener /  Mainzer da waren wurde spontan beschlossen zu versuchen, ein BarCamp im Mainz gegen Ende des Jahres auf die Beine zu stellen. Wer sich dafür interessiert der suche bitte bei Twitter nach dem Tag #bcmz.

Es war ein schöner Abend, die Brotfabrik hatte sich beim Essen wirklich ins Zeug gelegt und es war schön, wieder einmal die alten Gesichter von der PHP UG zu sehen, genau so, wie neue Leute kennen zu lernen

PHP BBQ am 16. Juni

June 4th, 2009 Reto Kiefer No comments

Auch wenn es ein wenig ruhiger um die PHP Usergruppe Frankfurt geworden ist und die Treffen zumeist im Rahmen des DevDusk stattfinden, gibt es diesen Sommer eine eigene Veranstaltung für alle PHPler und die es werden möchten.

Das PHP Barbecue ist eine Tour durch ganz Deutschland auf der alle Usergruppen besucht werden. Das Treffen in Frankfurt findet am 16.6. um 19.30 in der Brotfabrik Frankfurt statt.

Speiseliste, Preise und Anmeldungsbogen finden sich zentral hier.
Für weitere Fragen bitte mich direkt fragen oder auf der Mailingliste der PHP Usergroup Frankfurt.

Wer kein Interesse hat möge trotzdem anderen von dem Event erzählen – wir brauchen zwölf Teilnehmer damit das mit dem Essen so klappt.

Categories: Development, PHP Tags: , , , ,

IDE Shootout: Vergleich von Eclipse vs. IntelliJ Idea vs. Netbeans

May 28th, 2009 Reto Kiefer No comments

Wie der geneigte Leser an den Posts in meinem Blog sehen kann, habe ich mich in der letzten Zeit mit verschiedenen IDEs im Zusammenhang mit verschiedenen Sprachen und Technologien beschäftigt. Auch wenn der Prozess der Sichtung noch nicht abgeschlossen ist, wage ich dennoch einmal den Vergleich zwischen den drei Major IDEs wenn es um die Entwicklung mit Java und anderen Sprachen geht. Ich werde nicht nach IDE sortieren sondern nach verwendeten Sprachen und Frameworks. Zur Verwendung kommen die aktuelle Eclipse 3.4 (mit Vorausschau auf 3.5), Netbeans 6.7 Beta und IntelliJ Idea 8.1.

PHP

Die PHP Unterstützung ist nur in Eclipse und in Netbeans gegeben. Das freie PDT in Eclipse ist gleichzeitig die Grundlage für das kommerzielle Zend Studio for Eclipse, die führende IDE im PHP Bereich. Von den Kosten kann man fairerweise nur PDT und das Netbeans-Plugin vergleichen. Beide haben einen großen Coding Comfort und die Debugger Unterstützung ist ausgereift. Beide bringen auch Standardfeatures ihrer jeweiligen Mutter IDE mit, also Code Folding, Zeilennummerierung, ausgefeilte Suchen & Ersetzen Funktionen, Filenavigator und eine Outlineansicht sowie Anzeigen über Probleme, Todos etc.

Das Zend Studio erweitert PDT in vielerlei Hinsicht, etwa um ausgefeiltes Codeformatting, Unittest-Unterstützung, Server-Debugging und vieles andere mehr. Das Zend Studio (und damit die Eclipse-Plattform) ist klarer Gewinner des Vergleichs es kostet aber auch an die 400 €. Bleibt man bei den kostenfreien Lösungen gewinnt meines Erachtens die Netbeans-Lösung vor Eclipse. Zum einen ist das Editieren von Code in vielerlei Hinsicht komfortabler, die IDE fühlt sich schneller an und vor allem sind mit Unittest-Unterstützung und Code-Coverage-Analyse bereits Pro-Features aus dem Zend Studio frei verfügbar.

Fazit: Auch für größere Projekte reicht die Netbeans-Lösung aus, in einem aktuellen Projekt spicht einzig das Code-Formatting noch unbedingt für Zend, alles andere könnte man vermutlich auch mit Netbeans erledigen.

Flex

Für Flex fällt Netbeans komplett aus, da es keinerlei Support bietet. Für Eclipse gibt es den großen Flex Builder von Adobe, der kostenpflichtig ist, es sei denn man ist Student oder grade durch die Wirtschaftskrise arbeitslos geworden. IntelliJ ist ja eine kommerzielle IDE, aber der Flex Support kostet keinen Aufpreis.

Der Flex Builder ist so ziemlich der Standard wenn es um Flex Entwicklung geht. Er hat einen einmaligen visuellen Editor, der Roundtip-Engineering zwischen visueller und coding Ansicht bietet. Flex Builder bietet in Sachen Run-Configuration, Debugging und Profiling so ziemlich alles was man benötigt. Der Editor ist jedoch nur mäßig, so gibt es kaum Möglichkeiten, die Sourcen zu verändern, noch nicht mal ein “Format Source” ist dabei. Für einige Sachen gibt es Plugins aber vieles bleibt außen vor. Der Flex Builder ist entweder Standalone mit Eclipse zu beziehen oder als Eclipse Plugin.

Ein zweites Eclipse Plugin sind die Flash Development Tools (FDT) von Powerflasher, die in ihrer neuesten und teuersten Version Unterstützung für Flex bieten. Der Coding Comfort soll hier sehr gut sein, aber für den fast doppelten Preis des Flex Builders ist das definitiv zu viel.

Eine Alternative bietet hier IntelliJ gerade wenn man noch in anderen Sprachen programmiert erhält man einen ausgezeichneten Flex Support. Die Editorfunktionen sind sehr umfangreich und man findet viele Features, die man normalerweise nur in einem Java-Editor finden würde. Idea 8 unterstützt auch das Debugging von Flex.

Fazit: Eclipse oder IntelliJ Idea ist hier die Entscheidung. Wer das eine oder das andere mag wird seine Flex IDE aus dem gleichen Hause nehmen. Gerade wenn beide Backends in Java gecodet werden spielt es keine Rolle. Ist das Backend zu einer Flexanwendung aber in PHP geschrieben so bietet sich die Kombination Zend Studio for Eclipse in Verbindung mit dem Flex Builder Plugin an.

Groovy & Grails

Für Groovy und Grails gibt es für alle drei IDEs Unterstützung aber in unterschiedlicher Qualität. Ein ziemlicher Ausfall ist das Plugin für Eclipse. Es kann sehr wenig und ist noch in einem frühen Stadium. IntelliJ war lange der Marktführer in Sachen Groovy-/Grails-Support, der Vorsprung schwindet aber mit jeder Version von Netbeans stärker. Die aktuelle Beta von Netbeans 6.7 reicht an die Fähigkeiten von Idea 8 heran. Hier entscheidet alleine, was es für Vorlieben gibt. Eclipse sollte aus der Entscheidung außen vorgelassen bleiben und wenn schon IntelliJ im Hause ist sollte man dabei bleiben. Startet man aber auf der grünen Wiese oder will einfach mal nur mit einer gescheiten Entwicklungsumgebung etwas Groovy und Grails programmieren, dürfte die Entscheidung eindeutig für die Netbeans 6.7 Beta ausfallen.

Java-Script / HTML

Java-Script wird von allen drei IDE hervorragend unterstützt. Für Eclipse gibt es mit Aptana sogar eine Distribution, die auf die JS Entwicklung abzielt. Idea 8 hat einen ebenfalls sehr guten Java-Script Support und zeigt dies eindrücklich mit dem Java-Script Debugger. Netbeans in der aktuellen Beta bringt auch einen exzellenten Java-Script Support mit und ist in Sachen Codeerkennung und Codevervollständigung vorne. Der HTML Support ist ebenfalls in allen drei IDEs gut bedacht und es macht für einen Entwickler durchaus Sinn eine der IDEs statt Dreamweaver :-/ oder anderer Tools wie Espresso zu benutzen. Die Entwicklungsgeschwindigkeit wird sich positiv bemerkbar machen. Man muss auch bei einer IDE nicht immer auf einen visuellen Modus verzichten.

Java

Last but not least will ich kurz auf Java eingehen, die Sprache, der alle drei IDEs ihre Existenz verdanken. Nicht nur weil sie in Java programmiert sind sondern auch weil Java die erste Sprache war, die sie unterstützten. Alle drei IDEs bieten einen hervorragenden Support für die Javaentwicklung und lassen kaum Wünsche übrig. Wer welche IDE für Java einsetzt, wird nach seinen Vorlieben (oder denen seines Projektleiters) entscheiden oder nach dem, was er gewohnt ist. Unterschiede gibt es trotz aller Gemeinsamkeiten dennoch. Ein großes Plus von Eclipse ist die Mannigfaltigkeit von Plugins, die einem die Javaentwicklung erleichtern oder diese Unterstützen. Neben dem freien Eclipse gibt es auch kostenpflichtige Distributionen, die spezielle Einsatzzwecke abdecken- Der Vorteil von Netbeans ist die Einfachheit der Inbetriebnahme. man installiert es lädt über den Plugin Manager ein paar Plugins nach und beginnt ein neues Projekt in kürzester Zeit. Wer einmal eine umfangreiche Eclipse-Installation aufgesetzt hat, kann davon nur träumen. IntelliJ Idea hat seine eingeschworene Nutzergemeinde und geht einen Sonderweg in Nutzerführung und IDE-Nutzung.

Fazit

Wer welche IDE nutzt sollte dies von seinen Vorlieben, den Vorgaben seiner Projekte und den Anforderungen abhängig machen. Geben sich die IDEs bei Java wenig, sieht es bei der Unterstützung für andere Sprachen schon wieder anders aus. Der Vorteil für den Entwickler ist, dass er für seine Technologie fast immer eine kostenfreie Option angeboten bekommt – nur selten ist ein Obulus für die Unterstützung einer Sprache notwendig. IntelliJ scheidet beim Thema Kostenfreiheit aus, da es kommerziell ist, genau wie der Flex Builder, Zend Studio oder MyEclipse. Netbeans, das lange das Stiefkind unter den IDEs war legt seit Version 6.5 ein atemberaubendes Tempo vor und hat zu den anderen IDEs längst aufgeschlossen. Es bleibt nur zu hoffen, dass Suns Übernahme durch Oracle nicht das Ende von Netbeans und die Entscheidung für JDeveloper bedeutet. Es wäre schade um eine gute IDE und auch die innovationstreibende Konkurrenz zu Eclipse wäre großteils verschwunden.

Wie auch immer die individuelle Entscheidung ausfällt, bleibt festzuhalten: Es ist gut, dass die Entwickler Freiheit in den eingesetzten Produktionsmitteln haben. Der zumeist kostenlose Zugang zu IDEs fördert auch den Zugang zur Programmierung. Und dass neben Java immer mehr Sprachen und Technologien einen zunehmend guten IDE Support erhalten ist wohl das größte Plus der aktuellen Entwicklung.

Categories: AJAX, Adobe Flex, Development, Eclipse, Java, JavaFX, PHP, XML Tags:

Bestandsaufnahme Netbeans

April 3rd, 2009 Reto Kiefer 1 comment

Wer mein Blog liest weiss, dass ich zu den mehr oder minder überzeugten Eclipsenutzern im IDE-Ringen zähle. Zend Studio und Flex Builder neben diversen anderen Editoren sind mein tägliches Werkzeug und ich arbeite im Großen und Ganzen gerne damit.

Aus diversen Anlässen heraus habe ich aber immer wieder mit NetBeans zu tun, sei es durch das Nutzen Groovy / Grails Plugins (was bei Eclipse schlicht nicht zu benutzen ist) oder die reine Neugierde, einfach einmal das PHP Plugin zu probieren. Auch durch die Möglichkeit sich über Netbeans die Entwicklung von JavaFX zu erleichtern, habe ich mich mit Netbeans intensiver beschäftigt.

Und siehe da, Netbeans ist in weiten Teilen konkurrenzfähig und in manchen Bereichen deutlich leistungsfähiger als die anderen IDEs. Vor allem wirkt die Netbeans-Entwicklung sehr agil und flexibel. Das Netbeans-Team geht sehr schnell auf Entwicklungen ein und implementiert sie in der IDE. So ist etwa der Ruby/JRuby Support in Netbeans legendär. Die Java-Tools sind ebenfalls mehr als brauchbar, der Swing-GUI-Builder Matisse etwa sucht noch seinesgleichen.

Der Groovy und Grails Support ist auch sehr vorbildlich (bitte den GSP Support in der nächsten Version berücksichtigen!) und auch PHP kann punkten. Der Unittest Runner und die in Version 6.7, Milestone 3 hinzugekommene Code Coverage, lassen den Wind für Zend deutlich eisiger werden. Mit PDT kann Netbeans sicherlich jetzt schon konkurrieren.

Wer viel mit Java-Script zu tun hat sollte sich einmal Netbeans ansehen, die Unterstützung ist nach Aussagen vieler besser als die von Aptana. Und wer mit Erlang, Scala oder Python programmiert wird mit Netbeans auch fündig werden.

Auch vom Handling geht mit Netbeans vieles einfacher. So ist etwa die Installation von Plugins eine Leichtigkeit. Alle verfügbaren Plugins stehen in einer Auswahlliste bereit und man braucht nicht einen halben Tag um alle Plugins, die man so braucht zusammen zu suchen.

Summa summarum ist Netbeans mittlerweile auch für den anspruchsvollen Entwickler eine IDE der Wahl. Wer “exotische” Sprachen nutzt wird hier ebenso fündig wie bei der Suche nach Support für die Mainstream Sprachen. Auch der Vorbehalt die Swing GUI sei langsam, stimmt so nicht mehr und unter Mac OS X sieht Netbeans ab Version 6.7 sogar regelrecht schick aus.

Netbeans ist also definitiv auf dem aufsteigenden Ast, seine Entwicklung und seine Nutzerzahlen gewinnen an Momentum. Man kann nur hoffen, dass durch die geplante Übernahme von Sun durch IBM diese hervorragende IDE Alternative nicht untergehen wird, denn IBM hat bereits eine IDE und das ist Eclipse.