Folien-Download, Videomitschnitt und Linksammlung unter:
http://molily.de/mmt28
JavaScript hat sich von einer beschränkten Scriptsprache zu einer mächtigen Sprache entwickelt, in der umfangreiche clientseitige Anwendungen geschrieben werden. Doch der Sprung von einfachem DOM-Scripting mit Hilfsmittel wie jQuery zu komplexen Anwendungen ist schwierig und verlangt Know-How. Der Vortrag gibt einen Einblick in aktuelle Konzepte und Techniken, die Struktur in die Entwicklung von JavaScript-Anwendungen bringen.
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Christian Janz
Oft hört man die Aussage, dass man mit JavaScript keine professionellen Geschäftsanwendungen entwickeln kann. In dieser Session möchte ich versuchen, diese Aussage zu widerlegen. Hierzu werde ich zeigen, wie bewährte Konzepte, wie z.B. Continuous Integration, für eine AngularJS-Anwendung verwendet und umgesetzt werden können.
Mit Windows 8.1 stehen Ihnen als App-Entwickler viele Neuerungen zur Verfügung. Neben neuen Controls, wie Hub, SettingsFlyout oder DatePicker gibt es neue Tile-Größen und auch neue Projektvorlagen. Auch die standardmäßig in einem App-Projekt enthaltenen Codedateien haben sich leicht geändert. In dieser Session gibt Ihnen Thomas Claudius Huber anhand zahlreicher in XAML/C# gezeigten Livedemos einen Überblick der Neuerungen.
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEEBenjamin Schmid
Serverseitige Web-Technologien waren lange Zeit das Mittel der Wahl für Java-basierte Webanwendungen. Der Trend jedoch geht immer mehr zu JavaScript-basierten und damit Clientseitigen Web-GUIs. Wir werfen dazu einen Blick auf Google's AngularJS und erläutern an plastischen Beispielen seine Kernkonzepte und Funktionsweise. Was zeichnet AngularJS für die Realisierung der im Java-Umfeld häufig vertretenen, datengetriebenen Anwendungen besonders aus und wie fühlt sich die Entwicklung damit im direkten Vergleich dazu an?
Ein konkretes Fallbeispiel aus der Praxis, bei dem wir durch den Wechsel von einer JSF/Portlet-basierten Portal-Lösung hin zu einem AngularJS-basiertem Ansatz bei identischem JEE-Backend und Funktionalität Performance-Gewinne im Bereich von Zehnerpotenzen realisieren konnte, zeigt dabei auf, daß sich dieser Paradigmentwechsel durchaus lohnen kann!
Javascript & DOM - Part 1- Javascript Tutorial for Beginners with ExamplesOUM SAOKOSAL
In this the part 1 of the series Javascript Tutorial for Beginners with Examples, you will learn the fundamental of Javascript & DOM. By the end of this tutorial, you will be able to grab the most important concepts of all Javascript and DOM. I start off with what is DOM, how to get element from DOM. And I move to Javascript language (if, else, switch, case, for, while, do while) and then the array. Then I will explain the functions with 3 types: normal function, anonymous function, and self-invoke function. Lastly, I teach the combination of JS and DOM.
Please find me at:
https://youtube.com/user/oumsaokosal
https://slideshare.net/oumsaokosal
https://facebook.com/kosalgeek
https://twitter.com/okosal
https://github.com/kosalgeek
https://kosalgeek.com
Oum Saokosal
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Christian Janz
Oft hört man die Aussage, dass man mit JavaScript keine professionellen Geschäftsanwendungen entwickeln kann. In dieser Session möchte ich versuchen, diese Aussage zu widerlegen. Hierzu werde ich zeigen, wie bewährte Konzepte, wie z.B. Continuous Integration, für eine AngularJS-Anwendung verwendet und umgesetzt werden können.
Mit Windows 8.1 stehen Ihnen als App-Entwickler viele Neuerungen zur Verfügung. Neben neuen Controls, wie Hub, SettingsFlyout oder DatePicker gibt es neue Tile-Größen und auch neue Projektvorlagen. Auch die standardmäßig in einem App-Projekt enthaltenen Codedateien haben sich leicht geändert. In dieser Session gibt Ihnen Thomas Claudius Huber anhand zahlreicher in XAML/C# gezeigten Livedemos einen Überblick der Neuerungen.
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEEBenjamin Schmid
Serverseitige Web-Technologien waren lange Zeit das Mittel der Wahl für Java-basierte Webanwendungen. Der Trend jedoch geht immer mehr zu JavaScript-basierten und damit Clientseitigen Web-GUIs. Wir werfen dazu einen Blick auf Google's AngularJS und erläutern an plastischen Beispielen seine Kernkonzepte und Funktionsweise. Was zeichnet AngularJS für die Realisierung der im Java-Umfeld häufig vertretenen, datengetriebenen Anwendungen besonders aus und wie fühlt sich die Entwicklung damit im direkten Vergleich dazu an?
Ein konkretes Fallbeispiel aus der Praxis, bei dem wir durch den Wechsel von einer JSF/Portlet-basierten Portal-Lösung hin zu einem AngularJS-basiertem Ansatz bei identischem JEE-Backend und Funktionalität Performance-Gewinne im Bereich von Zehnerpotenzen realisieren konnte, zeigt dabei auf, daß sich dieser Paradigmentwechsel durchaus lohnen kann!
Javascript & DOM - Part 1- Javascript Tutorial for Beginners with ExamplesOUM SAOKOSAL
In this the part 1 of the series Javascript Tutorial for Beginners with Examples, you will learn the fundamental of Javascript & DOM. By the end of this tutorial, you will be able to grab the most important concepts of all Javascript and DOM. I start off with what is DOM, how to get element from DOM. And I move to Javascript language (if, else, switch, case, for, while, do while) and then the array. Then I will explain the functions with 3 types: normal function, anonymous function, and self-invoke function. Lastly, I teach the combination of JS and DOM.
Please find me at:
https://youtube.com/user/oumsaokosal
https://slideshare.net/oumsaokosal
https://facebook.com/kosalgeek
https://twitter.com/okosal
https://github.com/kosalgeek
https://kosalgeek.com
Oum Saokosal
Um Bilder und Grafiken "bereinigte" Version des Vortrags bei der JUG Ostfalen.
Nahezu jede große Website – egal ob das Backend in Java, PHP, Ruby oder Python programmiert wurde – verwendet im Browser JavaScript als Sprache. Software-Artefakte, die in JavaScript erstellt wurden, werde zunehmend wichtiger, da Logik in letzter Zeit tendenziell wieder vom Server zurück in den Browser wandert. JavaScript-Entwicklung ist im Alltag des Enterprise-Entwicklers angekommen. Teils muss er als Backend-Entwickler JavaScript-Code überarbeiten, der z.B. von einer Webagentur erstellt wurde, teils muss er auch selbst JavaScript-Artefakte erzeugen oder ein ganzes Framework oder eine Library in JavaScript schreiben oder pflegen.Der erste Teil des Vortrags richtet sich an Enterprise-Enwickler (meist mit einem Java-EE-Hintergrund), die sich für JavaScript interessieren, sich schnell darin einarbeiten wollen und Tipps suchen, dieses Ziel zu erreichen. Dabei werden einige Grundlagen der Sprache vorgestellt. Dieser Teil des Vortrags soll eher Lust auf Mehr machen als fundamentales Wissen in aller Tiefe zu vermitteln.Enterprise-Entwicklung ist in der Regel Teamarbeit. Eine große Codebasis mus wartbar bleiben. Im zweiten Teil des Vortrags werden Techniken und Tools vorgestellt, die dabei helfen können, eine geeignete Codequalität zu erreichen und zu wahren
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
Eine Sammlung von Best Practices für Applikationen mit AngularJS. Der Vortrag stellt Strukturen und Konventionen vor, mit denen sich auch umfangreiche Applikationen wartbar und erweiterbar halten lassen.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2001 hervorzusagen. Auf der Liste sind:
- UML
- .NET/C#
- SOAP
- P2P
- DivX ;-)
- UMTS
- RDF
- Micropayments
- XForms
- Spracherkennung/VoiceXML
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Michael Sebel zeigt wie man ein Blog – oder ein Blog eines Kunden – mit Shortcodes, Filtern, Actions, Widgets, Themes und Theme Features sowie eigenen Admin-Menüstrukturen, Backends, Page Templates und ein bisschen Ajax individualisieren kann.
Code Beispiele Download:
http://static.blog.blogwerk.com/files/wp-development.zip
Ajax hands on - Refactoring Google SuggestBastian Feder
Die Entwicklung interaktiver Internetseiten und -applikationen (RIAs) schreitet unaufhörlich voran. Nicht zuletzt Google hat sich schon sehr früh mit sehr innovativen Ideen (Mail, Kalender etc.) und deren Umsetzung einen Platz unter den Großen der Internetgemeinde reserviert. Eine Idee hat meines Erachtens die Benutzbarkeit und Anwenderfreundlichkeit von RIAs entscheidend beeinflusst - Google Suggest. Dieser Workshop beschäftigt sich im Detail mit der Erstellung einer solchen Vorschlagsfunktion. Er betrachtet verschiedene JavaScript Frameworks und Bibliotheken und deren Herangehensweisen an diese Aufgabenstellung. Eine kurze Gegenüberstellung von XML und JSON zeigt den Teilnehmern deren Vor- und Nachteile in verschiedenen Situationen der Client-Server-Kommunikation. Eine Betrachtung aus der Usability-Ecke ist ebenso Bestandteil des Workshops wie die Berücksichtigung von Sicherheit und Barrierefreiheit.
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
node.js erlaubt die Ausführung von Javascript auf dem Server. Zusammen mit YUI3 gibt es jetzt auch noch einen echten DOM und plötzlich macht alles Spass :-)
30 minütige Präsentation des Google Web Toolkit, einem Java Framework zum erstennellen von Javafreien-Web-Applikationen. Den Download des Beispielprogramms finden Sie auf http://www.easy-coding.de/trac/gwt .
Um Bilder und Grafiken "bereinigte" Version des Vortrags bei der JUG Ostfalen.
Nahezu jede große Website – egal ob das Backend in Java, PHP, Ruby oder Python programmiert wurde – verwendet im Browser JavaScript als Sprache. Software-Artefakte, die in JavaScript erstellt wurden, werde zunehmend wichtiger, da Logik in letzter Zeit tendenziell wieder vom Server zurück in den Browser wandert. JavaScript-Entwicklung ist im Alltag des Enterprise-Entwicklers angekommen. Teils muss er als Backend-Entwickler JavaScript-Code überarbeiten, der z.B. von einer Webagentur erstellt wurde, teils muss er auch selbst JavaScript-Artefakte erzeugen oder ein ganzes Framework oder eine Library in JavaScript schreiben oder pflegen.Der erste Teil des Vortrags richtet sich an Enterprise-Enwickler (meist mit einem Java-EE-Hintergrund), die sich für JavaScript interessieren, sich schnell darin einarbeiten wollen und Tipps suchen, dieses Ziel zu erreichen. Dabei werden einige Grundlagen der Sprache vorgestellt. Dieser Teil des Vortrags soll eher Lust auf Mehr machen als fundamentales Wissen in aller Tiefe zu vermitteln.Enterprise-Entwicklung ist in der Regel Teamarbeit. Eine große Codebasis mus wartbar bleiben. Im zweiten Teil des Vortrags werden Techniken und Tools vorgestellt, die dabei helfen können, eine geeignete Codequalität zu erreichen und zu wahren
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
Eine Sammlung von Best Practices für Applikationen mit AngularJS. Der Vortrag stellt Strukturen und Konventionen vor, mit denen sich auch umfangreiche Applikationen wartbar und erweiterbar halten lassen.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2001 hervorzusagen. Auf der Liste sind:
- UML
- .NET/C#
- SOAP
- P2P
- DivX ;-)
- UMTS
- RDF
- Micropayments
- XForms
- Spracherkennung/VoiceXML
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Michael Sebel zeigt wie man ein Blog – oder ein Blog eines Kunden – mit Shortcodes, Filtern, Actions, Widgets, Themes und Theme Features sowie eigenen Admin-Menüstrukturen, Backends, Page Templates und ein bisschen Ajax individualisieren kann.
Code Beispiele Download:
http://static.blog.blogwerk.com/files/wp-development.zip
Ajax hands on - Refactoring Google SuggestBastian Feder
Die Entwicklung interaktiver Internetseiten und -applikationen (RIAs) schreitet unaufhörlich voran. Nicht zuletzt Google hat sich schon sehr früh mit sehr innovativen Ideen (Mail, Kalender etc.) und deren Umsetzung einen Platz unter den Großen der Internetgemeinde reserviert. Eine Idee hat meines Erachtens die Benutzbarkeit und Anwenderfreundlichkeit von RIAs entscheidend beeinflusst - Google Suggest. Dieser Workshop beschäftigt sich im Detail mit der Erstellung einer solchen Vorschlagsfunktion. Er betrachtet verschiedene JavaScript Frameworks und Bibliotheken und deren Herangehensweisen an diese Aufgabenstellung. Eine kurze Gegenüberstellung von XML und JSON zeigt den Teilnehmern deren Vor- und Nachteile in verschiedenen Situationen der Client-Server-Kommunikation. Eine Betrachtung aus der Usability-Ecke ist ebenso Bestandteil des Workshops wie die Berücksichtigung von Sicherheit und Barrierefreiheit.
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
node.js erlaubt die Ausführung von Javascript auf dem Server. Zusammen mit YUI3 gibt es jetzt auch noch einen echten DOM und plötzlich macht alles Spass :-)
30 minütige Präsentation des Google Web Toolkit, einem Java Framework zum erstennellen von Javafreien-Web-Applikationen. Den Download des Beispielprogramms finden Sie auf http://www.easy-coding.de/trac/gwt .
6. Was ist das Besondere an
JavaScript? (technisch)
Unkonventionell, da dynamisch und funktional
Mächtig und aussdrucksstark
Muss verstanden und beherrscht werden
Fallstricke und Designfehler
7. Was ist das Besondere an
JavaScript? (sozial)
Viele Anfänger und Nicht-Fachleute schreiben
JavaScript
The World’s Most Misunderstood Programming
Language (Crockford 2001)
… Has Become the World’s Most Popular
Programming Language (Crockford 2008)
11. Was jQuery gut kann
Schneller Einstieg
Knapper und verständlicher Code
Häufige Aufgaben einfach lösen
Ökosystem an Plugins und Fertigscripten
12. Was jQuery nicht leistet
jQuery deckt nur einen kleinen Bereich ab
jQuery-Code skaliert nicht,
wird schlecht lesbar und wartbar
jQuery bietet (fast) nichts zur Strukturierung
22. Moviepilot.com
Englischsprachiger Ableger von Moviepilot.de
Film-Nachrichten basierend auf dem
persönlichen Filmgeschmack
Kommende Filmprojekte, Schauspieler,
Regisseure und Themen verfolgen
23. Frontend-Technik
Backend: Ruby on Rails
Frontend: Haml, Sass, CoffeeScript
Bibliotheken: jQuery, Underscore, Backbone
und Handlebars
Models,Views und Controller (MVC)
Eine API liefert JSON-Daten
26. JSLint und JSHint
Code-Analyse anhand der »Good Parts«
Fehler und Warnungen beim Regelverstoß
Eingebettet in Editoren und Build-Werkzeugen
27. ECMAScript-Standards
ECMAScript 5 (Dezember 2009)
Korrekturen, Ergänzungen und Neuerungen für
robustere Programme
ECMAScript 6 (nahe Zukunft)
Eine bessere Sprache zur Entwicklung
komplexer Anwendungen und Bibliotheken
29. Google Closure Compiler
Optimierung und Komprimierung
Überprüfen der Google-Coding-Guidelines
Anmerkungen zu Datentypen, Parametern,
Zugriffsrechten, Klassen usw.
Code-Analyse und Warnungen z.B. bei
Typänderungen
30. CoffeeScript
Metasprache, die nach JavaScript übersetzt wird
Bessere Lesbarkeit und Syntaxzucker
Verbessert die Produktivität
Keine Antwort auf sämtliche JS-Probleme
32. Google Web Toolkit
Komplettlösung für große Anwendungen
Klassenbibliothek mit vorgefertigten UI-
Elementen
Entwicklung in Java in einer IDE wie Eclipse
34. Model View Controller
Bewährtes Pattern für grafische
Benutzeroberflächen
Model: Rohdaten und deren Logik
View: Darstellung der Daten
Controller: Benutzeraktionen auswerten
35. MVC mit Backbone
Model: Rohdaten als JSON empfangen,
validieren und senden
View: Daten mittels Templates rendern,
Model beobachten und verändern (Binding)
Controller: nicht vorgesehen
36. Publish/Subscribe
Auf ein Ereignis in einem Teil der Anwendung
sollen verschiedene andere Teile reagieren
Ereignis-basierte lose Kopplung:
PubSub.publish('login', user)
PubSub.subscribe('login', callbackFunction)
41. Erkenntnisse
JavaScript macht Spaß und lohnt sich
JavaScript-Anwendungen sind nicht einfach
Man muss sich viel selbst erarbeiten
Best Practises für große Anwendungen fehlen
Sprache, Bibliotheken und Tools müssen besser
werden
42. Empfehlungen
Ein komfortables Abstraktionslevel schaffen
Strukturen und Konventionen geben Halt
Vorhandene Werkzeuge ausschöpfen
Metasprachen wie CoffeeScript ausprobieren
Gute MVC-Bibliotheken wählen
Know-How übertragen und weiterentwickeln