Ralph's Blog about this and that (RSS | Atom)

Consume Protocol Buffer messages with Ionic

Published: 14. January 2017  •  Updated: 1. December 2018  •  ionic, spring, java, javascript

Form validation with Angular and Spring Boot

Published: 26. January 2017  •  Updated: 4. December 2018  •  angular, ionic, spring, java, javascript

Example of form validation in an Ionic Angular application. How to create custom synchronous and asynchronous validators and how to validate data on the server with the Jakarta Bean Validation framework.

Storing data with localStorage

Published: 20. January 2017  •  Updated: 17. March 2026  •  database, javascript

An introduction to the localStorage API for client-side persistence in web applications

Integrate ECharts into an Ionic app

Published: 22. February 2017  •  Updated: 17. March 2026  •  ionic, javascript

In this post, we look at a way to display charts from the ECharts library in an Ionic app

JWT Authentication with Ionic/Angular and Spring Boot

Published: 5. February 2017  •  Updated: 17. March 2026  •  ionic, spring, java, javascript

How to implement a JWT authentication system with Ionic/Angular and Spring Boot.

A closer look at IndexedDB

Published: 12. September 2017  •  Updated: 30. October 2017  •  database, javascript

IndexedDB, the browser's built-in database. How it works and what you can do with it.

A closer look at the Web Cryptography API

Published: 25. September 2017  •  Updated: 4. December 2018  •  javascript

Creating a trivial password manager with the Web Cryptography API and the Ionic framework.

Offline capable Ionic Web App with IndexedDB

Published: 15. September 2017  •  Updated: 3. December 2018  •  database, javascript, ionic

Example of an Ionic web application that stores data in IndexedDB and works offline.

Spring Boot and Ionic application development with OpenAPI

Published: 21. September 2017  •  Updated: 4. December 2018  •  spring, java, javascript, ionic

In this blog, we create REST services in Spring Boot and consume them in an Ionic app. We use the OpenAPI specification for generating API documentation and the client TypeScript code.

Dynamically loading position data with Ionic and Spring Boot

Published: 5. November 2017  •  Updated: 3. December 2018  •  ionic, java, spring, javascript

In this blog post we create an Ionic app that dynamically requests location data points from a Spring Boot server and displays them on an OpenStreetMap map. The data points are stored in a MongoDB database, and we take advantage of the geospatial query support to read the data points only for a certain area.

Adding speech recognition to an Ionic App

Published: 18. December 2017  •  Updated: 17. March 2026  •  ionic, javascript, java, spring

In this blog post I present two different ways to integrate speech recognition functionality into an Ionic app: the Web Speech API and RecordRTC together with the Google Cloud Speech API.

A closer look at date-fns

Published: 8. January 2018  •  Updated: 3. March 2026  •  javascript

A closer look at the date-fns date/time library.

A closer look at the Cache API

Published: 9. January 2018  •  pwa, javascript

Explore the methods of the Cache API, which is primarily used in Service Workers to cache assets but can also serve as a general-purpose cache.

Custom SVG icons with Ionic

Published: 6. January 2018  •  Updated: 21. March 2026  •  ionic, angular, javascript

How to use custom SVG icons in a current Ionic application

IndexedDB programming with Dexie.js

Published: 12. January 2018  •  database, javascript

In this blog post, I give you an overview of Dexie, a minimalistic wrapper library for IndexedDB. Write simpler and more concise IndexedDB code with Dexie.

Sending browser push messages from Spring Boot with Firebase Cloud Messaging

Published: 9. January 2018  •  Updated: 21. March 2026  •  java, javascript, pwa, spring

This blog post shows how to send browser push messages from a Spring Boot application with Firebase Cloud Messaging. The client uses a service worker, IndexedDB, and the current FCM token flow for web apps.

Using Dexie.js in a TypeScript application

Published: 12. January 2018  •  Updated: 21. March 2026  •  database, javascript, ionic

This blog post shows how to use Dexie in a TypeScript application

Human-readable regular expressions

Published: 27. February 2018  •  java, javascript

Writing human-readable regular expressions with the VerbalExpressions library

Real-Time Polling App with Java and JavaScript

