Erstellen einer flexiblen Projektstruktur für Symfony2 und AngularJS

Symfony2 im Backend und AngularJS im Frontend, das war die Wahl für ein internes Projekt zur Teamplanung bei meinem Praktikum im September/Oktober 2013.

Eine besondere Herausforderung von Zusammenfügen der beiden Frameworks, sodass sie angenehm miteinander harmonieren, da beide ihr eigenes Routing mitbringen.
Soll hier Symfony das Routing übernehmen oder soll AngularJS das alles regeln? Brauche ich eine spezielle Webserverkonfiguration?

In diesem Artikel möchte ich beschrieben, wie die Projektstruktur aussehen muss, damit Symfony2 und AngularJS bequem zusammen spielen und es keine Kompilkationen mit Updates und dem Deployment gibt. Weiterlesen

Testing your ExtJS 3.4 components with Jasmine

Developing your own ExtJS components for your application is more fun and results into more resilient code if you write them hand-in-hand with test code. A solid test basis can also facilitate the task of refactoring your software.

Although, test driven development is easy for javascript code, how can ExtJS 3.4 components be tested? Which parts of our components should be tested to accomplish a successful refactoring?
Weiterlesen

Komprimiertes JavaScript unter Kontrolle: Source Maps

Haben Sie schon einmal versucht, den Fehler in Zeile 1 der Datei app.js zu finden, wenn diese Datei aus nur einer Zeile mit einer Zeilenlänge von etlichen tausend Zeichen besteht und weder über vernünftig gesetzte White Spaces noch über Kommentare verfügt? Wartungsfreundlich und gut lesbar ist ein so optimierter Quellcode sicherlich nicht. Zur Hilfe kommt Ihnen hier das Konzept der Source Maps. Weiterlesen

JavaScript Coding Patterns: Das „Module Pattern“

In diesem dritten Teil der Reihe JavaScript Coding Patterns wird das sogenannte Module Pattern vorgestellt. Hierbei handelt es sich um eine Kombination aus einer Closure, einer Immediate Funktion und einem Objekt Literal, drei Patterns die bereits im ersten Teil und im zweiten Teil dieser Reihe erläutert wurden.

Weiterlesen

JavaScript Coding Patterns: Closures & Immediate Functions

Dies ist der zweite Teil der Reihe JavaScript Coding Patterns. Der erste Teil handelt vom Einsatz von Objekt-Literalen zur Strukturierung von JavaScript-Code. Nun geht es um Closures und Immediate Functions und darum, wie sich mit deren Hilfe private und öffentliche Eigenschaften von JavaScript-Objekten umsetzen lassen.

Weiterlesen

JavaScript Coding Patterns: Objekte & Objekt-Literale

Beim Programmieren mit JavaScript steht einem nicht immer ein Framework zur Verfügung. Auch lohnt sich der Einsatz eines solchen Hilfsmittels nicht immer, da schließlich auch viel Kleinkram mit JavaScript zu programmieren ist. Also macht es doch Sinn, sich ein paar Gedanken zum Thema JavaScript Coding Patterns zu machen.

In einer objektorientierten und funktionalen Programmiersprache wie JavaScript sie ist, spielen selbstverständlich ObjekteFunktionen und Vererbung die Hauptrolle bei der effizienten und sinnvollen Strukturierung von Code. Entlang dieser zentralen Sprachelemente haben sich Coding Patterns herausgebildet, von denen ich in diesem ersten Teil einer Artikel-Serie den Einsatz des Objekt-Literals als Mittel zur Code-Organisation vorstellen werde.

Weiterlesen

Planning Poker mit Node.js und Socket.IO

Bei unserer täglichen Arbeit als Remote-Teil des Entwicklungsteams unseres Kunden benötigen wir häufig innerhalb des Scrum-Prozesses ein Remote-Tool zum Schätzen und Besprechen (Backlog Grooming bzw. Refinement Meeting) neuer Tasks.

Die folgenden Anforderungen einer solchen Pokeranwendung haben förmlich nach einer Umsetzung mit Node.js geschrien.

Weiterlesen

ExtJS Theming: Eine Anwendung, 100 Gesichter

In der Frontendentwicklung ist es nicht unüblich, eine Anwendung in verschiedener Art in Erscheinung treten zu lassen. Ob für die Abgrenzung mehrerer Brands voneinander, den Verkauf einer Software mit spezifischen Designanpassungen für den Käufer (etwa für einen Online-Shop), oder zur Durchführung von A/B-Tests mit unterschiedlich gestylten Frontendkomponenten – es gibt eine Vielzahl von Gelegenheiten, bei denen es Sinn macht, eine Anwendung mit unterschiedlichen Gestaltungen in anderen Gewändern zu zeigen.

Hier möchte man selbstverständlich in den wenigsten Fällen das komplette Frontend neu schreiben. Dabei können bereits kleinere Änderungen, etwa eine Anpassung der verwendeten Farben, das Aussehen der Anwendung grundlegend ändern.

Im Folgenden möchte ich zeigen, wie man durch den Einsatz von Themes die eigene Anwendung mit relativ geringem Aufwand in neuem Glanz präsentieren kann. Weiterlesen

JavaScript Tests mit Karma schnell an den Start bringen

Schon seit geraumer Zeit gibt es für fehlende Unit Tests in JavaScript keine Entschuldigung mehr. Erstens weil JavaScript mit Sicherheit keine “toy language”, sondern eine ernstzunehmende Programmiersprache ist. JavaScript steuert heutzutage client- und serverseitige  Applikationen, die ohne Wenn und Aber getestet werden müssen. Zweitens existieren auch für JavaScript bereits seit längerem Frameworks, die das Schreiben von Unit Tests vereinfachen und standardisieren. Zu nennen sind hier JSUnitYUI Test, QUnit, Mocha und Jasmine. Drittens und schließlich sind auch automatisierte Testläufe mit Runnern wie JSTestDriver, YUI YetiBusterJS und eben Karma ohne Probleme durchführbar. Der zuletzt genannte Test Runner Karma ist der neueste von allen. Seine Vorzüge werde ich im Folgenden darstellen.

Weiterlesen

So wird ein Coding Dojo zu einer ernstzunehmenden Lernveranstaltung

Was sich im Ruby- und Java-Umfeld schon lange etabliert hat, findet langsam auch in unserer (PHP- & JavaScript-) Welt seinen Platz- Coding Dojos! Die Idee vom gemeinsamen Programmieren in der Form eines Coding Dojos kommt vom Autor von The Pragmatic Programmer, David Thomas. Er sagt: „Developers should practise on small, not job related code base repeatedly so that they can master their profession like musicans“. Der Autor möchte dabei nicht zur Nutzung des JavaScript-Toolkits Dojo anregen, sondern vielmehr zum gemeinsamen Coden an kleinen Aufgaben, den Katas. Folgt die PHP- und JavaScript Community einem Hype aus dem Umfeld anderer Programmiersprachen oder kann wirklich jeder etwas in einem Coding Dojo lernen? Dieser Artikel erklärt, was es mit Coding Katas auf sich hat und wie ein Coding Dojo gestalltet werden sollte, damit jeder Teilnehmer dabei etwas lernen kann. Weiterlesen