my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Modern Web App Design Patterns: Patterns.dev

After last week's post on The Modern JavaScript Tutorial, a comprehensive guide to modern JavaScript, as something of a follow-up, today I'd like to introduce you to Patterns.dev (previously known as "Modern Web App Design Patterns"), an ebook on "design patterns and component patterns for building powerful web apps with vanilla JavaScript and React". The authors of Patterns.dev provide design patterns and tips on how to improve the architecture of your web apps. Patterns.dev follows a descriptive rather than prescriptive approach in ... Read more

The Modern JavaScript Tutorial

The Modern JavaScript Tutorial is a comprehensive guide to - well - modern JavaScript. Regularly updated and available both for free online (under a CC-BY-NC licence) and as an ebook, this tutorial introduces the reader to JavaScript as it is (or should be) written today. From JavaScript basics to object orientation, data types, functional programming and asynchronous behaviour, it covers everything the prospective JavaScript developer needs to know about writing high-quality, maintainable JavaScript code according to best practices. Read more

Client-Side Rendering on the Web: Approaches and Frameworks

Exploring Potential Benefits of Client-Side Rendering Client-side rendering is a powerful tool for web developers, offering a range of benefits that can help to improve the user experience and performance of a website. In this article, we will explore the advantages of client-side rendering and how it can be used to create a better user experience. Client-side rendering is a process in which the browser is used to render the HTML, CSS, and JavaScript of a web page. This is in contrast to ... Read more

Documenting REST APIs Provided by Express Applications

swagger-jsdoc is an NPM library that allows us to generate an OpenAPI specification for REST APIs provided by an Express application. swagger-jsdoc consumes YAML-formatted OpenAPI specification segments within JSDoc comments annotated with the @openapi annotation and turns those into a comprehensive OpenAPI specification for our API. This specification, in turn, can for example be used for automatically having a Swagger UI documentation page created for our REST APIs (using Swagger UI Express, for instance). While annotating Express routes with syntactically and semantically correct OpenAPI ... Read more

SCuri: Automating Unit Test Boilerplate Code for Angular Components

As I wrote about quite some time ago in this blog post, which details my solution for managing transitive dependencies for Angular unit tests . although Angular applications in general are easily testable and unit tests are first-class citizens with the framework itself, there's still some potential for improvement when in it comes to test maintainability. In particular, listing and referencing an Angular component's dependencies (i.e. the dependencies of the system under test) such as providers or imported modules can become tedious ... Read more

Currying in JavaScript

A reference to logician Haskell Curry, currying is a technique for converting a function that takes multiple arguments into a chain of abstract functions that each take a single argument (see Currying). Besides its significance for studying functions in the context of theoretical computer science and its relevance to lambda calculus both in the context of mathematics and linguistics, currying has very practical applications in functional programming. In a way, it's one possible approach for following the inversion of control design principle and ... Read more

Using SQLite on a Static Website Without a Back-end Server

GitHub user phiresky recently published an interesting blog post on Hosting SQLite databases on Github Pages. Using SQLite - or in fact any kind of SQL database - in the browser? Why should one want to do this? Now, while it's certainly true that in the context of web applications SQL databases and RDBMS generally are relegated to the realm of back-end servers, depending on the requirements, a database in a front-end application or a self-contained application that doesn't even have or ... Read more

Material-UI Builder: Generating a React / Material-UI Codebase

Material-UI is a widely used UI component framework for React based on Google's Material Design design system. These frameworks and systems simplify and streamline the development of consistent user interfaces for web applications. Material-UI Builder is drag & drop online editor that allows you to choose from a wide range of Material-UI components for your application, customise the CSS styles applied to them, and export a ready-to-use codebase based on those preferences. Read more

Five Articles on Software Quality and Design Patterns

This week I'd like to point you to five articles I previously posted on this blog and from which I think that they're as relevant as they were at the time. The first three are about general software design principles, software architecture and software quality while the final two refer to specific best practices and common design patterns for Angular: Writing Disposable Code, Not Reusable Code (November 06, 2016) What Causes Over-engineering and How Can You Prevent It? (April 16, 2017) Less Is More ... Read more

Jennifer Wadella @ NG-DE 2019: Handling Angular Forms Without Losing Your Sanity

Read more
Next Page »