Working Draft

Wöchentlicher News-Podcast für Webdesigner und -entwickler

Spenden für Soundqualität!

Unsere Aufnahmen werden optimiert mit Auphonic.
Flattern oder direkt bei Auphonic spenden.

Revision 259: React Entwicklung und Frontend Einstieg

18. April 2016 | 5 Kommentare

Da die Stammbesetzung diesmal extrem spärlich besetzt und zudem unsere Themenauswahl begrenzt war, lud sich Anselm für die Sendung Max Stoiber ein, um über React Entwicklung und den mittlerweile nicht mehr so einfachen Einstieg in die Front-end Entwicklung zu sprechen.

[00:00:54] News

Grunt 1.0.0
Endlich ist die stabile Version 1.0.0 von Grunt veröffentlicht worden, die jede Menge Bugs behebt und Kleinigkeiten verbessert.

Schaunotizen

[00:02:10] React Boilerplate
Wir nehmen das von Max entwickelte React Boilerplate als Anlass, um über React Application Development zu sprechen und kämmen hier den gesamten Stack durch: Wir beginnen bei Erleichterungen im Workflow, Refactoring hin zu allumfassenden Components und die Erfahrung, die Max machen konnte. Wir sprechen über Component Generators, Server-Side Rendering, CSS Modules und versuchen zu lösen, warum so viele React Applications nur mittelmäßigen Code ausgeben.
[00:22:10] „… nobody has a clue what they’re doing”
ist ein Statement von Max, als er von einem Junior-Developer gefragt wurde, ob er sich auf eine Stelle bewerben solle, weil er die Anforderungen nicht ganz erfüllen könne. Wir sprechen über den Einstieg in die Frontend Entwicklung, die heutigen Hürden dabei und warum es
wohl keinen Frontend Entwickler geben wird, der von sich behaupten kann, alles zu wissen. Abschließend sehen wir in die Zukunft und erzählen, wie wir uns diese vorstellen.

[00:41:29] Keine Schaunotizen

Why you should enforce Dangling Commas for Multiline Statements
Max hat uns noch einen Link mitgebracht, in dem erklärt wird, warum Dangling Commas durchaus sinnvoll sein können.

Revision 258: Das npm Debakel und warum wir so lahme Seiten bauen

17. April 2016 | 7 Kommentare

Schepp, Peter und Anselm erklären nochmal, was beim npm-Gate so abging und warum wir endlich mal vorher nachdenken sollten, wie wir Tools und Workflows aufbauen, statt erst dann, wenn es zu spät ist. Und danach nehmen wir uns gleich noch ein Thema vor, was nach wie vor spannend bleibt: Warum bauen wir so lahme Seiten, vor allem für mobile Endgeräte?

[00:00:11] News

Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10
Was sollen wir noch dazu sagen, außer: Endlich! Und: Das ist großartig!

Schaunotizen

[00:00:47] Left-Pad / npm-Gate
Der Entwickler eines npm Moduls für eine Left-Pad Function hat selbiges ge-unpublished und damit das halbe Internet kaputt gemacht. Da leider Babel und viele andere Projekte dieses als Dependency verwendeten, schlugen sofort alle CI Systeme fehl. Daraus entstand eine hitzige Debatte um kleine Module in JavaScript, npm und Workflows an sich. Wir sprechen darüber und versuchen herauszufinden, wie wir robustere Workflows bauen können ohne Module nur zu copy-pasten. Seitdem gibt es eine neue npm unpublish policy, Lösungs-Ansätze und auch direkt neue npm Problemchen. Aber da wäre ja auch noch Bower und auch sowas wie das relativ unbekannte IPFS, was sich ziemlich gut als distributed package manager eignen würde.
[00:28:38] The Chrome Distortion: how Chrome negatively alters our expectations.
Diesen doch sehr fraglichen Artikel-Titel haben wir zum Anlass genommen, zu hinterfragen, warum wir überhaupt feststellen können, dass mobile Browser langsam sind und ob das überhaupt die Ursache des Problems ist? Wir kommen selbstverständlich zu einem ganz anderen Schluss, denn wir bauen einfach immer unnötig größere Seiten, mit vielen unnötigen Spielereien. Trotzdem versuchen wir, unsere Verantwortung dann am Ende auf die Browser zu schieben, einfach um uns besser zu fühlen. Letztendlich sprechen wir auch noch über Projektmanagement und Verantwortung als Entwickler, sowie Hardware, die Nicht-Entwickler besitzen.

