Suche
International JavaScript Conference & International PHP Conference: Das war der erste Tag

Domain-driven Design, Passwörter und WebAssembly: Sieben Take-aways von der iJS & IPC

Ann-Cathrin Klose, Thomas Petzinna, Madeleine Domogalla

© Shutterstock / TheFarAwayKingdom

Die iJS und IPC haben am ersten Hauptkonferenztag zahlreiche spannende Sessions geboten. Ob Container oder die Frage nach der Zukunft von JavaScript: Hier sind die Highlights des ersten Tages für euch.

Take-away #1: Passwörter merken? Nein, danke!

Die Wahl des richtigen Passworts ist ein leidiges Thema. Bei der Vielzahl von Logins wird eine Vielzahl von Passwörtern benötigt, die man sich nicht alle merken kann. Besonders ärgerlich sind Kombinationsvorgaben wie eine bestimmte Länge, die Nutzung von Zahlen oder Sonderzeichen in Passwörtern. Joel Lord (Auth0) stellte in seiner Session zu „OAuth in practice: Forgot Password? Yes I Did!“ einige Varianten vor, wie die Identität eines Nutzers Online abgefragt werden kann und welche Hilfsmittel es bei der Passworterstellung gibt. Zum einen können Passwort-Generatoren genutzt werden. Zugang zum Netz ist auch durch ein biometrisches Bild sowie den Fingerabdruck möglich. Doch jede Variante birgt Risiken, wie Joel Lord anhand eines Beispiels demonstrierte: Der Versuch sich mithilfe der Gesichtserkennung zu identifizieren, scheiterte aufgrund der Lichtverhältnisse. Joel Lord hielt daraufhin ein Foto von sich auf dem Smartphone vor die Laptopkamera, woraufhin der Login funktionierte. Als er jedoch eine Scherzartikelbrille mit Schnurrbart und extra großer Nase aufsetze, scheiterte der Login ebenfalls, da das biometrische Material nicht mit der hinterlegten Identität übereinstimmt.

Take-away #2: WebAuthn: Stick mit API anstelle Passwort

Das Thema Passwörter zieht sich durch den Konferenz-Dienstag der Schwesterkonferenzen iPC & iJS 2018. Arne Blankerts (thePHP.cc) geht in seiner Session „WebAuthn: Passwords are Legacy!“ so wie Joel Lord auf die Probleme ein, auf die der Nutzer im Umgang mit Passwörtern treffen kann. Blankerts zeigt, dass selbst Passwörter, die die von den Website-Betreibern gewünschten Richtlinien erfüllen – Zahlen und Sonderzeichen beinhalten und eine gewisse Länge aufweisen – einen erfolgreichen Login verwehren können. Von Passwort-Generatoren erstellte Passwörter können sich Nutzer oftmals schlecht merken. Die Remember-Me-Funktion bringt dem Nutzer auch nicht viel, denn sollte er die Cookies im Browser mal löschen, sind die Daten weg.

