Just some of Qbix's major features:
-
Your web apps run everywhere
-
User account management
-
Integrates with social networks
-
Ease of Development
-
Contacts
-
Streams
-
Invitations
-
Assets and Credits
More features for advanced users:
-
Access control
-
Relations
-
Flexibility
-
Database layer
-
Scaling
-
Distributed publishing
-
Apps and Plugins
-
Client side helpers
Intelligent defaults
A lot of thought went into the design of Qbix. That's why it encourages best practices and web standards as the default, and is able to take care of user signup, data persistence, security considerations, and other things right out of the box.
However, Qbix was also designed to be very flexible. As developers, we are very well aware of the headaches that can arise when a framework restricts you from doing something a different way when you really need to.
Customization on the front end
If you have a favorite library or framework, such as jQuery, YUI, Backbone Angular, Ember, etc. you can stop worrying. Chances are, you can use it with Qbix.
Q.js doesn't rely on any of those libraries, but is designed to work with them out of the box. Many plugins and reusable tools that accompany Qbix do make use of jQuery or Zepto. But then again, so do most Javascript MVC frameworks.
As you learn more about Qbix's javascript helpers, you'll discover how they are designed to work with existing functions but make them smarter, more expressive and reduce the load on your server.
Customization on the back end
Almost everything in Qbix can be overridden. By default, Qbix apps all have a common directory structure:
The core framework and its plugins have the same directory structure, and your app can override any class, event handler, view, config field, and so forth. You can even customize the directory structure, but you probably won't want to, if you care about others engaging with your code.
All the changes you make to the app can be shared with the rest of your team through version control, and promoting separation of concerns. Meanwhile, the local directory for storing all the local environment things not meant to be checked into version control, such as file paths, database credentials, facebook API keys, and more.
Plays nice with others
You can add classes from many other frameworks, such as Zend or Symfony 2, by dropping them into the classes folder. Qbix's autoloader plays nice with any modular PHP framework that follows the standard naming conventions. And you can easily extend Qbix to accomodate others, such as the Facebook SDK.
Qbix is built around a powerful event system – so, besides overriding, you can add hooks at thousands of points. Need to notify someone when a new user registers? Need to add more info to messages posted to streams? There is a hook for that.
Even the views are completely flexible. If your designers prefer to use a particular template engine, simply add it via a hook for Q::view(). Personally we prefer to use PHP (it's fast) and Mustache (it's simple and secure).