[01:28:48] Keine Schaunotizen

link rel=noopener
Ein neues Attribut, um zu verhindern, dass window.opener durch nutzergenerierten Inhalt missbraucht werden kann.
A kick-start into server push
Ein leicht verständlicher Artikel zum Thema Server Push.
Node.green
Eine coole tabellarische Aufstellung, welches ECMA-Script Feature in welcher Node Version unterstützt wird.
Referrer and cache control APIs for fetch()
Auch wenn es noch ein klein wenig dauert, bis zum Firefox 48 Release, finden wir diese Features äußerst hilfreich und ihr könnt gleich mal anfangen, das zu nutzen.

Revision 257: Contentful – Das API-first CMS

30. März 2016 | 5 Kommentare

Es war mal wieder an der Zeit, dass wir uns Gäste zur Verstärkung ins virtuelle Studio holen. Nachdem sich die letzten Revisionen viel um Content Management Systeme die Arbeit als Frontend-Entwickler mit ihnen gedreht haben, lag es nahe, dass wir uns mal mit den Leuten hinter dem rein API-basierten „headless“ CMS Contentful unterhalten. Aus Berlin zugeschaltet waren Rouven Weßling und Thomas Scholtes.

Wir redeten über die Idee hinter dem CMS und seine Aufteilung in ein Multiuser-Fähiges Backend und fünf Teil-APIs:

Wir erfuhren außerdem weitere schöne Details, nämlich dass Contentful Mehrsprachigkeit, respektive Lokalisierbarkeit ermöglicht. Und auch dass man mit Hilfe der Content Delivery Sync API seine Daten zur Offline-Speicherung im Client regelmäßig abgleichen kann. Wohlwollend nahmen wir zur Kenntnis, dass Rich Content ausschließlich im Markdown-Format verarbeitet wird. Mehrere Seiten lassen sich mit Hilfe von Spaces unter einem Account betreiben. Volltextsuchen sind dank der Search API leicht zu implementieren. Und es lassen sich Webhooks einrichten, die jedes Mal getriggert werden, wenn Inhalte aktualisiert wurden.

Wer nun Blut geleckt hat: Contentful bietet für den schnellen Einstieg eine Reihe von fertigen SDKs und Plugins für JavaScript und alle gängigen serverseitigen Sprachen sowie für diverse Frameworks, native Plattformen und statische Seitengeneratoren.

Zu guter Letzt wiesen wir noch auf ein interessantes Gast-Posting im Firmenblog hin, wo beschrieben wird, wie man mit Contentful und Snipcart sogar ein Shopsystem abbilden kann.

Der einzige Nachteil, den wir während des ganzen Gesprächs an dem CMS ausmachen konnten: Durch die Art und Weise des Hostings lässt sich nicht sicherstellen, dass Inhalte ausschließlich in Europa gespeichert sind (zumindest derzeit).

Wir sind beeindruckt. Salespitch bestanden!

Revision 256: Arbeiten mit einem CMS – Berichte aus der Praxis

21. März 2016 | 1 Kommentar

Zur Revision 256 ergab es sich, dass wir uns eine ganze Sendung lang einer Hörerfrage widmeten, welche uns im Rahmen der Revision 253 – CMS, CMS, CMS! gestellt wurde.

Schaunotizen

