A modular JavaScript Application Builder framework for building event-driven applications with support for two-way data binding, custom HTML elements, async operations, and more.
Available for front-end (browsers, Electron, and similar environments) and as a Node.js package.
bower install app-prototype
npm install application-prototype
<script src="ApplicationPrototype.js"></script>
<script src="ApplicationBuilder.js"></script>
<script>
var App = new ApplicationBuilder({
onready: function () {
var App = this;
App.modulePath('/path/to/constructors');
App.require(['extensions/prototype', 'lib'], function (libs) {
libs.lib();
// App is ready, load your modules
});
}
});
</script>
var ApplicationPrototype = require('application-prototype');
var app = new ApplicationPrototype();
app.bind('myMethod', function (arg1, arg2) {
// your logic here
});
app.on('onMyMethod', function (arg1, arg2) {
console.log('myMethod was called');
});
app.myMethod('hello', 'world');
Full Documentation | Getting Started | Architecture
- ApplicationPrototype - event-driven object builder with before/on/after lifecycle hooks
- ApplicationBuilder - module loading, caching, debugging, and dependency management
| Group | Modules | Key Feature |
|---|---|---|
| Async | flow, waterfall, map, filter, forEach | Sequential & parallel orchestration |
| UI / Templating | js-template, components, custom-elements |
{{ }} two-way binding, *if, *for directives |
| Networking | request, progress tracking, params-parser | Chainable HTTP client with upload/download events |
| Storage | browser-session (IndexedDB / localStorage) | ~200MB Promise-based key-value store |
| Resource Loading | uri-load | Dynamic script/stylesheet injection |
| Graphics | 10+ image filters, canvas-draw, conversions | Pure JS image processing pipeline |
| Media | webcam, getUserMedia | Camera capture with polyfill |
| Parsers | CSV parse/encode, Markdown to HTML | Lightweight format conversion |
| Extensions | 50+ utility methods, SHA/AES/MD5 encryption | One import enriches all built-in types |
- Building a Single-Page Application - task manager with templating, storage, and API calls
- Building an Image Editor - photo filters with webcam capture
- Building a Data Dashboard - sortable table with API data and caching
If you find the code interesting, you may participate by updating documentation using pull requests or by sending messages to sergiu.gordienco@gmail.com.
Used typedarray polyfill from inexorabletash/polyfill
Creative Commons License Creative Commons Attribution-NonCommercial 4.0 International License
JS Application Builder by JavaScript Application Builder is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Based on a work at http://sgapps.io. Permissions beyond the scope of this license may be available at https://sgapps.io.
