application-prototype

Application builder - prototype


Keywords
application-builder, require, node, custom, application builder, application prototype, prototype, application-prototype, nodejs-mvc, application pattern, application framework, application model, pattern, controller, mapping
Licenses
CC-BY-NC-2.5/BSD-3-Clause-LBNL
Install
npm install application-prototype@1.30.1

Documentation

application-prototype

pipeline status License » Creative Commons Attribution-NonCommercial 4.0 / or Granted by SGApps Labs Repository - GitLab Documentation Sergiu Gordienco email sergiu.gordienco@gmail.com

npm GitHub package.json version (branch) GitHub issues GitHub pull requests

ApplicationPrototype Documentation

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.

Installation

Browser (Bower)

bower install app-prototype

Node.js

npm install application-prototype

Quick Start

Browser Setup

<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>

Node.js Setup

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');

Documentation

Full Documentation | Getting Started | Architecture

Core

Modules

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

Guides

Contribution

If you find the code interesting, you may participate by updating documentation using pull requests or by sending messages to sergiu.gordienco@gmail.com.

Typedarray polyfill

Used typedarray polyfill from inexorabletash/polyfill

License

Creative Commons License Creative Commons Attribution-NonCommercial 4.0 International License 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.