[00:00:36] Hörerfrage CMS-Workflow
Ein Hörer, Tilman, fragte, wie wir denn mit unterschiedlichen Bereichen bei der Webseiten-Entwicklung umgehen, wenn wir mit Content Management Systemen arbeiten. Wir sprechen darüber, welche CMS wir verwenden, welche Rollen wir in diesen Projekten einnehmen und wie wir moderne Frontends im Zusammenspiel mit fast jedem CMS bauen können.

[00:51:39] Keine Schaunotizen

Styling broken Images
Bilder, die nicht geladen werden können, sehen meistens etwas „zerschossen“ aus. Mithilfe dieses Tutorials lässt sich da Abhilfe schaffen.
Material Conference 2016 in Island
Dieses Jahr wird erstmalig die Material Conference stattfinden. Eine Konferenz, die das Web als „Material“ untersucht. Die Veranstalter brauchen eure Hilfe und haben eine Kickstarter Campaign ins Leben gerufen. Schaut’s euch mal an.

Revision 255 – Hack the Planet!

13. März 2016 | 3 Kommentare

Hans und Peter hatten keine Themen, also plauderten sie ein wenig über die diversen Hacks, die sie in ihren langen und ruhmreichen Frontendler-Karrieren so auf die Browser-Welt losgelassen haben.

Schaunotizen

[00:00:09] Hack the Planet

Angestoßen durch lave, eine Art JSON für ganz harte (und wohl eine Ergänzung zum Structured clone algorithm), pflügen Hans und Peter durch ihr Hack-Archiv. Angefangen bei klassischen CSS-Hacks über Conditional Comments und dem hasLayout-Allheilmittel zoom: 1 geht es recht bald zum Thema Clearfix und seinen divseren Permutationen im Wandel der Zeit (Hans schwört auf overflow: hidden). Peters Lieblings-CSS-Hack bleibt hingegen .wichtig, .egal:not(.egal){}. In Folge betreten wir das Feld der HTML-Hacks, spekulieren über Details im head– sowie über Anwendungsfälle des noscript-Elements. Da data-Attribute letztlich auch nur die Großzügigkeit des HTML-Parsers ausnutzen, sortieren wir diese (speziell ohne data-Präfix) auch in der Hack-Rubrik ein. Wir beenden das Thema mit Erzählungen aus der React-Hackerei, erwähnen neben dem Universal-Schlangenöl setTimeout(fn, 0) auch das modernere setImmediate(fn) und hören auf, bevor wir auf noch schrägere Hacks als Peters Funktionsverasynchronisierungslibrary zu sprechen kommen.

[00:43:30] Keine Schaunotizen

tbranyen/diffhtml: Easily swap out markup with an intelligent virtual dom
Für alle, denen React zu High-Level ist.

Revision 254: Progressively loaded CSS, Grunt 1.0

4. März 2016 | 3 Kommentare

Der wöchentliche News-Podcast hat wieder mal Neuigkeiten! Nebenbei wird noch über progressives Laden von CSS Dateien philosophiert. Anselm, Hans, Schepp und Stefan diesmal im Boot.

[00:00:25] News

Grunt 1.0 Release Candidate
Nein! Doch! Oh! Oder: Die Hölle friert zu und Node kommt ohne Dependencies aus. Grunt 1.0.0. bringt das verwaiste Projekt auf den aktuellen Stand mit NPM, löst einige bekannte Bugs und ist ein wichtiger Schritt zur Reanimation des Projektes. Statt dem Big Bang gibt’s jetzt die bekannte API gesichert und veröffentlicht.
Touch Action CSS Property
Die touch-action CSS Eigenschaft bekommt Browserreichweite. Hier gibt’s Informationen dazu.
Transitioning from SPDY to HTTP2
Chrome schmeißt in absehbarer Zeit SPDY raus. Hier gibt’s Informationen für Leute, die ihre Server noch damit betreiben.

Schaunotizen

