Protolus is a rapid web development library. More than just another framework, it provides a flexible foundation to support new and old web platforms without sacrificing abstractions or power. Entirely seperable, each of the component libraries may be used independently within an existing framework or as a single unit. It runs as a traditional URL based app as well as a dynamic JS application using a soveriegn URL scheme.
What can it do for my data?
- Automatic definition updates: data constructs are updated on reference, so new tables and columns aren't even a consideration
- Universal interface: Access MySQL, Mongo and Memcache using a single, object oriented syntax
What can it do for my presentation?
- Recursive panels: a smarty-compatible macro environment, which can render both in the client using JS and on the server in PHP
- Rich macro environment: supports page containers subpanels, variable passing, js/css resource bundling and a variety of macros
- External access: the render may be used as a service for external rendering (email, mobile apps, etc.)
What can it do for my logic?
- Universal access: all data from any controller is JSON accessible, allowing the client and server equal access to application data
- View centric logic: take care of smaller, atomic actions based on a view leading to more reusable units
- Get rid of it: less code in your controllers, reduce your code by a factor of 10 with all the benefits that implies
How do I get started?
*Node.js and PHP frameworks are independent and out of sync.
Install in Node.js:
npm install protolus
Initialize inside an already created project directory:
curl http://protol.us/fini.sh | sh
Create and initialize a new project directory:
curl http://protol.us/install.sh | name=[project name] sh
Please report any issues you have or features you need.