Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche

programmier.bar – der Podcast für App- und Webentwicklung Archiv

556 Episoden
1 Stunde 7 Minuten
Wir möchten euch auf unserem Weg zu zwei neuen Webseiten mitnehmen und beginnen in dieser Folge mit der Vorstellung des High-Level-Frameworks Nuxt.js für Vue.js-Apps. Unser Ziel ist die Generalüberholung der Webseiten der programmier.bar und unseres Entwicklerstudios Lotum. In dieser Folge erläutern wir grundlegende Begriffe wie Single Page Application (SPA), Isomorphic und Universal Web Apps, Server Side Rendering (SSR) und Static Site Generation.

Nuxt.js ist ein sogenanntes Opinionated Framework, das den Rahmen in der Entwicklung stark vorgibt und von Beginn an bis zur fertigen Seite unterstützt. Damit wird der Werkzeugkasten optionaler Module einfacher bedienbar und die moderne, weltweit erreichbare und vor allem schnelle Webseite ist nicht mehr weit.

Picks of the Day 

Dennis: Die iOS 14 Public Beta ist erstaunlich stabil und eine Empfehlung wert. Achtung Edit: Die Corona-Warn-App funktioniert nicht mehr mit iOS 14! 

Sebi: Entwickler-Tools der Developer Preview von Safari 