[00:04:10] The future of loading CSS
Jake Archibald beschreibt eine gravierende Änderung in Chromes Lade- und Renderstrategie für blockierende CSS Dateien. Diese Änderung (die in Edge schon so umgesetzt wird) erlaubt, CSS auch an anderen Stellen als dem Head zu laden und so progressiv Stylesheets für gewisse Bereiche der Website nachzuladen. Jake belegt dies mit einem entsprechenden Demo und einigen Use Cases. Wir beleuchten die Vor- und Nachteile und diskutieren über Properties wie lazyload und postpone

[00:24:54] Keine Schaunotizen

Finessing feColorMatrix
Una beleuchtet SVG Filter Eigenschaften bis ins äußerste Detail.
New ways to make your web app jank with Houdini
Houdini, eine Einführung. Hier gibt’s massiv Informationen und erste Code-Beispiele zum erweiterbaren CSS Standard.
Creating Fun and Immersive Audio Experiences with Web Audio
Die Web Audio API kann viel. Hier findet man ein paar gute Beispiele und Anwendungsfälle.
The Fab Four technique to create Responsive Emails without Media Queries
Eine sehr einfache, aber doch effektive Implementierung von Element Queries mit calc, min-width und max-width .
Art directed responsive images
Automatische Art Direction für responsive Images? Hier.

Revision 253 – CMS, CMS, CMS!

28. Februar 2016 | 12 Kommentare

Obwohl es nicht die Kernkompetenz von Anselm, Stefan und Peter ist, waren diese Revision mal wieder Content Management Systeme dran. Dazu kommen die üblichen drei Links.

Schaunotizen

[00:00:10] CMS, CMS, CMS!
Cory Etzkorn hat mit Choosing the Best CMS einen langen, detaillierten Artikel über Content Management Systeme geschrieben, an dem wir uns entlang hangeln. Stefan ist ein Fan des flexiblen Craft CMS – außer richtig guten Lösungen für Mehrsprachigkeit und Content Staging fehlt es an nichts. Einigkeit herrscht darüber, dass unter den Homepage-Zusammenklick-Baukästen Squarespace der beste Baukasten ist. An WordPress finden wir besonders die Vielfalt und Flexibilität beeindruckend, speziell dass man mit sehr wenig Fachwissen sehr weit kommen kann. Während keiner von uns Siteleaf kennt, können wir umso mehr positives über Kirby (kleines textbasiertes CMS) sagen. Der nerdige statische Seitengenerator Jekyll wird gerade von Peter evaluiert, doch vor Langsamkeit und Ruby-Gefrickel wird gewarnt. Für Software-Nerds ist die Kombination von Jekyll mit Github Pages sehr zu empfehlen, jedoch ist es prinzipbedingt nicht unbedingt kundentauglich. Das gilt auch für das ähnliche Middleman, das einem noch mehr Ruby-Skills als Jekyll abverlangt. Zum Ende geben wir noch unsere gänzlich unfundierten Meinungen und Vorurteile zu Drupal, Typo3, Joomla, MODx und Perch zum Besten. Als kostenlose Geschäftsidee offerieren wir das Konzept Static Site Generator als App mit gegenüber klassischen CMS klaren Vorteilen bei Sicherheit und Performance.

[00:56:31] Keine Schaunotizen

Investigating the overhead cost of compiled es2015
Konkrete Zahlen zum Aufbläh-Effekt von JS-Transpilern.
CSS Variables: Why Should You Care?
Kurzer Überblick. Anlass: demnächst auch in Chrome!
Let’s Encrypt Smart Renew.sh
Damit das Zertifikat auch in Zukunft schön knackig und frisch bleibt.

Revision 252: Yo Dawg I heard you like JavaScript so I put a transpiler into your MVC so you can type check while you tree shake

7. Februar 2016 | 2 Kommentare

Hans, Peter und Rodney hatten erst keine so richtig interessanten Themen zur Hand, doch als die Podcast-Vorbesprechung in eine Diskussion über JavaScript-Tools versank, war klar, was zu tun ist…

