GithubHelp home page GithubHelp logo

grscl / rad.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rapid-application-development-js/rad.js

0.0 2.0 0.0 9.5 MB

RAD.JS Rapid Application Development (PhoneGap optimized javascript framework)

License: Other

rad.js's Introduction

RAD.JS


Rapid Application Development (PhoneGap optimized javascript framework)

Version:

0.93b

What RAD.js is:

A system-level framework. It allows to build a single-page application that looks and feels as a conventional multi-page one. It also takes over system-level tasks, such as message bus, creating and deleting certain part instances of the application, transactions between views, etc.

What RAD.js isn't:

  • An MV* framework. In RAD.js, MV* is based upon BackboneJS;
  • An application-level framework. Any JavaScript object can serve as an application. The framework does not require any special environments for creating an object of the application;
  • A layout engine. The layout engine is implemented as a navigation plugin for the framework core;
  • A UI framework. There is no reason in creating another UI framework, because in real-life projects UI patterns and appearance of applications change. ScrollableView, PopupView and ToastView serve as an extension to the basic view; all of these have extended and frequent behavior in different projects. You can easily write new views (such as ListView), which are frequently used in your projects.

Advantages:

  • The framework is optimized for PhoneGap and mobile browsers;
  • Ability to dynamically control (create and delete) module instances of the application through the functionality of the core, at both view level and application level;
  • Ability to build an application consisting of loosely bound modules: models, views, services (application part without visual representation); and of the object of the application;
  • Tree-structured messaging;
  • Debug mode of the core and messages;
  • Flexible and loosely bound architecture - almost any extraneous code can be enveloped by the module with several lines of code. Failure of a module doesn't cause failure of the whole application;
  • Ability to monitor the lifecycle of view and services. Callback methods for all lifecycle events;
  • Templating. A template is an HTML file that can be created separately;
  • Partial templating of view. Ability to determine parts of the view template, that will or will not be rerendered by changes of data within a model;
  • Any JavaScript object can serve as the object of the application;
  • Ability to extend functionality of the core via plugins;
  • Complex embedded views and declarative transition animations between them;
  • Ability to inherit views, services and models;
  • Modal and non-modal self-positioning windows;
  • Dynamic routing; it's enough to set the ''backstack: true'' parameter to enter transaction between views (new position of views on the screen) to the browser history;
  • Reuse of modules in other projects;
  • Module testing can be performed through external frameworks.

Dependencies:

  • BackboneJS;
  • UnderscoreJS;
  • JQuery;
  • IScroll;

Note:

We started working on the framework for the division of the tools that can be used without reference to our framework, as a completely independent tool for any javascript application. RAD.js Toolkit


License

MIT

rad.js's People

Watchers

MTX avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.