Arne Blankerts stellte dem Publikum WebAuthn (Web Authentication) vor, ein API für den Zugriff auf Public-Key-Anmeldeinformationen. Es handelt sich dabei um eine Initiative des World Wide Web Consortium (W3C), die erst seit März 2018 existiert. Das Publikum nahm diese Neuheit mit Skepsis auf: Ein Stick, der eine kleine Software beinhaltet, soll zukünftig den Login übernehmen. Wir werden sehen, ob sich dieses System durchsetzt. Detaillierte Informationen zum neuen Projekt finden sich auf der Webseite zu WebAuthn (https://www.w3.org/TR/webauthn/).

International PHP Conference

Testing React Applications

by Hans-Christian Otto (Suora GmbH)

Building a Robo-Army with Angular

by Sebastian Witalec (Progress)

 

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

Take-away #3: Die Geheimnisse von Kubernetes

Kubernetes ist eine sehr leistungsfähige Container-Orchestrierungsplattform, die schnell an Bedeutung gewinnt und viele Vorteile bei der Bereitstellung, Ausführung und Skalierung Ihrer Microservice-Webanwendung bietet. Aber es hat auch eine steile Lernkurve. Bastian Hofmann (SysEleven) stellte in seinem Talk Kubernetes und seine nützlichen Werkzeuge vor und zeigte die Vorteile von Kubernetes auf: Container-Anwendungen sind leichter aufzusetzen und zu deployen, es gibt kein Vendor Lock-In, es ist gut dokumentiert und hat eine riesige Community. In einer einfachen Demo zeigte Hofmann, wie Kubernetes in der praktischen Anwendung funktioniert.

Take-away #4: Zend Expressive 3– noch mehr Komponenten für die Komponentensammlung

Viel neues zu Zend Expressive hatte Ralf Eggert (Travello) in seiner Session zu erzählen. Das Middleware-Microframework Zend Expressive 3 setzt auf standardisierte Komponenten aus dem Zend Framework auf und wurde in der neuen Version mit einigen neuen Werkzeugen und Komponenten ausgestattet. Besonders erwähnenswert laut Ralf Eggert: Die neuen Komponenten wie Zend Expressive Authentication (mit Basic Auth, OAuth2 etc.), eine neue Session-Komponente, CSRF, Flash Messages, HttpHandlerRunner, Swoole, HAL JSON uvm. Begeistert zeigte sich Eggert auch von den neuen Zend Expressive Applikationen. So lassen sich Alexa Skills sehr gut konfigurieren. Sein Fazit: The next generation is ready to start!

Take-away #5: Schnell, schneller, WebAssembly?

Was wäre, wenn wir die Logik einer Browser-App in C++ schreiben könnten, ohne dadurch in einen Konflikt mit dem klassischen Sandbox-Modell des Browsers zu geraten? Dieses Ziel verfolgt WebAssembly, das aus C, C++ und Rust Bytecode für die Ausführung im Browser erzeugt. Für C# steht mit Blazor eine Integration zur Verfügung. Damit sollen Anwendungen im Browser deutlich schneller werden. DIese Neuerungen lösen nun aber die ein oder andere Sorge bei so manchem Web-Entwickler aus: Wird JavaScript bald unnötig?

Nachdem die Sprache vor mehr als 20 Jahren als Browser-Programmiersprache geschaffen wurde und seitdem nicht mehr aus der digitalen Welt wegzudenken ist, wäre das ein echter Paradigmenwechsel. Rainer Stropek (software architects) beruhigte in seiner Session jedoch alle JavaScript-Fans: Für das UI geht es nicht ohne JavaScript, das ist auch mit WebAssembly nicht anders. WebAssembly ist eher dann eine gute Unterstützung, wenn es um komplexe Anwendungen geht, die schnell laufen sollen. Derzeit, auch das sagte Stropek einschränkend dazu, ist vieles aus dem WebAssembly-Bereich aber noch gar nicht reif für die Produktion. Also: Keine Sorge – JavaScript ist (noch) nicht tot!

Take-away #6: Node.js Beine machen – aber wie?

Um die Performance im Browser ging es auch bei Tamar Twena-Stern (bitsrc.io), die über Lösungsstrategien für Node.js-Anwendungen sprach. Wer seine Node.js-Anwendung performanter machen möchte, sollte natürlich zuerst einmal auf die Basics setzen: Caching hilft! Danach gibt es aber noch einige weitere Best Practices auf Ebene der Architektur von Node-Anwendungen, die die Speakerin vorstellte. So sind Bluebird Promises deutlich schneller als die übliche Version, wie die Speakerin demonstriert. Und natürlich sollte man auf asynch/await setzen und Code asynchron ausführen lassen statt linear. Am Ende gibt es aber noch einen ganz einfachen Tipp für alle, die trotzdem nicht zu einem guten Ergebnis kommen: Selektion! Welcher Code muss wirklich in Node.js ausgeführt werden, wo gibt es einen anderen Weg? Alles, was eine geringe Priorität aufweist, gehört nicht in Node, sagt Twena-Stern. Dann läuft der wirklich wichtige Code gleich schneller.

Take-away #7: Die Metamorphose der Julie Lerman

Der Konferenzdienstag endete mit der Keynote „Metamorphosis: From Database driven to DDD“ von Julie Lerman. Sie beschrieb ihren langjährigen Weg hin zu Domain-driven Design, welcher mit einem Buch begann: „Domain-Driven Design“ von Eric J. Evans aus dem Jahr 2003. Dieses Buch hat ihr Leben verändert. Arbeit mit DDD bedeutet für sie „Work with domain experts, model the domain and solve domain problems“: Es dreht sich alles um die Domain. Wichtig hierbei ist, sich auf ein Problem zu konzentrieren und immer kritisch zu bleiben. Nicht das Problem an sich, sondern die Verbindung zu anderen Problemen steht im Fokus. Bei aller Begeisterung: „not everything needs to be modeled with DDD paterns!“

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Thomas Petzinna
Thomas Petzinna
Thomas Petzinna studierte Wirtschaftskommunikation an der FHTW Berlin. Als Spezialist für strategisches Content Marketing, SEO und Social Media liegt sein Fokus darüber hinaus auf das Thema Digitalisierung. Bei Software & Support Media ist er als Redakteur für entwickler.de und das PHP Magazin zuständig.
Madeleine Domogalla
Madeleine Domogalla
Madeleine Domogalla ist seit 2018 Redakteurin bei S&S-Media. Vorher studierte sie Germanistik an der Rheinischen Friedrich-Wilhelms-Universität Bonn.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: