3. Learn  page     

tags: home learn

JavaScriptMVC contains pretty much everything you need to develop, test, and maintain a JavaScript application. Instead of learning an API, learning JavaScriptMVC is more about learning HOW to build an application.

The Basics

Watch 2.0 Video Before you do anything, watch the 2.0 Video.
It's a 12 min brain dump that will highlight most of JMVC's features.

You might be asking yourself a frequently asked question:

Who should use JMVC?

JMVC is designed for large, single-page JavaScript applications that require lots of custom code (something like GMail). It fits between low-level libraries like jQuery and widget libraries like jQueryUI.

If you need to organize, test, maintain, or compress a JavaScript application, JavaScriptMVC will help.

How does JMVC fit into my project?

JMVC is based around the principles of Service Oriented Architecture (SOA) and Thin Server Architecture (TSA). This means your server produces raw (preferably REST) services and never sends data in HTML.

Read a 1.5 article how it looks from within a rails application:

For information on the benefits of TSA, watch Practical Thin Server Architecture.

Does JMVC work with a Java/PHP/Rails/etc backend?

Yes, JMVC will will work with any backend service. It prefers to consume JSON Rest services, but it's flexible enough to work from anything.

Do you have any example code?

We are trying to get move public source available, but for now check out:

  • Srchr - demo app
  • MXUI - jQueryMX UI widgets.

How does JMVC compare to other JS Frameworks?

JMVC has the gamut of features to support the most complex JS applications.
But it's most important feature, and its most unique, is its event delegation support organized via controllers. If you haven't used controllers to organize event handling in JavaScript, you haven't really programmed JavaScript.

Model View Controller

There are only 4 things you will ever do with JavaScript! JMVC breaks these down into the Model-View-Controller architecture.

  • Respond to events -> Controller
  • Get data and manipulate services (Ajax) -> Model Static functions
  • Wrap service data with domain specific information -> Model Prototype functions
  • Update the page -> Controller and View

Here's how that flow looks:

Think how this would work with the google auto-suggest.

  • Respond to typing "JavaScriptMVC" -> Controller.
  • Get search suggestions -> Model Static functions.
  • Wrap search data -> Model Prototype functions. Not really important here!
  • Draw suggestions -> Controller and View.

Development Tools?

JavaScriptMVC supplies a host of JS tools including:

How do I get help?

Write on our forum.

How do I report errors, or contribute code?

Submit patches or errors in github.

© Jupiter IT - JavaScriptMVC Training and Support