Published: 28. February 2018  •  Updated: 22. March 2026  •  java, javascript

Build a simple polling application with Spring Boot, Vite, JavaScript, and server-sent events, and update the results live in an ECharts pie chart.

Check for Commonly Used or Compromised Passwords

Published: 3. May 2018  •  Updated: 21. March 2026  •  java, javascript

In this blog post, I present examples that check passwords against commonly used and compromised password datasets.

A closer look at the Background Sync API

Published: 26. June 2018  •  pwa, javascript, java, spring, ionic

This blog post takes a closer look at the Background Sync API, shows how to use it as a progressive enhancement, and presents an example that synchronizes data between an Ionic web application and a Spring Boot server application.

Angular project with Workbox service worker

Published: 22. June 2018  •  Updated: 21. March 2026  •  pwa, javascript

This tutorial shows how to integrate a custom Workbox service worker into an Angular application with a Vite-based build step.

A closer look at the Beacon API

Published: 5. September 2018  •  Updated: 21. March 2026  •  javascript

The Beacon API lets a browser queue small POST requests without blocking navigation. This post explains when to use sendBeacon(), when fetch keepalive is the better choice, and walks through several practical examples.

BigInt, arbitrary precision integers in JavaScript

Published: 3. September 2018  •  javascript

A closer look at the ES2020 numeric primitive BigInt

Global error handler in Angular

Published: 5. October 2018  •  javascript

How to register a global error handler in a standalone Angular application, send reports to a back end, and queue failed reports in IndexedDB until the browser can retry them.

Text to Speech with Google Cloud Text-to-Speech

Published: 4. October 2018  •  java, javascript

Converting text from a web application into speech with Google Cloud Text-to-Speech

Using the Background Sync API with the Angular service worker

Published: 9. December 2018  •  pwa, javascript, ionic

In this blog post, we combine Angular's generated service worker with custom Background Sync logic in an Ionic and Angular application.

Google Cloud Vision and Storage example with Ionic and Spring Boot

Published: 11. December 2018  •  java, spring, ionic, javascript

This post shows how to upload images from an Ionic web application directly to Google Cloud Storage with V4 signed URLs and analyze them with Google Cloud Vision from a Spring Boot back end.

Building a simple neural network with Java and JavaScript

Published: 23. December 2018  •  java, javascript

Building a simple feedforward neural network in Java and JavaScript, training it with MNIST, and using the exported weights for browser-based digit recognition

JavaScript BigInt and JSON

Published: 4. January 2019  •  javascript, java

How to serialize and deserialize JavaScript BigInt values in JSON in a full-stack application with Spring Boot

Machine Learning with brain.js and Tensorflow.js

Published: 4. January 2019  •  javascript

In this blog post, we are going to create two neural networks with brain.js and Tensorflow.js, train them with the MNIST dataset, and use the trained models in a web application to detect digits.

JavaScript spread and rest syntax examples

Published: 19. January 2019  •  javascript

A collection of examples with the spread and rest syntax in JavaScript

Integrate FontAwesome icons in an Angular application

Published: 15. February 2019  •  Updated: 20. March 2026  •  javascript, ionic

This blog post shows how to integrate Font Awesome icons into a modern standalone Angular and Ionic application with the official Angular library.

Password auto-login with the Credential Management API

Published: 13. June 2019  •  java, javascript, spring, ionic

How to create a frictionless password auto-login experience with the Credential Management API.

Exposing build information of Spring Boot and Angular applications

Published: 12. June 2019  •  java, spring, javascript

How to expose version numbers, build timestamps, and Git metadata in Spring Boot and Angular applications

Google Fonts in an Angular / Ionic application

Published: 10. June 2019  •  javascript, ionic

A tutorial on how to use Google Fonts in an Angular / Ionic app. The blog post presents two approaches. One approach links to the Google Fonts service, and the second approach shows how to self-host the fonts in your application.

Reliable file uploads over HTTP with tus.io

Published: 11. June 2019  •  Updated: 19. March 2026  •  java, javascript, spring, ionic

How to integrate tus.io implementations into JavaScript and Java applications to create reliable and resumable file uploads over HTTP.

