Lightweight building blocks for HTML5 mobile apps