gwagner's blog

CRUD Operations with IndexedDB - Part 1: Creating and Clearing a Database

gwagner's picture

In this article, we show how to create and clear an IndexedDB database keeping all code in a single HTML file. Creating an IndexedDB database means first creating an empty database, and then adding records to its empty tables (or "object stores"). In Part 2, we will explain how to retrieve, update and delete IndexedDB records, such that we get the full collection of CRUD operations: Create, Update, Retrieve and Delete.

Drag&Drop HTML5/JS API Summary

gwagner's picture

Test the Drag & Drop Mechanism

Representing Information Models as RDF and OWL Vocabularies

gwagner's picture

The Resource Description Framework (RDF), together with its extension RDF Schema, is a logical formalism that allows formalizing information models in the form of RDF vocabularies and representing propositional information on the Web, embedded in web pages or in the form of special web data sources. OWL extends RDF by adding many additional language elements for expressing constraints, equalities and derived classes and properties in the context of defining vocabularies. Unfortunately, both RDF and OWL have many usability issues.

What Is Reactive Programming and how Does It Work?

gwagner's picture

The term "reactive programming" refers to a programming style based on handling "events" of all sorts. App developers are familiar with simple user interface events, such as mouse clicks, and know how to deal with them using their favorite programming language. But there are also other kinds of events an app may have to deal with, such as a state change of an object, an incoming message, the completion of an asynchronuous operation or an exception/error event.

Web Development Pitfall No.1: Confusing a DOM collection with a JS array

gwagner's picture


Don't confuse a DOM collection with a JS array: Array functions, such as the forEach looping method, cannot be applied to a DOM collection!

For instance, when you retrieve all rows of an HTML table element, you get an HTMLCollection, which is an array-like object, but not an instance of Array, and therefore the following code does not succeed because the Array method forEach is not defined for an HTMLCollection like myTableEl.rows:


Subscribe to RSS - gwagner's blog