Uploading pictures from Capacitor app to Spring Boot

Published: 11. June 2019  •  Updated: 19. March 2026  •  java, spring, javascript, ionic, capacitor

How to take pictures with the Capacitor camera plugin and upload them to a Spring Boot application with Angular's HttpClient and tus.io.

OCR in the browser with Tesseract.js

Published: 30. July 2019  •  Updated: 4. March 2026  •  javascript

In this blog post, we develop an Angular/Ionic application that runs optical character recognition (OCR) in a browser with Tesseract.js. This application does not depend on any server-side code, and the recognition process runs locally in the browser.

A look at the Page Visibility API

Published: 29. July 2019  •  javascript

What the Page Visibility API is, how to use it in modern web applications, and how a few small native helpers can remove repetitive visibility checks.

Web Workers: Basic Usage, Angular, and Comlink

Published: 31. July 2019  •  javascript

This blog post explains when Web Workers help, how message passing and transferables work, how Angular CLI supports workers today, and how Comlink simplifies the Web Worker programming model.

Ky - elegant fetch

Published: 10. August 2019  •  Updated: 20. March 2026  •  javascript

A closer look at Ky, a tiny HTTP client built on top of the Fetch API for browsers, Node.js, Bun, and Deno.

Creating a passwordless sign-in with WebAuthn, Spring, and Ionic/Angular

Published: 25. August 2019  •  Updated: 20. March 2026  •  javascript, java, spring, ionic

In this blog post, we build a passwordless sign-in flow with WebAuthn, an Ionic / Angular front end, and a Spring Boot back end secured with Spring Security.

Sending Web Push Notifications with Java

Published: 13. August 2019  •  java, javascript

Sending Web Push notifications from a Java back end to a web browser

Push Notifications with Capacitor and Java

Published: 3. April 2020  •  Updated: 20. June 2021  •  ionic, spring, javascript, capacitor, java

In this blog post, we take a closer look at how to receive push notifications with Capacitor and how to send them from a Spring Boot application.

Exchange Protocol Buffers messages between JavaScript and Java

Published: 4. April 2020  •  Updated: 20. May 2021  •  javascript, java

In this blog post, we are going to take a look at how to send Protocol Buffers messages from an Angular app to a Spring Boot backend.

YouTube Player and Google Maps Angular component

Published: 21. April 2020  •  Updated: 21. May 2021  •  javascript, angular

In this blog post, we take a look at the YouTube Player and Google Maps component from the angular/components repository.

RxJS webSocket, w3c-compatible WebSocket wrapper

Published: 11. April 2020  •  Updated: 20. May 2021  •  javascript

In this blog post, we take a closer look at the webSocket function from the RxJS library, a wrapper around the native WebSocket object.

Present photos on Google Maps

Published: 2. May 2020  •  Updated: 15. March 2026  •  javascript, java

In this tutorial, I show you how to develop a web application that presents your holiday photos on Google Maps.

Add CAPTCHA to your site with hCaptcha

Published: 1. May 2020  •  Updated: 20. May 2021  •  javascript, java, ionic, angular

This blog post shows you how to integrate hCaptcha CAPTCHAs into a plain JavaScript project and Angular projects, with a Spring Boot back end.

Dexie.js live queries

Published: 22. January 2022  •  javascript, database, ionic

In this blog post, I will show you an example of the new live query feature in Dexie.js 3.2 that enables an application to subscribe to IndexedDB queries.

Embedding maps with MapTiler in a web application

Published: 21. July 2025  •  javascript

Learn how to use MapTiler's JavaScript SDK to display maps and markers in your web application, including clustering and popups.

ES2026: The Temporal API

Published: 27. March 2026  •  javascript

An introduction to the Temporal API in ECMAScript 2026.

ES2026: The smaller features

Published: 27. March 2026  •  javascript

A summary of interesting smaller features in ECMAScript 2026.

Embedding maps into web applications with MapLibre GL JS

Published: 9. March 2026  •  javascript

Learn how to use MapLibre GL JS to embed interactive maps into web applications, including examples with markers, popups, GeoJSON data, WMS overlays, and Angular integration.