Fabi: Dedicated Devtools für Node im Chrome Inspect Tab (chrome://inspect) 

Jojo: CodePen-Playground unterstützt jetzt auch Flutter 

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

YouTube

Musik: Hanimo
1 Stunde 5 Minuten
Halb so groß und doppelt so schnell – das verspricht Vue.js 3. Der stable Release steht kurz bevor und wir haben uns die Versprechungen der neuen Version in der Beta angesehen. In Folge 65 möchten wir unsere Impressionen zu den spannendsten Features mit euch teilen!

Vue 3 wurde bereits 2018 von Evan You, dem Gründer von Vue.js, angekündigt und seither von allen Vue-Enthusiasten sehnlichst erwartet. Hatte man in der alten Version manchmal damit zu kämpfen, eigene große Projekte in TypeScript aufzusetzen, so ist Vue 3 nun von Haus aus in TypeScript geschrieben und bietet damit eine bessere Typsicherheit sowie Typinferenz. Wir sprechen in dieser Folge zunächst über die Motivation der Entwickler zur Neuauflage von Vue und gehen dann ans Eingemachte: die neuen Features und allem voran die neue Composition API!

Hier geht es auch zu den Podcastfolgen 43 und 48, in denen wir über unsere meistgenutzten Features der älteren Versionen von Vue.js sprechen.

Picks of the Day 

Sebi: 

MQL (MetaQuotes Language) von Google, um flexibel die Visualisierung von Daten zu beeinflussen, die seitens Google in Graphen dargestellt werden. Nützlich bspw. für die Ratio zweier Datenwerte. 

Mit dem dpdm Tool könnt ihr euch Circular Dependencies einfacher anzeigen lassen. 

Fabi: Mit der Extension Remote SSH von Visual Studio Code Folder der SSH-Verbindung anzeigen lassen und Files bearbeiten. 

Dennis: Drücke auf dem Mac gemeinsam Cmd, Shift und T im Browser, um einen eben geschlossenen Tab wieder zu öffnen. 

Streamt uns! Diese und alle vergangenen Live-Folgen könnt ihr auf YouTube anschauen.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar 

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

YouTube

Musik: Hanimo
58 Minuten
Ein neuer Ansatz in der Webentwicklung dank des JavaScript-Frameworks Svelte? Wir wollen wissen, was es mit diesem Framework auf sich hat und haben Vanessa Böhner, Frontend-Entwicklerin und begeisterte Svelte-Nutzerin, eingeladen mit uns darüber zu sprechen. Sie verrät uns, wieso man bei Svelte von „Write less, do more” spricht und was die Vorzüge gegenüber den Klassikern Vue.js und React sind.

Vanessa war lange als Senior Product Engineer tätig und koordiniert die „VueVixens” (künftig „Front-End Foxes”) in München, eine Female-Focus-Community im Frontend-Development. Als sie auf Svelte stieß, waren ihr die größten Vorzüge des Frameworks noch gar nicht bewusst. Svelte kann theoretisch als Compiler bezeichnet werden und verfügt im Gegensatz zu React und Vue nicht über einen virtuellen DOM, wodurch es deutlich schneller als seine klassischen Alternativen ist. Um reaktiv arbeiten zu können, müssen mit Svelte keine weiteren manuellen Schritte getan werden, da seine Reaktivität in Svelte selbst verankert ist. Diese und weitere Vorzüge erzählte uns Vanessa im Livestream dieser Folge. Schön, dass ihr Teil davon wart!

Rich Harris hielt auf dem JSCAMP 2019 einen Talk über Reaktivität, den wir in dieser Folge zitieren.

Auf Vanessas Webseite könnt ihr sehen, wie Svelte am Ende aussehen kann und den Code der Webseite auf Vanessas GitHub-Account studieren.

Unter @vannsl findet ihr Vanessa auf Twitter.

Picks of the Day 

Vanessa mag CMS Storyblok. 

Dennis empfiehlt euch, in die beiden Podcasts von Vanessa reinzuhören. Beide handeln von Testing: In expect(Exception) geht es ums Frontend-Testing, während sie sich in Ausbaufähig dem Weintesten widmet.  

Fabi automatisiert nun auch seine Rollläden zuhause mit dem Shelly 2.5. 

Jojo lobt die schöne Webseite von Svelte. 

Streamt uns! Die nächste Live-Folge nehmen wir am Mittwoch, den 3. Juni, um 18 Uhr auf. Seid dabei und bringt eure Fragen und Anregungen ein! Auf unserer Webseite erhaltet ihr mehr Informationen.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

YouTube

Musik: Hanimo 
1 Stunde 5 Minuten
Zu wenig Fokus auf die Architektur eures Projekts wird euch vor genauso große Probleme stellen wie zu viel desselben. Doch wie findet man dann das richtige Maß in der Architekturarbeit? In Folge 63 sprechen wir mit Stefan Tilkov über die Frage der richtigen Priorisierung. 

Stefan ist Geschäftsführer von INNOQ und ist als Principal Consultant in der Beratung von Firmen im Bereich der Softwarearchitektur tätig. Dadurch konnte er bereits langjährige Erfahrung sammeln, wenn es um erfolgversprechende Konzepte in Planung und Aufbau von Architektur geht. Wie die goldene Mitte zwischen Over-Engineering und fehlender Weitsicht erreicht werden und wieso es keine Musterlösung für jedes Projekt geben kann, erzählte er uns im Livestream dieser Folge. 

Weitere von Stefan angesprochene Begriffe und Themen findet ihr hier: 

Definitionen von “Softwarearchitektur” gesammelt auf Software Engineering Institute 

You Aren’t Gonna Need It (yagni)-Prinzip 

Cargo Cult Programming 

Stefan ist Autor und Mitherausgeber folgender Bücher, die euch weiterführende Informationen zu dieser Folge liefern:

Tilkov, Stefan et. al. (2015): „REST und HTTP”. dpunkt.

Tilkov, Stefan; Starke, Gernot (Hg.) (2007): „SOA-Expertenwissen“. dpunkt.

Ihr könnt Stefan unter @stilkov auf Twitter folgen.

Picks of the Day 

Stefan: Mit der Programmierumgebung und -sprache "Dark" Backends programmieren. Dark ist funktional orientiert und besitzt eine skalierbare Infrastruktur. Aktuell in Private Beta. 

Jojo: Performance-Tab in Chrome zum Analysieren, welche Elemente einer Webseite negativen Einfluss auf ihre Performance haben. Es ermöglicht auch die Simulierung mobiler CPUs zum Testen anderer Endgeräte. 

Fabi: Super einfach IoT-Devices programmieren mit dem NodeMCU-Development-Board, bspw. für die automatische Gartenbewässerung. 

Streamt uns!

Die nächste Live-Folge nehmen wir am Mittwoch, den 3. Juni, um 18 Uhr auf. Seid dabei und bringt eure Fragen und Anregungen ein! Auf unserer Webseite erhaltet ihr mehr Informationen.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

YouTube 

Musik: Hanimo
57 Minuten
Wusstet ihr, dass das Internet die gleiche Menge CO2 produziert wie der gesamte Flugverkehr? Dass jeder Webschaffende darauf Einfluss nehmen kann, erzählt uns in dieser Folge Henning Fries. Der Geologe und Informationswissenschaftler hält Denkanstöße bereit, die Inspiration für den Job wie auch das private Projekt versprechen.

Der Inhaltsfokus früherer Webseiten weicht heute ressourcenaufwendigen Designs. Was vielleicht im Einzelfall kaum auffällt, wird in der Masse der Nutzung zum Problem. Webseitenbesucher verbrauchen nicht nur ein hohes Datenvolumen für das Laden der Assets, sondern müssen sich auch durch die Struktur der Seite navigieren, um zu finden wonach sie suchen. Aber auch aus Sicht der Performance ist eine effiziente Seite wünschenswert. Henning möchte uns Webschaffende in Folge 62 zum Hinterfragen anregen: Was sind die unverzichtbaren Inhalte meiner Webseite? Welche Assets kann ich komprimieren? Und was kann ich darüber hinaus tun? 

Weitere Tools und Ideen aus der Folge, mit denen ihr den Ressourcenverbrauch eurer Webseite optimieren könnt, findet ihr hier: 

Jonas Hellwig (2019) auf der webinale: Responsive Webdesign ohne Media Queries 

Google PageSpeed liefert nützliche Auswertungen für die Websiteperformance 

Mit Websitecarbon und Ecograder einfach den Energieverbrauch und jährlichen CO2-Fußabdruck einer Webseite berechnen. 

The Green Webfoundation – Lighthouse Plugin Greenhouse. Wie grün ist euer Website-Host? 

Sogar die neueste Safari-Version kann euch Auskunft über die CO2-Performance eurer Webseite geben! 

Henning findet ihr als @kingfries auf Twitter.

Picks of the Day 

Jojo: Ökonomische Aspekte der Nachhaltigkeit, aufgearbeitet im Podcast "Wohlstand für alle". 

Dennis: Weniger Müll durch Sprudelwasser aus dem Hahn: Grohe Wassersprudler 

Fabi: Schnelleres Arbeiten in der Command Shell mit Aliasen. 

Henning: 

SVGOMG ist “SVGO’s Missing Gui” 

squoosh komprimiert Bilder für eure Webseite weitgehend verlustfrei 

Streamt uns! Die nächste Live-Folge nehmen wir am Mittwoch, den 3. Juni, um 18 Uhr auf. Seid dabei und bringt eure Fragen und Anregungen ein! Auf unserer Webseite erhaltet ihr mehr Informationen.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

YouTube

Musik: Hanimo
1 Stunde 15 Minuten
Graphdatenbanken sind wahre Meister vernetzter Strukturen. Eine der größten und populärsten Vertreterinnen ist Neo4j, eine in Java implementierte Open-Source-Graphdatenbank. Worin liegen die Unterschiede zu relationalen Datenbanken und welche Vorteile ergeben sich aus der Nutzung von Graphen? Das beantwortet uns Michael Hunger in Folge 61! 

Michael ist Lead Developer Advocate bei Neo4j und Autor verschiedener Publikationen zu diesem Thema. Dank seiner langjährigen Erfahrung mit Graphdatenbanken beantwortet uns Michael die Frage, inwiefern Graphdatenbanken eine Alternative zu relationalen Datenbanken darstellen können und wo ihr Einsatz besonders nützlich ist. Außerdem erfahrt ihr, wieso man sie auch als Beziehungsexperten unter den Datenbanken verstehen kann. 

Schön, dass ihr im Livestream eure Fragen eingebracht habt. Weitere Links aus der Folge findet ihr hier: 

Neo4j Webseite 

Von Michael angesprochene Downloads 

Neo4js Abfragesprache Cypher 

Neo4j auf Dockerhub 

Code von Neo4j auf GitHub 

Michael ist als @mesirii auf Twitter erreichbar.

Picks of the Day 

Fabi: Ganz einfach mit Neo4j starten über die Sandbox 

Michael: Chrome-Extensions 

The Great Suspender zur Verbesserung der Browser-Performance 

Quick Tabs Drop-Down-Menü für Tabs 

Streamt uns! Die nächste Live-Folge nehmen wir am Mittwoch, den 20. Mai, um 18 Uhr auf. Seid dabei und bringt eure Fragen und Anregungen ein! Auch auf unserer Webseite erhaltet ihr mehr Informationen dazu.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback. podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

Musik: Hanimo
1 Stunde 5 Minuten
Was ist das Besondere an der Programmiersprache Elm? In Folge 60 haben wir Jonas Coch eingeladen uns mehr über die einsteigerfreundliche Sprache für funktionale Programmierung zu erzählen. Jonas ist Front-End-Entwickler bei itravel und arbeitet in Vollzeit und bereits jahrelang mit Elm.

Die von Evan Czaplicki aus einer Abschlussarbeit entstandene Programmiersprache zeichnet sich besonders dadurch aus, dass sie zu JavaScript kompiliert ohne Runtime-Exceptions zu erzeugen. Das ist der wohl größte Vorteil von Elms strikten Typsystem. Noch dazu ist die Sprache unschlagbar schnell, da sie eine eigene virtuelle DOM-Implementierung besitzt, die auf Einfachheit und Geschwindigkeit optimiert ist. Insbesondere im Vergleich zu anderen großen Frameworks wie Angular und React tritt hiermit ihre zeitliche Effizienz in den Vordergrund. Mit der JavaScript-Welt kann über Ports kommuniziert werden, was einen Austausch einzelner Elemente eines bestehenden Projekts ermöglicht.

Im Livestream sprachen wir außerdem einen Artikel von Stefan Krause an, der die Performance verschiedener Front-End-Frameworks vergleicht.

Jonas ist als @klaftertief auf Twitter unterwegs!

Picks of the Day 

Jonas: 

Den parceljs.org Module Bundler hat Jonas in der Folge besprochen und kann ihn empfehlen. 

MDN web docs – Auf der Lernplattform des Mozilla Developer Network gibt es zusammengefasste Grundlagen für Web-Technologien. 

Fabi: Dan Abramovs mental models über JavaScript – In diesem 5-Minuten-Newsletter stellt Dan die grundlegenden Konzepte von JavaScript auf die Probe und regt zu neuen Gedanken an. 

Dennis: Krisp ist eine Noise Cancelling App für alle Videochat-Programme, die für ruhige Konversationen aus dem Home Office sorgt – selbst mit Hund oder Kind im Hintergrund. 

Streamt uns! Die nächste Live-Folge nehmen wir am Mittwoch, den 6. Mai, um 18 Uhr auf. Seid dabei und bringt eure Fragen und Anregungen ein! Auch auf unserer Webseite erhaltet ihr mehr Informationen dazu.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback. podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup

Musik: Hanimo
56 Minuten
Wie funktioniert die Arbeit an Webpack, dem größten JavaScript Module Bundler? Wir haben Tobias Koppers, Gründer von Webpack, in dieser Folge zu Gast und er beantwortet unsere organisatorischen Fragen zum Open-Source-Projekt.

Im Allgemeinen führt ein Module Bundler verschiedene JavaScript-Dateien zusammen und bündelt sie zu einer einzigen, um sie für den Browser möglichst einfach handhabbar zu machen. Webpack geht noch einen Schritt weiter und unterstützt zusätzlich Code-Splitting im Browser und das Packen jeglicher Art von Assets. Spätestens seit vor einigen Jahren bekannt wurde, dass Tobias’ Lösung von Instagram verwendet wird, ist sie in der Webentwicklung zum Standard geworden. Lange hat er allein daran gearbeitet, nun aber können verschiedenste Akteure ihre Arbeit beitragen – so auch ihr! Tobias erzählt uns, wie sich Webpack organisiert und wie die Finanzierung eines so großen Projekts funktionieren kann.

Timecodes: (01:46) Was ist Webpack und wie startete Tobias dieses Projekt?

(08:25) Wie finanziert sich Webpack und wer arbeitet daran?

(13:18) Konkurrenz und Austausch zwischen den Module Bundlern

(15:48) Kommunikation und Zusammenarbeit der Teams

(16:56) Der typische Anwendungsfall und erste Schritte mit Webpack

(21:25) Features für die lokale Entwicklung (DevServer)

(25:57) Wie werden neue Features entwickelt?

(27:35) Loader und Plugins

(34:30) Code Splitting

(38:11) Was erwartet uns in Webpack 5?

(46:07) Wie wird bei Webpack getestet?

(50:09) Release Cycles und Kompatibilität zukünftiger Features

Ihr wollt inhaltlich mehr über Webpack erfahren? Euch interessiert, wie wir Webpack verwenden und was unsere liebsten Plugins und Loader sind? In Folge 29 haben wir über diese Themen gesprochen, hört doch mal rein! 

Weitere Links: 

Integrationstests sorgen dafür, dass eine Änderung keinen übergeordneten Schaden anrichtet. Verschiedene Testfälle sind in GitHub abgebildet. 

Noch mehr Infos über Webpack! 

Tobias ist als @wSokra auf Twitter unterwegs.

Streamt uns! Wann das nächste Live-Event stattfindet, erfahrt ihr über die folgenden Quellen und unsere Webseite.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback. podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Meetup 

Musik: Hanimo
56 Minuten
Wie ist es, an einem Hackathon von zuhause aus teilzunehmen? In unserer ersten live gestreamten Podcastfolge sprachen wir über diese Erfahrung mit Malte Reimann und Maurice Hofmann, die beim ersten Teil des #WirVsVirus-Hackathon der Bundesregierung mitwirkten.

Über 28.000 Teilnehmende fanden sich im März zusammen, um Ideen und Konzepte zur Bewältigung der Corona-Krise zu erarbeiten. In Folge 58 richteten wir eure und unsere Fragen an unsere Gäste. Maurice, UX-Designer in einer Digitalagentur, und Malte, Informatik-Student am KIT, entwickelten gemeinsam mit ihrem Team eine App namens GoBonsai. Diese setzt sich zum Ziel, Sport und gemeinnützige Spenden zu vereinen und soll trotz sozialer Distanz ein Gemeinschaftsgefühl schaffen. Wie die Diversität des Teams in der Konzeptionierung und Umsetzung von besonderem Nutzen sein konnte, erzählen uns Maurice und Malte in dieser Folge. Am Ende des Hackathon-Wochenendes standen ein detailliert ausgearbeitetes Konzept sowie ein Prototyp der App, vor allem aber wertvolle Erfahrungen und ein Projekt, das weiterlebt.

Timecodes: (00:51) Was ist #WirVsVirus?

(03:05) Malte und Maurice über sich und ihre Hackathon-Erfahrungen

(04:18) Wie startete #WirVsVirus und wie konnte man teilnehmen?

(10:59) Wie fand das Team zusammen?

(16:03) Die Idee hinter GoBonsai

(21:17) Rollenverteilung und Arbeitsweise

(25:26) Welche Tools und Technologien wurden eingesetzt?

(30:33) Remote-Zusammenarbeit und Kommunikationswege

(37:02) Experimente während des Hackathons

(39:05) Wie geht es weiter?

(44:26) Wie endete der Hackathon und was haben Malte und Maurice mitgenommen?

(51:28) Picks of the Day

Aktuell sucht das Team noch mehr Unterstützung, insbesondere Coder, Designer und Sponsoren. Auf Devpost und GitHub könnt ihr euch tiefer einlesen und via Twitter oder Blog zu Maurice Kontakt aufnehmen. Maurice hat seine Erfahrungen auch in folgendem Artikel des Unstable Magazines geschildert:

Maurice Hofmann (2020): Code Contra Corona. Im Hackathon die Masterarbeit verwirklicht.

Erstmalig haben wir diese Folge über einen Livestream aufgenommen und ihr wart im Chat live dabei! Wenn ihr auch beim nächsten Mal Fragen stellen und kommentieren wollt, folgt uns auf Social Media und Meetup, um auf dem Laufenden zu bleiben.

Picks of the Day 

Fabi: Git Tree Compare – Mit dieser Extension für Visual Studio ganz einfach sehen, welche Unterschiede es zwischen dem aktuellen Arbeitsverzeichnis und Branches, Tags oder Commits gibt. 

Maurice: Nehmt eure Ideen, die ihr so rumliegen habt, und macht was Ehrenamtliches daraus. Mal schauen, was passiert! 

Malte: Local Hack Day: Share am 11. April 2020 von der Major League Hacking. 

Streamt uns! Wann das nächste Live-Event stattfindet, erfahrt ihr über die folgenden Quellen und unsere Webseite.

Schreibt uns!

podcast@programmier.bar

Folgt uns!

Twitter

Instagram

Facebook 

Musik: Hanimo
1 Stunde 26 Minuten
Was vereint DDD, Event Sourcing und CQRS und wieso kann ihre Kombination zu einem besseren Entwicklungsprozess beitragen? In Folge 57 sprechen wir mit Golo Roden über das große Potenzial der Vereinigung eigentlich unabhängiger Konzepte – Domain-driven Design, Event Sourcing und Command-Query-Responsibility-Segregation (CQRS). Golo ist Gründer von the native web und einer der Entwickler von wolkenkit – einem Open-Source-Tool, das genau diese Methoden miteinander vereint.

Im ersten Schritt erklärt er, wie man mit Domain-driven Design eine bessere Zusammenarbeit in der Entwicklung schaffen kann, die auch in interdisziplinären Teams für Kommunikation auf Augenhöhe sorgt. Mit Event Sourcing erzählt uns Golo von einem Verfahren zur Speicherung von Daten, das sich vom klassischen CRUD-Konzept (Create, Read, Update, Delete) durch feingranularere Zugriffsmöglichkeiten abgrenzt. Es ermöglicht die Speicherung jeder Veränderung der Datenbank und macht die Wiederherstellung älterer Zustände zum Kinderspiel. Mit CQRS spricht Golo über ein Prinzip von Datenbankarchitekturen, die gut skalierbar und mit Event Sourcing nicht nur indirekt kombinierbar sind. Hier wird zwischen Command und Query unterschieden, was eine individuelle Anpassung von Schreib- und Leserechten bietet und sich so in die Struktur unterschiedlicher Entwicklungsszenarien einfügt.

Unter @goloroden oder @thenativeweb könnt ihr Golo auf Twitter folgen! 

Literatur, über die wir sprachen: 

Eric Evans (2003): Domain-driven Design. Das sogenannte Blue Book. 

Vaughn Vernon (2013): Implementing Domain-driven Design. Das sogenannte Red Book. 

Gregor Hohpe (2004): Starbucks Does Not Use Two-Phase Commit. 

Timecodes:

(01:58) Was ist CQRS?

(02:44) Golo über sich und seine Mission

(06:58) Kommunikation in interdisziplinären Teams

(18:37) the native web

(21:28) Domain-driven Design

(44:21) Event Sourcing

(01:03:56) Datenbankarchitekturen

(01:19:44) Wolkenkit

(01:23:08) Pick of the Day

Pick of the Day Golos Tipp: Wenn ihr von JavaScript zu TypeScript migrieren wollt, definiert ein Type Alias zu “any” als “todo”. So wisst ihr zu jedem Zeitpunkt, wo ihr noch Änderungen vornehmen müsst!

Bestimmt die nächste Podcastfolge mit! Am Mittwoch, den 1. April 2020, nehmen wir erstmalig im Livestream mit euch zusammen eine neue Podcastfolge auf. Seid dabei und stellt uns eure Fragen!

Schreibt uns!

Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar 

Folgt uns!

Bleibt auf dem Laufenden über zukünftige Folgen und Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook 

Musik: Hanimo
33 Minuten
Wie schaffe ich es, dass meine App im Google Play Store veröffentlicht wird und die Spitze der Download-Charts erreicht? Weil ihr von uns wissen wolltet, wie der Veröffentlichungsprozess einer App aussieht, haben wir uns für Folge 56 Anselm eingeladen. Er ist einer der Entwickler hinter Word Blitz und verrät uns, was einen erfolgreichen Store-Auftritt für Android ausmacht!

Um zu erreichen, dass eine App aus dem Google Play Store heruntergeladen wird, braucht es einen guten ersten Eindruck, der maßgeblich durch den Store-Auftritt beeinflusst wird. Anselm spricht mit uns in dieser Folge über den gesamten Weg einer App vom Release-Build über den Upload bis hin zur Analyse der Crash- und Nutzerstatistiken. Er erzählt uns, welche Metadaten und Assets benötigt werden, was die Signatur durch Google bedeutet und was nach dem Release passiert. Denn auch nach der Veröffentlichung bietet der Google Play Store Tools an, um das Optimierungspotenzial einer App voll auszuschöpfen. Anselm erklärt die Vorteile von Updates in Staged Rollouts sowie Track-, Alpha- und Beta-Tests und erläutert, welche Statistiken einer Analyse wert sind. Auch rechtliche Themen wie die Einhaltung der Datenschutzrichtlinien kommen in dieser Folge nicht zu kurz.

Dies ist der erste von zwei Teilen über die Veröffentlichung einer App. Bleibt dran und verpasst nicht den Zweiten, in dem wir über das Veröffentlichen im App Store von Apple sprechen!

Hier kommt ihr zu dem Video, über das wir sprachen.

Timecodes:

(01:54) Erste Schritte: Account, App-Name, Manifest

(05:44) App-Signatur und Zertifikat

(09:45) Targeting, Staged Rollouts und Statistiken

(16:18) Debugging, Testing und Reporting

(21:48) Store-Auftritt und A/B-Testing und Reporting

(23:45) Sicherheit und Google Play Richtlinien

(25:56) Instant Apps

(27:56) Akquisitionsberichte

(31:15) User-Verwaltung und Permissions

Schreibt uns!

Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Besucht uns! Erfahrt hier, wann das nächste Meetup in unserem Office in Bad Nauheim stattfindet.

Meetup

Musik: Hanimo
1 Stunde 7 Minuten
Wie wird CSS eigentlich weiterentwickelt? Cascading Style Sheets stellen einen globalen Standard dar, der heute aus keinem Browser mehr wegzudenken ist. Daher ist die Frage wie es zur Weiterentwicklung dieser Norm kommt besonders spannend. Zusammen mit Adam Argyle, Chrome CSS Developer Advocate bei Google, finden wir darauf in Podcastfolge 55 eine Antwort – erstmals auf Englisch!

Als Stylesheet-Sprache gibt CSS Gestaltungsanweisungen für HTML und XML vor. Definiert wird dieser Standard durch das W3C, kurz für World Wide Web Consortium, das als Dachorganisation der CSS Working Group auftritt. Adam ist Teil dieser Arbeitsgruppe und erzählt uns in dieser Folge, wie sich eine übergeordnete Organisation wie die W3C strukturiert. Er erklärt uns, wie die Arbeitsprozesse zur Weiterentwicklung von CSS-Vorgaben aussehen und sich aus Proposals und Drafts Implementierungen ergeben. Ausgestattet mit Tipps zu Tools und Best Practices, verrät uns Adam außerdem sein liebstes CSS-Feature!

Ihr könnt Adam auf Twitter folgen, auf seiner Webseite mehr über seine Projekte erfahren und euch so zusätzlich von seiner Expertise in CSS überzeugen lassen.

Diese Folge ist die erste, die wir auf Englisch veröffentlichen. Schreibt uns doch, was ihr darüber denkt – ganz einfach auf Social Media oder per Mail! 

Hier findet ihr, was Adam ansprach: 

Motion Blur Draft von Adam 

Draft zu cubic-bezier to take additional pairs von Adam 

CSS Typed Object Model 

CSS Houdini Spec Wiki 

CSS Houdini Spec Dev 

Timecodes (00:48) Who's Adam?

(04:27) What's the CSS Working Group?

(06:14) How does a new idea come to CSS?

(15:35) Some exciting new CSS specs

(25:16) Loved and hated CSS features

(31:38) Animation curves and motion blur

(33:43) Browser support

(38:27) Some history of CSS

(40:58) Will there be a CSS4?

(45:43) How to mix JS and CSS the right way

(51:55) Future of the browser platform

(57:00) VisBug: a FireBug for designers

(59:35) Picks of the Day

Picks of the Day 

Adam: 

Hat dein Lieblings-CSS-Feature es noch nicht in alle Browser geschafft, kannst du es mit PostCSS-Preset-Env konvertieren, sodass es von den meisten Browsern verstanden wird! 

Tutorial: How to Use CSS Logical Properties to Control Layout 

Adams Tweet: Logical Property Equivalents von Höhe und Breite 

Sebi: Mit Wakamaifondue Eigenschaften einer Schriftart herausfinden, die man nicht direkt erfassen kann. 

Jojo: Vue CLI Plugin zum einfachen Überführen einer Vue Single-page Application in eine Android- oder iOS-App mithilfe von Capacitor. 

Schreibt uns!

podcast@programmier.bar

Folgt uns!

Twitter

Instagram

Facebook

Besucht uns!

Meetup 
1 Stunde 9 Minuten
HTTP Header sind in der Webentwicklung bekannt. Doch wusstet ihr, dass sie als mächtige Werkzeuge eingesetzt werden können, um die Performance, Sicherheit und Barrierefreiheit eurer Webseite zu beeinflussen? In Folge 54 haben wir Stefan Judis zu Gast, Developer Evangelist bei twilio, der uns vom Potenzial der Header erzählt.

HTTP, kurz für Hypertext Transfer Protocol, verwendet Header, um Metadaten im Austausch von Server und Browser beim Aufrufen einer Webseite mitzuliefern. Sie können für verschiedene Anwendungszwecke nützlich sein. Stefan erzählt uns in dieser Folge von Kniffen, die uns bisher nicht so geläufig waren. Er beschreibt beispielsweise den Header “Strict-Transport-Security”, der für einen eingestellten Zeitraum bestimmt, dass die Seite nur über HTTPS aufgerufen werden kann. Mit dieser Möglichkeit kann die Sicherheit für Webseitenbesucher erhöht werden wie auch mit jenem, der Zugriffsrechte von Third-Party-Tools beschränkt. Um die Zugänglichkeit für alle Webnutzer zu gewährleisten und Datenverkehr zu reduzieren, spricht Stefan außerdem von Headern zur Bestimmung der maximalen Bildgröße. Auf diese Weise wird neben größerer Barrierefreiheit und Optimierung für langsamere Endgeräte zugleich eine bessere Performance geschaffen.

Stefan Judis ist als langjähriger Frontend-Entwickler mit weiteren Beispielen bewaffnet und überzeugt uns in dieser Folge von der Wichtigkeit von HTTP Headern. Möchtet ihr noch mehr über ihn erfahren? Folgt ihm doch auf Twitter!

Timecodes:

(00:33) - Was ist ein Responsible Developer?

(01:41) - Stefans Werdegang und Wege zum besseren Web

(11:59) - Was ist ein HTTP Header?

(13:15) - Content-Security-Policy

(22:50) - Strict-Transport-Security

(29:06) - SameSite Cookies - Strict oder Lax?

(32:57) - gzip, Brotli und Cache-Control

(44:29) - Medientypen im Accept-Header und Client Hints

(52:22) - Save-Data-Header

(55:02) - Preloading

(57:55) - Google AMP und Feature-Policy Header

(62:31) - Picks of the Day

Picks of the Day 

Stefan: Sammlung hilfreicher Entwickler-Tools, die man sonst wieder vergessen würde. 

Dennis: My Truphone – Dual E-Sim für's iPhone, einfach für's Ausland einen Datenplan kaufen und direkt lossurfen. 

Jojo: Blog des Center for Humane Technology – Technologie soll den Menschen dienen, ohne sie abhängig zu machen. 

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Besucht uns! Erfahrt hier, wann das nächste Meetup in unserem Office in Bad Nauheim stattfindet.

Meetup

Musik: Hanimo
59 Minuten
Ein Team sollte lediglich so viele Personen beinhalten, dass alle von zwei Pizzen satt werden – so sagt es Jeff Bezos, CEO von Amazon, jedenfalls über die ideale Anzahl involvierter Personen in einem Meeting. Die direkte Konsequenz aus dieser Faustregel besteht aus gesteigerter Effizienz und lässt sich in der agilen Softwareentwicklung auf die Größe eines Teams übertragen. Durch die Möglichkeit, Entwicklerteams auf wenige, dafür aber wirksame Köpfe zu skalieren, werden Kommunikationswege kürzer und Verantwortungen gleichmäßig aufgeteilt.

In Folge 53 geben wir Lösungsansätze zu üblichen Problemen in Skalierprozessen von Entwicklerteams. Wie kann man vermeiden, dass neue Mitarbeiter keinen Mehrwert bringen, ein Team zu schnell wächst oder Code und Kommunikation zu wünschen übrig lassen? Wir schildern unsere Erfahrungen in der Teamarbeit und erzählen, wie unser Weg hin zu einer agilen Arbeitsweise verlief, die von den größten Vorteilen von Scrum zehrt. Außerdem beschreiben wir, worauf wir bei Bewerbern und neuen Kollegen achten, wie ein umfangreiches Onboarding abläuft und wie wir unser Bestreben zu einer Clean-Code-Base umsetzen. Diese Folge hält auch den ein oder anderen Rat zur Weiterentwicklung der eigenen Fähigkeiten bereit und bietet Futter für Berufsneulinge, Teamplayer und Projektmanager!

Timecodes: (01:13) Was sind die größten Probleme mit wachsenden Teams?

(05:00) Wie stellt man ein perfektes Team zusammen?

(08:37) Was sollten neue Teammitglieder mitbringen?

(13:50) Fehler in der Teamzusammenstellung korrigieren

(18:00) Größe eines Teams und die “Zwei-Pizza-Regel”

(22:37) Teamkonstellationen und Scrum-Prozesse

(24:08) Onboarding und Integration eines neuen Teammitglieds

(31:10) Änderung der Teamkonstellation

(34:09) Einflussnahme der Entwickler auf Human Relations

(36:27) Continuous Feedback

(38:51) Development-Prozesse und Task-Management

(41:05) Codebase und Wissensaustausch

(48:30) Remote Work

(51:55) Picks of the Day

Picks of the Day Sebi: Hilfeseite für Seitenverhältnisse in CSS

Fabi: Calibre App – eBook-Management-App zum Übertragen von Dokumenten auf Kindle

Jojo: Capacitor Ionic Framework – Bridge zwischen Web- und nativen Apps. Ohne UI, aber Ermöglichung ganz einfachen Zugriffs auf Funktionalitäten wie Push-Notifications, Statusbar, Kamerazugriff usw.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Besucht uns! Erfahrt hier, wann das nächste Meetup in unserem Office in Bad Nauheim stattfindet.

Meetup

Musik: Hanimo 
1 Stunde 6 Minuten
Welche Inhalte und technischen Faktoren sind dafür verantwortlich, dass eine Webseite über Suchmaschinen leicht gefunden werden kann? Es gibt bis zu 200 Signale pro Webseite, die Google zur Klassifizierung der Suchergebnisse nutzt. Was dabei gern unterschätzt wird, ist der Fakt, dass etwa 50% der Suchfaktoren technisch bedingt sind! Beispielsweise spielen Performance oder die Architektur weiterführender Links eine Rolle. 

In Podcast-Folge 52 haben wir einen wahren SEO-Experten zu Gast – Martin Splitt, Developer Advocate bei Google, Speaker, Autor und Blogger! Mit wem könnten wir besser über SEO, kurz für Search Engine Optimization, sprechen als mit ihm? Deshalb erforschen wir gemeinsam die technischen Rahmenbedingungen, die es braucht, um eine Webseite in Suchmaschinen gut einzustufen und an der Spitze der Ergebnisliste anzeigen zu lassen. In dieser Folge bekommt ihr praktische Tipps, mit denen ihr es schafft, eure Webseite in einer Suchmaschine gut zu ranken – Reinhören lohnt sich also! 

Hier findet ihr die weiterführenden Links von Martin, die er in dieser Folge anspricht: 

SEO-Anleitung für Webentwickler 

Structured Data Gallery 

Google Search Console 

Teste deine Webseite: 

Mobile-friendly test 

Rich Results Test 

Youtube-Kanal Google Webmasters 

Office Hours 

Official Google Webmaster Central Blog 

Picks of the Day 

Sebi: Workout App mit frei konfigurierbaren Workouts, Apple Health Integration, Kalender und Erinnerungen 

Fabi: Hello Rust Youtube-Kanal von Matthias Endler

Martin: Google Codelabs 

Martin findet ihr unter dem Handle @g33konaut auf Twitter. Auf seinem Blog 50 Lines of Code schreibt er regelmäßig über Software Engineering, Open Source und Software Quality.

Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback.

podcast@programmier.bar

Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und Meetups und beteiligt euch an Community-Diskussionen.

Twitter

Instagram

Facebook

Besucht uns! Erfahrt hier, wann das nächste Meetup in unserem Office in Bad Nauheim stattfindet.

Meetup

Musik: Hanimo