Beim Testen wird Javascript häufig aufgrund “schwerer Testbarkeit” ausgelassen. Dieser Workshop vermittelt einen Einstieg in das mächtige Javascript-Testing-Framework “Jasmine”. Dabei lernen Sie wie sie einfache Javascript Funktionen, Methoden oder Klassen testen können. Ihre Trainer Dominik Ehrenberg und Sebastian Springer werden Ihnen außerdem verschiedene Mittel und Wege zeigen Tests auszuführen und zu verwalten. Natürlich stehen auch unterschiedliche Werkzeuge auf dem Lehrplan, die das Testen von DOM Operationen, XHR sowie Node.js und weitere ansonsten komplexe Situationen vereinfachen.
React ist ein UI-Framework von Facebook zur Entwicklung von Webapplikationen. In diesem Workshop wird Ihr Trainer Jakob Westhoff Ihnen eine Einführung in die Welt von React bieten. Der Workshop richtet sich an all jene, die bisher wenig, bis gar keine Erfahrung mit React haben und Lust auf Neues besitzen. Neben vielen Beispielen zur Verdeutlichung der Basis-Konzepte des Frameworks werden zudem einige Komponenten aus der Community vorgestellt, sowie auf Facebooks Flux-Architektur-Muster eingegangen. Darüber hinaus werden auch Themen des Server-side-Rendering von React-Applikationen (Polymorphe Apps), sowie eine kurze Abgrenzung zu React Native angerissen.
JavaScript ist durch den anhaltenden Boom von Web-Anwendungen zu einer der wichtigsten Sprachen der letzten Jahre geworden. Immer mehr und immer größere Anwendungen werden mit JavaScript entwickelt und wollen gewartet werden. Doch eignet sich JavaScript dafür überhaupt? Unsere Erfahrung zeigt hier ganz klar: jein. JavaScript hat seine Stärken, aber auch ausgeprägte Schwächen, die gerade im Bereich professioneller Anwendungsentwickler zum Tragen kommen. TypeScript verspricht hier Besserung. In diesem Workshop zeige ich welche Vorteile TypeScript hat und wie es sinnvoll eingesetzt werden kann, nicht nur zusammen mit Angular 2 sondern auch mit AngularJS 1. Wo liegen die Stärken, und wo ist noch Luft nach oben?
Auf geht’s! Angular 2 ist der Nachfolger des beliebten AngularJS Frameworks. Es wurde von Grund auf neu entwickelt, um dabei den aktuellen Webstandards und -anforderungen gerecht zu werden. In diesem Workshop lernen Sie alle Grundlagen von Angular und die notwendigen Basics von TypeScript. Setzen Sie ein Projekt mit Angular CLI auf und verarbeiten Sie mittels RxJS Daten, die von beliebigen Datenquellen
abgefragt werden. Das Ganze runden wir gemeinsam ab mit der Nutzung notweniger und wichtiger Tools. Let’s do it.
Prinzipiell ist CSS eine einfache Sprache. Aber wie immer steckt der Teufel manchmal im Detail. Nach einer kurzen Einführung in grundlegende CSS-Techniken schauen wir uns gemeinsam Designprobleme an und besprechen sie. Danach machen Sie sich vor Ort an die Umsetzung - Alles ohne Frameworks. Wer einen Präprozessor nutzen möchte, kann dies gerne tun.
Beim Testen wird Javascript häufig aufgrund “schwerer Testbarkeit” ausgelassen. Dieser Workshop vermittelt einen Einstieg in das mächtige Javascript-Testing-Framework “Jasmine”. Dabei lernen Sie wie sie einfache Javascript Funktionen, Methoden oder Klassen testen können. Ihre Trainer Dominik Ehrenberg und Sebastian Springer werden Ihnen außerdem verschiedene Mittel und Wege zeigen Tests auszuführen und zu verwalten. Natürlich stehen auch unterschiedliche Werkzeuge auf dem Lehrplan, die das Testen von DOM Operationen, XHR sowie Node.js und weitere ansonsten komplexe Situationen vereinfachen.
React wird sehr häufig mit Redux eingesetzt. Doch was ist das eigentlich? Redux ist ein Konzept zur Verwaltung des Anwendungsstatus, einem der größten Probleme in Anwendungen. Anstatt alles verteilt zu speichern wird in Redux der Status in einem Ort bearbeitet und auch nur von einer Funktion, den so genannten Reductern, bearbeitet. Das erleichtert nicht nur das Debugging, auch wird die Datenebene der Anwendung strikt von der Anzeigelogik getrennt. In diesem Workshop wird an praktischen Beispielen verdeutlicht, wie man mit React und Redux Anwendungen baut, in der State kein Problem mehr ist.
Datenbindung ist eine der wichtigsten Aufgaben moderner JavaScript-Frameworks und das neue Angular ab Version 2 bringt hierfür einige Verbesserungen. In diesem Workshop erfahren Sie anhand eines Beispiels, wie die komplett überarbeitete Datenbindung in Angular im Detail funktioniert und wie Sie von den einzelnen Arten von Bindings in Ihren Komponenten Gebrauch machen. Zusätzlich erfahren Sie, wie sich Data Binding auf die Performance Ihrer Anwendung auswirkt und wie Sie diese durch den Einsatz von Immutables und Observables drastisch beschleunigen können.
Die Zeit ist reif für den Umstieg auf Flexbox: das CSS3-Layoutmodul bietet endlich die Flexibilität, die responsive Layouts heute brauchen, und auch die Browserunterstützung ist gut. Der Workshop vermittelt Ihnen alle wichtigen Techniken zum Umstieg inklusive Fallbacklösungen für Nicht-Flexbox-Browser.
Auf geht’s! Angular 2 ist der Nachfolger des beliebten AngularJS Frameworks. Es wurde von Grund auf neu entwickelt, um dabei den aktuellen Webstandards und -anforderungen gerecht zu werden. In diesem Workshop lernen Sie alle Grundlagen von Angular und die notwendigen Basics von TypeScript. Setzen Sie ein Projekt mit Angular CLI auf und verarbeiten Sie mittels RxJS Daten, die von beliebigen Datenquellen
abgefragt werden. Das Ganze runden wir gemeinsam ab mit der Nutzung notweniger und wichtiger Tools. Let’s do it.
Was bringt mir eigentlich ein Framework, und warum machen wir das überhaupt alles?
Was ist eigentlich ein Framework, und was bringt es mir? Anhand der Security Features in Angular erklärt Martin Probst (Google), was Frameworks leisten können, und wie sie den Bau von - nicht nur - sicheren Anwendungen vereinfachen können.
Wie baut man zeitgemäße APIs? Die Frage ist schwieriger zu beantworten als es auf den ersten Blick scheint, schließlich wollen Themen wie Skalierbarkeit, Echtzeit, Streaming, Sicherheit, HTTP/2 & Co. berücksichtigt werden. Doch glücklicherweise funktioniert das Web wie Lego: Man muss nur wissen, welche kleinen, überschaubaren Bausteine man wie zusammenfügen muss, damit ein großes Ganzes entsteht. Golo Roden lädt Sie in diesem Workshop ein, die verschiedenen Bausteine kennenzulernen und zusammenzufügen. Gemeinsam werden wir live eine echtzeitfähige Streaming-API entwickeln, die die Vorteile von HTTP/2 ausnutzt und sich hervorragend skalieren lässt.
Mit React-Anwendungen kommen die Buzzwords. Isomorph, Progressive Web-Apps, Offline First sind nur
ganz wenige. In diesem ganztägigen Workshop bringen Hans-Christian Otto und Elmar Burke Licht ins Dunkel und die Teilnehmer werden beim Bau einer Anwendung begleitet. Die Anwendung wird Daten im Browser speichern, hierfür wird die In-Browser-Datenbank PouchDB eingesetzt. Das sichert die Offlinefähigkeit der Anwendung. Der Anwendungsstatus wird mit Redux verwaltet. Es kommt alles zusammen, was am Tag zuvor gelernt wurde.
Mit Reactive Programming lassen sich Applikationen sehr elegant umsetzen. Dieses Programmierparadigma beschäftigt sich mit den Datenflüssen in einer Applikation und sorgt dafür, dass Änderungen in einer definierten Art und Weise in der Applikation verteilt werden. Schon die Integration in Angular ab Version 2 ist unproblematisch, da das Framework selbst auf diesem Konzept aufbaut und an einigen Stellen auf die Bibliothek RxJS setzt. In diesem Workshop erfahren Sie, wie Sie mit dieser RxJS die Datenströme in Ihrer Applikation von der Anfrage an den Server bis zur Präsentation der Informationen im Template modellieren können. Haben Sie sich erst einmal daran gewöhnt, die Informationsflüsse als Ströme von Ereignissen zu sehen, können Sie diese mithilfe von Observables, Observern und Operators problemlos umsetzen.
Die Grundlagen von Angular sind vermittelt – nun geht es an den täglichen Einsatz in Ihren Projekten. Christian Liebel von Thinktecture zeigt Ihnen auf Basis seiner Erfahrungen aus etlichen Kundenprojekten, wie Sie weiteres Optimierungspotenzial für Ihre Anwendungen entfalten können: Ahead-of-Time-Compilation, verschiedene Change-Detection-Strategien, ngZone, Immutables, Observables, Server-Side Rendering oder ein für den Produktionsmodus optimierter Buildprozess sind nur einige Maßnahmen, um aus Ihrer Angular-Anwendung noch einmal deutlich mehr Performance herauszuholen, als Sie es zur Entwicklungszeit bereits gewohnt sind.
Wie im vorherigen Cookbook-Workshop steht auch hier die praktische Umsetzung einiger ausgewählter Designprobleme im Vordergrund. Dabei ist ihre Praxisrelevanz ein entscheidender Faktor. Es sind natürliche neue Probleme, denen wir uns in diesem Workshop stellen müssen.
Ein selbstverständlicher Bestandteil moderner Websites ist das sogenannte „Barrierefreie Webdesign“ (Accessibility). Neben einem kurzen Einblick in die Theorie, vermittelt dieser Workshop vor allem: Praxis, Praxis, Praxis. Die Teilnehmer werden aktiv an typische Herausforderungen herangeführt und lernen, wie Sie diese konkret lösen können. Die dabei vorgestellten Codebeispiele sind praxiserprobt und unmittelbar
einsetzbar.
In alten Technologien geschriebene CRUD-Anwendungen sind in die Jahre gekommen und machen uns das Leben teilweise schwer. Die Zeit ist reif für eine skalierbare, Cloud-taugliche Architektur wie CQRS in Verbindung mit einer modernen Plattform wie Node.js. Doch beginnt man, das Architekturmuster in Node.js umzusetzen, merkt man, dass das nicht ganz so leicht ist. Es gilt zahlreiche Hürden zu meistern, konzeptioneller wie technischer Natur: CAP, Eventual Consistency, Streams, Asynchronität – das sind nur einige der Aspekte, die heikel werden können. Golo Roden erklärt Ihnen in diesem Workshop, wie Sie CQRS in Node.js angehen, worauf es zu achten gilt und wie Sie die auftretenden Probleme meistern.
Mit React-Anwendungen kommen die Buzzwords. Isomorph, Progressive Web-Apps, Offline First sind nur
ganz wenige. In diesem ganztägigen Workshop bringen Hans-Christian Otto und Elmar Burke Licht ins Dunkel und die Teilnehmer werden beim Bau einer Anwendung begleitet. Die Anwendung wird Daten im Browser speichern, hierfür wird die In-Browser-Datenbank PouchDB eingesetzt. Das sichert die Offlinefähigkeit der Anwendung. Der Anwendungsstatus wird mit Redux verwaltet. Es kommt alles zusammen, was am Tag zuvor gelernt wurde.
Router sind der Dreh- und Angelpunkt der meisten Single Page Anwendungen. Die offizielle Implementierung für Angular 2 kommt mit einigen äußerst interessanten Konzepten. Sie unterstützt Child-Routes für hierarchische Views und Aux-Routes zur Organisation mehrerer paralleler Routen. Daneben können Anwendungen mit Guards ins Routing eingreifen. Um die Startgeschwindigkeit bei großen Anwendungen zu erhöhen, kann der Router auch einzelne Anwendungsteile erst bei Bedarf nachladen (Lazy Loading) und mittels Preloading kann die wahrgenommene Performance weiter verbessert werden. In dieser Session erfahren Sie anhand einer durchgängigen Beispielanwendung mit praxisnahen Use Cases, was sich hinter diesen Konzepten verbirgt und wie Sie sie in Ihren Projekten nutzen können.
Progressive Web Apps (PWA) sind ein heißes und topaktuelles Thema in der Webentwicklung. Dank einer ganzen Reihe von Technologien und Vorgehensweisen aus dem PWA-Umfeld lassen sich Websites und Webanwendungen mit einigen zentralen und relevanten Features ausstatten, die bisher ausschließlich nativen Anwendungen vorbehalten waren: Offlinefähigkeit, Push Notifications, schnelles Startverhalten und installierbar mit samt Homescreen-Icon. Christian Liebel von Thinktecture zeigt Ihnen, wie man sowohl mit JavaScript als auch mit Angular solche PWAs erstellt und wie sie sanft und sacht die Schlucht zwischen reinen Web-Sites, Web Apps und hybriden/nativen Apps schließen können.
Erleben Sie im Speaker Panel spannende Diskussionen zwischen den Trainern, die einen tiefen Blick hinter die Kulissen der JavaScript-Welt geben. Nutzen Sie auch die Möglichkeit in lockerer Atmosphäre ihre offenen Fragen des Tages zu stellen und mit den Trainern ihre Erfahrungen auszutauschen. Das sollten Sie nicht verpassen!
Moderation: Jakob Westhoff, Christian Weyer, Elma Burke, Jens Grochtdreis
Besonders in der Indieszene ist Unity weit verbreitet, auch weil es praktisch jede vorhandene Plattform unterstützt. Da Unity neben C# auch Javascript als Programmiersprache unterstützt, werden wir mit Hilfe von Standardwerkzeugen, vorhandenen Assets und Javascript im Laufe des Tages ein 2D-Spiel bauen, das die grundlegende Verwendung vermittelt.
Ionic 2 ist der Nachfolger des erfolgreichen Ionic-Frameworks welches nun auf Angular 2-Basis setzt und somit noch mehr Performance, Typescript-Unterstützung und vieles mehr mitbringt. Neben iOS und Android wird mit Ionic 2 nun auch Windows 10 Mobile unterstützt und deckt damit alle drei großen mobile Plattformen ab. Der Workshop dient als Einstieg in die App-Entwicklung mit Ionic 2 und dessen neuen Möglichkeiten. Es werden die Vor- und Nachteile des Frameworks gegenübergestellt und verschiedene Einsatzszenarien durchgespielt. Anhand einer konkreten Beispiel-App, lernen die Teilnehmer den grundlegenden Umgang mit Ionic 2 kennen. Kenntnisse in Ionic 1 sind nicht nötig, Angular 2 Vorwissen ist hilfreich.
Der Traum von einer einzigen Codebasis für alle Clientplattformen: Er lebt immer noch. In dieser Session zeigt Ihnen Christian Weyer, wie weit dieser Traum mit HTML5/JavaScript und aktuellen Cross-Plattform-Werkzeugen Wirklichkeit werden kann. Auf Basis moderner UI/UXKonzepte lassen sich Oberflächen für Desktops, Tablets und Smartphones entwerfen – mit einer Codebasis. Mischt man diesen Ansatz mit
Tools wie Cordova und Electron, so kann man mit Single-Page-Applications-(SPA-)Frameworks wie Angular 2 echte Anwendungen für alle relevanten Plattformen und Devicegrößen bauen, Mobile und Desktop: Windows, Linux, macOS, iOS, Android und Co. – und natürlich den Browser. Sehen Sie all dies in Action!
Jenseits von Smartphones und Tablets finden sich Touchscreens mittlerweile auch auf Laptops und traditionellen Desktop-Computern. Jetzt wo die Hardware-Unterstützung für Touch immer durchgreifender wird, ist es an der Zeit, dass sich Entwickler mit den neuen Möglichkeiten (und Problemen) dieser Technologie auseinandersetzen.
Mit einer Mischung aus Theorie und Praxis bietet dieser zweiteilige Workshop einen Einstieg in die Erfassung und Bearbeitung von Touchscreen-Interaktionen - von einfachen Tipps, wie man existierende Web-Applikationen auf die Eigenheiten von Touch-Geräten optimieren kann, bis hin zu Gesten und Multitouch.
Wer sich erstmals mit React befasst, trifft auf zahlreiche vermeintlich neue Konzepte: Immutability, Value Objects, Unidirectional Dataflows, Identität, Gleichheit, Pure Functions, und und und ... Doch die Wahrheit ist: Neu sind die wenigsten dieser Begriffe. Die meisten entstammen der funktionalen Programmierung, haben allerdings nie den Sprung in die Objektorientierung geschafft. Das Verständnis für diese Grundlagen ist aber enorm wichtig, um React erfolgreich einsetzen zu können. Deshalb lernen Sie in diesem Workshop mit Golo Roden alles an funktionalem Grundlagenwissen kennen, was Sie für
den produktiven und gelungenen Einsatz von React brauchen.
Besonders in der Indieszene ist Unity weit verbreitet, auch weil es praktisch jede vorhandene Plattform unterstützt. Da Unity neben C# auch Javascript als Programmiersprache unterstützt, werden wir mit Hilfe von Standardwerkzeugen, vorhandenen Assets und Javascript im Laufe des Tages ein 2D-Spiel bauen, das die grundlegende Verwendung vermittelt.
Are you an Angular developer who always wanted to build an iOS or Android app? Good news! NativeScript is a free and open-source runtime for building native apps with skills you already have – Angular, TypeScript, CSS, and npm. The best part? NativeScript renders truly native UIs – giving your users the best performance and UX their devices can offer. In this workshop you’ll learn how NativeScript works and how to
leverage it to build your next mobile app. Then, you’ll dive in and use NativeScript to build an iOS and Android app from scratch. If haven’t yet learned Angular2, you’ll learn fundamental concepts while we go along. In this workshop you will bring your mobile device and laptop, with the software being discussed installed, and have the unique opportunity to learn hands-on, following along with an instructor step-by-step.
Kaum eine Programmiersprache hat in den vergangenen 15 Jahren dermaßen Karriere gemacht wie JavaScript: Was 1995 als einfache aber exotische Skriptsprache für die clientseitige Interaktion auf Webseiten begann, treibt heute sämtliche großen, modernen Webseiten wie Facebook, Twitter und Co an. Und auch auf dem Desktop und mobilen Geräten findet JavaScript zunehmend Einzug. Was liegt also näher, als JavaScript auch serverseitig zu nutzen?
Jenseits von Smartphones und Tablets finden sich Touchscreens mittlerweile auch auf Laptops und traditionellen Desktop-Computern. Jetzt wo die Hardware-Unterstützung für Touch immer durchgreifender wird, ist es an der Zeit, dass sich Entwickler mit den neuen Möglichkeiten (und Problemen) dieser Technologie auseinandersetzen.
Mit einer Mischung aus Theorie und Praxis bietet dieser zweiteilige Workshop einen Einstieg in die Erfassung und Bearbeitung von Touchscreen-Interaktionen - von einfachen Tipps, wie man existierende Web-Applikationen auf die Eigenheiten von Touch-Geräten optimieren kann, bis hin zu Gesten und Multitouch.
Elm ist eine funktionale Sprache, die zu JavaScript kompiliert. Viele Konzepte, die heute in React-Anwendungen als Best Practice gelten (Immutability, Unidirectional Data Flow, Pure Functions) sind in Elm Bestandteile der Sprache selbst. Dadurch ist es in Elm sehr einfach, reaktive Anwendungen für den Browser zu entwickeln. In Elm gibt es keine Laufzeitfehler - nie. Wenn der Code kompiliert, läuft er garantiert fehlerfrei - ein großes Plus für wartbaren Code. Dieser Hands-On-Workshop richtet sich an Entwickler, die bisher noch nicht oder nur oberflächlich mit Elm in Berührung gekommen sind. Einerseits werden die grundlegenden Konzepte von Elm vermittelt, andererseits werden häufig auftretende Fragestellungen anhand vieler praktischer Beispiele beleuchtet.