Skip to content
Learn JavaScript by rebuilding the frontend stack
JavaScript HTML
Branch: master
Clone or download
CarlMungazi Add events to DOM elements (#9)
* Add events to DOM elements

* Start creating search app

* Update readme
Latest commit b95847c Oct 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
aprender Add events to DOM elements (#9) Oct 11, 2019
examinar Change assertions for DOM tests Jul 15, 2019
maleta Add package.json file for maleta Sep 2, 2019
.gitignore Clean up (#3) Jul 17, 2019 Add events to DOM elements (#9) Oct 11, 2019

Learn JavaScript By Building A UI Framework

What Is This?

A project similar to this. They say one of the best ways is to learn is by doing. Well, this is just that. There are so many tools used in frontend development and this is my attempt at learning some of them from a first principles approach. I am building basic, non-production versions of various parts of the frontend stack and documenting the lessons learned in the process.

The articles written in the series so far are:

Whilst not part of the series, this article I wrote for Smashing Magazine explains some of the benefits of this project.


Aprender is the UI framework and it is built using the virtual DOM paradigm. It contains the following features:

  • Turning JavaScript objects into DOM elements
  • Adding on-event handlers to DOM elements


Examinar is a testing framework not modelled upon anything in particular. It has the following features:

  • Assertions
  • A DOM implementation for the node environment


Maleta is a module bundler which builds upon the work of Minipack. It has the following features:

  • Bundles both ES and CommonJS modules
  • CLI tool
  • Built-in dev server
You can’t perform that action at this time.