Ich bau mir eine Stakeholder Map App mit Ionic 2 und Firebase

Stakeholder Maps helfen, den Überblick auf einem Projekt zu halten. Ionic 2 hilft, schnell einen Prototyp für eine App zu erstellen. Firebase hilft, schnell ein Backend für Anmeldung und Datenhaltung aufzubauen. Wie man mit soviel Hilfe eine Stakeholder-Map-App baut, beschreiben wir im Folgenden. Wir, das sind Steffen Ritter und Micha Trieba von Mayflower. Weiterlesen

FrOSCons Eleven

Wir sind zwar nicht ganz 11, aber mit zumindest 4 Mayflowers geht es am Wochenende auf zur FrOSCon an die Hochschule Siegburg/Bonn. Dieses Jahr steht bereits die elfte Auflage der Konferenz an. In Zeiten, in denen mir Artikel weismachen wollen, dass Barcamps die besseren Konferenzen seien, stellen hier einige Ehrenamtliche eine beachtliche Konferenz auf die Beine. Sie sollte fest im Terminplan eines jeden Entwicklers stehen. Für mich persönlich ist es immer das Highlight des Jahres. Weiterlesen

Reactive Javascript mit RxJs

Auf Listen oder einfachen Array ist man es inzwischen schon gewohnt: Anstelle von einfachen Schleifen, bedient man sich hier lieber einem Iterator, oder verfällt ganz und gar dem Funktionalen Ansatz. Aber warum eigentlich? Gerade der funktionale Ansatz liefert eine einheitliches Interface wie man mit Collections umgeht. Den selben Effekt erreiche ich aber auch mit Iteratoren. Eine Liste von Cocktails

lässt sich beispielsweise so nach dem id/name Paar für Cocktails mit mehr als 6% durchsuchen:

Das erfüllt völlig seinen Zweck, aber schön ist das nicht. Mit einer foreach-Funktion könnte das dann so ausshen:

aber noch besser wäre:

Weiterlesen

Excel-Dateien mit Javascript im Frontend erstellen

Für viele Anwendungen ist der Export nach Excel ein wichtiges Feature. Zum Erstellen von Excel-Dateien mit PHP auf Serverseite gibt es Lösungen wie libxl oder PHPExcel, doch geht das auch per Javascript nur im Frontend? Ja, wie im Artikel gezeigt wird. Weiterlesen

Das neue AngularJS-Poster

Ein neues AngularJS-Poster? Jetzt noch, wo doch ein neues AngularJS 2.0 vor der Tür steht? Ja, das ist sinnvoll. Nicht nur, weil es bis zur Umstellung noch ein wenig hin ist (geschweige denn, ob und wenn AngularJS 2 denn den neuen Standard stellt) sondern auch, weil ein Überblick zu gängigen AngularJS-Konventionen hilft, lesbaren und strukturierten Code zu schreiben. Was letztlich dazu beitragen wird, auch im Nachgang noch zusätzliche Features in bestehende AngularJS-Applikationen zu ergänzen oder Module aus anderen Projekten wiederzuverwenden Und ja, am Ende wird das auch helfen, strukturiert auf AngularJS 2 zu migrieren. Weiterlesen

Frontend Routing in einem Symfony2 Projekt

Moderne Webapplikationen werden immer häufiger in der Form von Single Page Applications (SPA) umgesetzt. Die Verwaltung der Templates wird dabei im Frontend gehandhabt, das Backend dient als Daten-Schnittstelle. Ich möchte euch in diesem Artikel eine Nginx-Konfiguration für ein Symfony2 Projekt vorstellen, bei der die Auslieferung der Frontend-Resourcen über das öffentliche web-Verzeichnis der Symfony Applikation erfolgt und die Backendschnittstellen hinter einen /api-Prefix gelegt werden. Das Ziel soll dabei sein, dass die für den Endnutzer „sauberen“ URLs im Frontend gehandhabt werden. Also alle URLs die nicht mit /api beginnen, wie z.B. /gewinnspiel sollen im Frontend geroutet und dort das passende Template dafür geladen werden. Weiterlesen

Wie man in Ext JS 5 ein Grid mit eigener Funktionalität erweitert

Eine der Standardkomponenten in Ext JS ist das Grid. Es stellt Daten in einer Tabellenform dar und bietet von Haus aus schon viele Funktionen, wie z.B. Filtern, Sortieren und Inline Editing. Manchmal sind diese Funktionen aber nicht genug und man möchte sein Grid um spezielle Features erweitern. Weiterlesen

JavaScript Days 2015: Security

Wenn der größte Teil der Logik in JavaScript stattfindet, dann findet auch der größere Teil der Sicherheitsrisiken dort sein Zuhause. So bietet JavaScript denn auch Angreifern eine interessante neue Spielwiese, denn die Sprache selbst und ihre enge Verzahnung mit Browser und Node.js bergen neue Probleme.

Genau da setzt dieser Vortrag an: die verblüffenden Unterschiede von JavaScript zu anderen Sprachen, wenn es um Security geht. Die Risiken und auch die Besonderheiten von Browsern und anderen JavaScript-Engines wie Node.js. Die Security-Implikationen von JavaScript-Frameworks bis hin zu speziellen Problemen wie mXSS, ReDOS und HTML5-Security.

298 Slides, kompakt in der Schnellübersicht. Weiterlesen

Automatisierung der Frontend-Entwicklung mit Grunt

Die Automatisierung von bestimmten Workflows, d.h. von fundamentalen und immer wiederkehrenden Arbeitsschritten, ist in der Softwareentwicklung ein alter Hut. Testläufe und komplette Buildprozesse wiederholt manuell durchzuführen würde nicht nur viel Zeit in Anspruch nehmen, sondern wäre vor allem auch viel fehleranfälliger als automatisierte Verfahren. Auch in der Webentwicklung werden mittlerweile Workflows wie das Kompilieren von CSS, das Minifizieren des Source-Codes, statische Code-Analysen (Linting) und das Ausführen von Unit- und Selenuim-Tests als automatische Prozesse gestaltet.

Ich stelle im Folgenden den JavaScript-Task-Runner Grunt als adäquates Tool für die Automatisierung von Arbeitsschritten im Rahmen der Frontend-Entwicklung vor.

Weiterlesen

Lightning-Talks: moderne Frontend Entwicklung

Lightning WEB @night im Würzburger Office

Am 24. April fand in unserem Würzburger Office das erste Event aus unserer neuen Vortragsreihe statt. In deren Rahmen gibt es jeweils an einem Abend vier Kurzvorträge – so genannte Lighning-Talks – zu einem gemeinsamen Thema. Am 24.04. war das die „moderne Frontend-Entwicklung“, die in den vier folgenden Lightning-Talks behandelt wurde:

Weiterlesen