Skip to content
epicwhale edited this page May 5, 2012 · 55 revisions

This is a work in progress. Everything here is highly experimental and volatile until we remove this notice :-)

Ninja is a rock solid boilerplate for you to build web apps using HTML5, CSS3, JavaScript (jQuery), PHP 5.3+ & MySQL. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It lets you skip the very initial decisions and thinking that goes beyond developing web apps. Ninja is opinionated software. It makes the assumption that there is a "best" way to do things, and it's designed to encourage that way – and in some cases to discourage alternatives. We make sure you do it too using best practices & code from our years of experience in iterative development.

After a few weeks, you'll discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your development here, and trying to use patterns you learned elsewhere, you may have a less happy experience.

Reinventing Picking the wheel:

Ninja is a web application development framework that combines best practices, conventions, independent libraries, an MVC framework & the best frontend boilerplate. This leads to the big question - Are we reinventing the wheel? hell no. Here's why:

  • Coding Standards: We follow the most popular and well-defined Zend Naming Conventions and a very elegant Coding Style.
  • Frontend Boilerplate: Every frontend starts with using the world's best frontend boilerplate - HTML5 Boilerplate.
  • Database: We've seamlessly integrated Doctrine DBAL for you. Don't like it? Try out Zend_Db.
  • MVC & URL Routing: At the very core, we've developed a clear-cut Model, View, Controller architecture that is reflected in the URL structure of your app. We've taken great inspiration from CodeIgniter & Kohana here.
  • Command Line: Long-running scripts? Build/Minification scripts? We've got it covered, pretty-MVC style too!

What we've tried to convey above is that our focus is on repeating less and putting to good use more. We call this picking the right wheel, not reinventing it. And these choices help your project get off the ground quickly and right-footed. Ninja is about focusing more on conventions rather than configurations. It makes developing web applications clean and efficient. It has a very small learning curve and once you learn the basics, you are on your way to develop full fledged web apps.


Pick a topic:

Introduction

Getting Started

Kickstart

Tackling Enemies

Tools (Library)

Cookbook

Barehand (when vanilla is best)

  • Foo

Outerwear

JavaScript HTML CSS

Tutorials

-- Work in progress -- References for organizing the wiki: https://github.com/mojombo/jekyll/wiki