Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Welcome, Guest. Please login or register.
September 23, 2017, 12:34:34 AM
Home Help Search Login Register
News: Please DM @puremvc on Twitter to gain forum access. Spambots are why we can't have nice things.
  Show Posts
Pages: [1]
1  PureMVC Manifold / Multicore Version / Top JavaScript MVC frameworks on: March 19, 2013, 08:18:43 AM
I just found this posting today on InfoQ: Top JavaScript MVC Frameworks

As more and more logic ends up being executed in the browser, JavaScript front-end codebases grow larger and more difficult to maintain. As a way to solve this issue developers have been turning to MVC frameworks which promise increased productivity and maintainable code. As part of the new community-driven research initiative, InfoQ is examining the adoption of such frameworks and libraries by developers.

  • Backbone.js: Provides models with key-value binding and custom events, collections, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS: A toolset based on extending the HTML vocabulary for your application.
  • Ember.js: Provides template written in the Handlebars templating language, views, controllers, models and a router.
  • Knockout: Aims to simplify JavaScript UIs by applying the Model-View-View Model (MVVM) pattern.
  • Agility.js: Aims to let developers write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries.
  • CanJS: Focuses on striking a balance between size, ease of use, safety, speed and flexibility.
  • Spine: A lightweight framework that strives to have the most friendly documentation for any JavaScript framework available.
  • Maria: Based on the original MVC flavor as it was used in Smalltalk - aka "the Gang of Four MVC".
  • ExtJS: Amongst other things offers plugin-free charting, and modern UI widgets.
  • Sammy.js: A small JavaScript framework developed to provide a basic structure for developing JavaScript applications.
  • Stapes.js: A tiny framework that aims to be easy to fit in an existing codebase, and because of its size it's suitable for mobile development.
  • Epitome: Epitome is a MVC* (MVP) framework for MooTools.
  • soma.js: Tries help developers to write loosely-coupled applications to increase scalability and maintainability.
  • PlastronJS: MVC framework for Closure Library and Closure Compiler.
  • rAppid.js: Lets you encapsulate complexity into components which can be easy used like HTML elements in your application.
  • Serenade.js: Tries to follow the ideas of classical MVC than competing frameworks.
  • Kendo UI: Combines jQuery-based widgets, an MVVM framework, themes, templates, and more.

Unfortunately, PureMVC wasn't included in the poll.   Huh
2  PureMVC Manifold / Multicore Version / Re: Native Javascript port? on: February 01, 2012, 02:48:38 PM
Hi Frederic:

Thanks for the code review.  I had originally ported this utility using ExtJS which had a function I was using called Ext.isFunction().  When I ported the utility to native JS multi-core and removed the ExtJS dependencies, I had to come up with a reliable cross-browser alternative to Ext.isFunction().  That bit of code

(myFnVar && Object.prototype.toString.call(myFnVar) === '[object Function]')

is what I came up with.  I found that Object's toString() function identified an object variable to be a function in the form of the string "[object Function]" consistently across browsers.

If the approach to determine if an object variable is a function using JavaScript's typeof operator works reliably & consistently across browsers, then I am all for going with that approach instead.

Cheers.
Tony
3  PureMVC Manifold / Multicore Version / PureMVC JS native multi-core AsyncCommand Utility on: February 01, 2012, 01:03:57 PM
Probably next what is the most requested is an AsyncCommand utility, it is so needed in JavaScript. Quite logical next the AsyncStub utility.

I created a working implementation of the native multi-core AsyncCommand Utility library for PureMVC JS -- I used it in the ExtJS v3 & v4 implementations of the EmployeeAdmin demo (to prep the Controller before the Model and View).  The maintainers of the native JS multi-core should rework my source to meet the standards/conventions used by the native multi-core PureMVC JS library (i.e. modify to use the preferred testing framework, JSDuck documentation, and any preferred JS coding styles and techniques).

You can download an archive of the source and sample library from here.
4  Announcements and General Discussion / Fabrication / Question regarding using Fabrication and PureMVC Console together on: March 30, 2009, 05:12:26 PM
Hello.

I'd like to use Kap Lab Pure MVC console as a tool to debug my Fabrication application.  To utilize PureMVC Console, one has to create a class that overrides fr.kapit.puremvc.as3.patterns.facade.DebugFacade.  (See http://lab.kapit.fr/display/puremvcconsole/Integration+Guide)

However, Fabrication already overrides the org.puremvc.as3.multicore.patterns.facade.Facade class.

What is the best way to deal with this inheritance issue so that I can use PureMVC console to debug my Fabrication application?

Thanks in advance.
Tony
5  Announcements and General Discussion / Fabrication / Re: Need help with Flex ModuleManager and fabrication FlexModules on: March 05, 2009, 08:49:50 PM
Thanks Darshan for the detailed help.  Please forgive my ignorance, but where are the properties applicationRouter and applicationAddress coming from?


This fabrication utility is a wonderful extension to multi-core PureMVC -- I'm finding that it makes the multi-core framework much easier to use.
6  Announcements and General Discussion / Fabrication / Need help with Flex ModuleManager and fabrication FlexModules on: March 04, 2009, 09:42:11 PM
I'm still a newbie when it comes to PureMVC and fabrication, but I feel that I'm up to the challenge of being productive with these useful frameworks. 

What I would like to know is how to properly use Flex's ModuleManager class with classes that inherit from the fabrication FlexModule class.

The Fabrication Wiki details the basics of how to load Flex modules with the Flex ModuleManager class:

Quote
Using Module Manager for Flex Modules
Flex modules can also be loaded using the ModuleManager. The ModuleManager only loads the module swf. It does not instantiate the loaded swf. That needs to be done manually after the loading has completed by invoking create on the module's factory.

Loads the module, my_module.swf using ModuleManager.

Code:
var module:IModuleInfo = ModuleManager.getModule("my_module.swf");
module.addEventListener(ModuleEvent.READY, moduleReadyListener);
module.load();

private function moduleReadyListener(event:ModuleEvent):void
{
  var moduleInstance:Object = event.module.factory.create();
}

My fabrication application essentially follows the above example.  I must be doing something wrong because the xStartupCommand command class for my module is not being called, even though my modules main class specifies the xStartupCommand class in its getStartupCommand() method.

To ensure the same functionality as if the fabrication FlexLoader class had been used, are some extra configuration steps needed for using Flex's ModuleManager class to load the FlexModules?

EDIT:
I was able to get something working using code to the effect of the following:

Code:
var moduleInstance:FlexModule = event.module.factory.create() as FlexModule;
moduleInstance.router = (this.fabFacade.getApplication() as FlexApplication).router;
moduleInstance.initialize();

Is this essentially the right way to go about it, or is there a better way?
Pages: [1]