Focus

JavaScript

Articles, podcasts, talks, and more about JavaScript.
Blog Post

Improve your CSP with Style Nonces in Angular 16

What to do, to enable your Angular application to use style-src: nonce in a CSP for stricter security rules

Blog Post

A natural language calculator

In my prior post I’ve written about how to run a chat with a large-language-model on your PC. This time I want to focus on scripting this with Node.js and letting the AI- and the “normal”-world interact with each other.

Blog Post

Blueprints

How objects work in JavaScript

Blog Post

Custom Elements are NOT for Templating

Custom elements are a main technology included in the Web Components Browser specification. They provide a set of APIs for adding custom behavior and interactions to an HTML element – and they do this very well. However, they often are unfairly compared with JavaScript component frameworks. Custom elements were never intended to be a drop-in replacement for a JavaScript framework. This article focuses on what custom elements are, what they do well, and, most importantly, what they do not do.

Blog Post

Offline with redux

We’ve been writing a web application that supports users being offline without using a service worker. We’d love to share how we’ve done that and what we think are the advantages.

Blog Post

Dependently-Typed TypeScript

A look into the depths of the type system for JavaScript

Blog Post

TypeScript – Taming the Complexity of JavaScript 

TypeScript celebrates its tenth anniversary in 2022. A good reason to look back at its beginnings – and to provide beginners with everything they need to know for working with this programming language.

Blog Post

Next Please!

Despite modern multicore processors, website code usually runs in only one thread. True parallelism therefore does not exist, but a clever programming model still allows “asynchronous” code that is not processed linearly.

Blog Post

What Does a Bundler Actually Do?

Blog Post

Just Add Code
(Part 2)

The last post in this series established that Web Components are a good way to ship markup and logic to a browser in order to provide progressive enhancement. In this part I will show, how Githubs Catalyst library supports us to develop such Web Components.

Blog Post

Just add Code (Part 1)

Running code on a browser using Web Components is a good method that allows you to have a defined scope for your markup and logic. However, the usual examples mostly lead to the user staring at an empty page in the case where JavaScript isn’t enabled, because in most cases all markup is generated by JavaScript only.

Blog Post

Progressive Enhancement with Hotwire

The definitive renaissance of server-side rendering?

Blog Post

Good arguments for SPA frameworks

I love SPAs when they are used with a clear purpose. I hate them when they are not. This blog post tries to explain my personal conflict.

Blog Post

React: Lessons Learned

This article describes React from a backend programmers' perspective. It is not meant to be a tutorial, and it also does not present any new, fancy patterns or features. Rather, it is an interpretation of React with focus on shedding light on its functional aspects. Many experienced React developers appreciate the framework for being pragmatic, simple and easy to get work done with. This article unveils some of the theory behind this simplicity and shows how the core ideas behind the framework can be carried over to the lower levels of a Javascript application.

Blog Post

Injecting polyfills for missing JavaScript functions into WKWebView

Blog Post

Cross-platform testing of TypeScript code with Jasmine and Karma

I like TypeScript. Writing code that already underwent basic checks (i.e. typechecking) before it can even touch an execution engine is a big win in my book. In particular, TypeScript is nice because it integrates well into the broader JavaScript ecosystem and comes with batteries (i.e. types) included. Unfortunately, most test runners require extra setup to work with tests written in TypeScript. Some even require staggering amounts of configuration.

Blog Post

Using Javascript plugins in Go

There are projects, where you want to create an application, that is extensible by other parties without access to the sources iteself or re-compiling the whole binary. This concept is known as modules, plugins or features nowadays. This might be the case if you are creating a client application (e.g. to implement scripting functionality), but also if you want to have your server application extensible by third parties.

Blog Post

An Introduction to TypeScript

for Backend Development (and Java Developers)

Blog Post

JavaScript? Yes, but in moderation

The benefits of classic architecture decisions for web applications.

Blog Post

Animating SVG Icon Transitions

This describes options for morphing one SVG icon into another using both SMIL or CSS transforms.

Blog Post

Type checking JSX: A can of props

Blog Post

(De-)Serializing JavaScript Models with Metaprogramming

DIY abstraction for serializing and deserializing JavaScript model instances

Blog Post

How to add Swift functions as polyfills in JavaScriptCore

Reusing existing JavaScript implementations of your web app for your iOS app can be a good choice for some complex calculations. Unfortunately anything that is not part of the pure JavaScript language won’t be available. Learn in this blog post how to supply missing functionality via native code.

Blog Post

Report Generator in Rust

Blog Post

Declarative Data Transformations

This describes a declarative approach to validating and transforming inconsistently structured data.

Blog Post

Taking Screenshots of DOM Elements

Now that PhantomJS is dead, we need an alternative. Turns out that Puppeteer, Google’s official remote-control API for Chrome, is just the ticket.

Blog Post

Marrying Rails, Turbolinks and JavaScript Custom Elements

Blog Post

Rendering Self-Contained Custom Elements

This is a response to Paul Kinlan’s post on creating custom elements, explaining how JSX can be used for declarative templating.

Blog Post

Progressive Web Components

This is a write-up of the “Progressive Web Components” presentation at GOTO Berlin.

Blog Post

ROCA vs. SPA

Comparing two architectural styles with a concrete example

Case Study

HILFE FÜR JUNGS (“Help for Boys”): Reliable software for mobile consultations

Case Study

Proof of payment clearing and fraud detection: Krombacher is leveraging automation as part of its loyalty program