Schaunotizen

[00:00:22] JavaScript-Tools
Eine mäandernde Debatte über die Vor- und Nachteile von Tools wie TypeScript und Flow, den epischen Kampf zwischen Webpack und Rollup (mit Tree Shaking, vergleiche Revision 248), Oldie-Tools wie dem Closure Compiler, RequireJS, Backbone.js und Marionette.js und den Schmerzen, die ein alter Web-Stack so mit sich bringt.

[00:42:01] Keine Schaunotizen

cq-prolyfill
Ein Container-Query-Prolyfill für die Risikofreudigen.
Shippable
Leichtgewichtiges CI-Tool.
Angular 2 Master Class in Düsseldorf
Wenn Schepp das empfiehlt, muss es gut sein!

Revision 251: Googles AMP und die Zukunft der Parallelität

30. Januar 2016 | Kommentare deaktiviert für Revision 251: Googles AMP und die Zukunft der Parallelität

Die Revision 251 ist auch wieder hochkarätig besetzt: Wir haben uns Malte Ubl von Google eingeladen um über AMP zu sprechen und uns erklären zu lassen, was es mit diesem Projekt auf sich hat.

Schaunotizen

[00:01:11] AMP
Um besser zu verstehen, was es mit Googles Projekt AMP auf sich hat, haben wir uns Malte Ubl, den Projektleiter mal eingeladen und uns erklären lassen, worum es geht. Maltes Artikel, warum AMP schnell ist. Ein weiterer Artikel zum Thema AMP ist hier zu finden. Ein WordPress Plugin gibt es auch.
[00:43:20] 2016 will be the year of concurrency on the web
WebWorker sind das neue heiße Ding und werden 2016 einen starken Aufschwung erleben, meint Malte. Wir unterhalten uns darüber, wie wir mit der Parallelität im Web umgehen.

[00:55:31] Keine Schaunotizen

Understand promises before you start using async/await
Dieser Artikel hilft, erst mal Promises zu verstehen, bevor man sich mit weiterer Asynchronität in ES2016 beschäftigt.
JavaScript web apps considered valuable
Ein Statement zum Thema JavaScript Applikationen.
Arialinter
Arialinter ist ein Tool, dass die Verwendung von Aria-Attributen überprüft.
Cycle.js Fundamentals – Course by @andrestaltz
Ein Video-Kurs zum Thema Cycle.js und Reactive Programming.
How to make your web app installable
Wer wissen möchte, was man tuen muss um Websites auf Smartphones app-ähnlich zu installieren, sollte diesen Artikel lesen.

Revision 250: Achtung Baby!

26. Januar 2016 | 3 Kommentare

For our 250th episode, we managed to get our greedy hands on no one less than Bruce Lawson from Opera. Having barely returned from a trip to Asia and still dizzy from his jetlag, we managed to extract a whole bunch of classified information on CSS Houdini out of him (also thanks to our German interview style). And a little bit more as well:

Show Notes

[00:02:01] Safari 9.1
We talked about the new Safari version, what features it brings, and how it looks like it’s the first installment of a new rapid release cycle.
[00:12:13] The CSS Houdini Project
Bruce told us what the purpose of CSS Houdini is, how at came to be, which parts it consists of, and when to expect first experiments shipping to us in a browser (maybe this year already!).
[00:37:50] Subgrids Considered Essential
Prompted by a blog post from Eric Meyer we discussed the current CSS Grids spec and how it is badly lacking a subgrids feature.

[00:51:18] Links

The web accessibility basics
Accessibility can never be overly discussed. Marco wrote a good roundup on how do accessibility basics right, and he also takes a glimpse at a few more advanced things.
Simple standalone toggletip widget pattern
Likewise, Steve Faulkner from the Partiello Group showcases a prototype for an accessible info tooltip widget.