Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Show Posts

* | |

  Show Posts
Pages: 1 ... 4 5 [6] 7 8 ... 188
76  PureMVC Manifold / Standard Version / Re: Objective-C Multicore version & Pipes Utility on: December 07, 2013, 11:35:56
At the moment no. But if you hare interested in porting, it would be greatly appreciated!
77  PureMVC Manifold / Standard Version / Re: feature request on: December 07, 2013, 11:34:32
Makes sense.
78  Announcements and General Discussion / General Discussion / Re: Advantages of PureMVC over Robotlegs 2 on: December 07, 2013, 11:19:53
what are the key advantages of PureMVC over Robotlegs?
I would have to say simplicity and portability. And I'm talking about PureMVC vs DI in general here, not just RobotLegs.

Simplicity
Many pieces, loosely coupled is a mantra that guides OOP design, but loosely coupled without pattern can make working on an app that uses dependency injection difficult.

If anything can have any other thing injected into it, then multiple dependencies form on the thing itself. You've freed the object getting the thing from having to know how to get it, but you've still formed a dependency on it. If five objects inject a particular thing, then refactoring that thing becomes increasingly difficult.

PureMVC is more focused on message passing and formalizing the collaborators based on a few simple patterns. It's simple, but it's enough to do pretty much any size application you want to attempt with it. All those programs will look very similar because they use the same patterns.

DI doesn't exactly encourage pattern use. I'm not saying it discourages it, but I will say that developers, particularly good ones, are a lazy lot. We figure out the path of least resistance like Yoda feeling the Force. And since you can just inject something anywhere, you are not encouraged to consider the collaborations you form on the spot while fixing some problem or trying to demo or die. But now there is a coupling. If you're wise and inject Interfaces, you'll save yourself a lot of work, but i digress. DI is championed, IMHO, mostly by cowboy coders who feel penned-in by a framework that is prescriptive. [I can feel the flamethrowers lighting up on that one.] But I get that. I rode those dusty plains for years. But your work is amplified if you're contributing to a team in a concerted effort that doesn't involve a lot of head-scratching about other people's code. If everybody is confused about some part of the thing, then that's mental friction that manifests as technical debt.

Portability
Check the code repositories. There are a lot of versions of PureMVC out there. They're not all as well supported as AS3 (primarily because I lived and breathed AS3 - and still do, mostly) and the time to coordinate on all those fronts. But the point is really that the idea itself is so simple and the actors and their collaborations and responsibilities are QED to build in practically any OOP language. Most of those ports were done in a weekend. It is easily ported because it uses the simplest features of the language for everything.

And because the scope of the framework itself was predetermined, you don't really have to worry if it's going to change and there'll be a whole new way of doing things. A program in PureMVC from 2006 looks pretty much the same as one you'd write today.
79  PureMVC Manifold / Standard Version / Re: feature request on: October 14, 2013, 10:24:36
You already have the Proxy in hand, before and after you make the register call.
80  Announcements and General Discussion / Public Demos, Tools and Applications / Re: VideoSwipe: the revolution will be live-streamed, on PureMVC :) on: October 14, 2013, 10:22:25
Pretty cool!
81  Announcements and General Discussion / Architecture / Re: Inter-core communication by implementing sendMessage() method in Facade.as on: October 14, 2013, 10:19:35
The problem is that you can't guarantee that notification constants aren't in conflict across modules. Particularly in a situation where third-party modules are provided. A core's message space is its own. That' why pipes has a message facility that can pass between modules safely.
82  PureMVC Manifold / Bug Report / Re: [ WARNING ] asdoc broken in Flex 4 on: August 05, 2013, 10:12:15
Thanks a ton. Just reviewed but probably won't do a new release until weekend due to time constraints. 

Cheers,
-=Cliff>
83  PureMVC Manifold / Bug Report / Re: [ WARNING ] asdoc broken in Flex 4 on: July 08, 2013, 12:22:24
If you make a pull request on Github for the project, I'll take a look.
84  PureMVC Manifold / Multicore Version / Re: PureMVC compared to other MVC Javascript libraries on: June 21, 2013, 08:12:21
Feedback your experience here, good or bad. We aim to please.
85  PureMVC Manifold / Multicore Version / Re: PureMVC compared to other MVC Javascript libraries on: June 11, 2013, 05:13:33
Almost no one out in the HTML5 community seems to know of this API.
That's because the only demo other than the ones in our big GitHub tree of everything is here: http://todomvc.com.

We need more demos and of PureMVC working with various other frameworks. Fortunately, it looks like I'm going to be joining a project soon where I'll be knee deep in JS frameworks and hope be able to more readily contribute to the JS port myself. (I've been primarily a Flex guy for the last 9 years or so).

Is this just a matter of the PureMVC guys having no skill in marketing / awareness?

Yes, sort of.

It's partly because there has been no full-bore champion of it in the JS world as there was in Flex.

But  part of it is due to relegating it to a slot in this site that is 'so last decade'.

In fact Mike Britton and I have been chatting about building a site devoted to the JS framework, designed and built with HTML5 tools including PureMVC JS. Something along the lines of the Bootstrap site.

Cheers,
-=Cliff>
86  Announcements and General Discussion / Architecture / Re: Need some State Machine advice on: May 10, 2013, 07:04:41
With the State Machine utility, state is a running thing that is announced. Actors don't generally 'check' the state, but instead respond to state changes as they are sent. If you are persisting the application state represented by the state machine in a proxy, then you should rethink your design. Things should never be confused about the application state, but instead always be organized to represent the current state.

To your point with canceling the tabs, you could likely capture the event, cancel it, and dispatch a different event that your mediator hears and sends off the notification to the state machine. That would trigger the guard logic that may cancel the action. Or it might let the action go through and a CHANGED note goes out that the mediator hears and it changes the tab.

-=Cliff>

87  Announcements and General Discussion / Architecture / Re: Managing Class Inheritance Across Platform-Dependent Libraries on: May 06, 2013, 07:41:06
A project I've been working on for a couple of years now has:

- Web creation tool
- Web viewer
- Desktop Viewer
- iPad Viewer
- Android tablet viewer

The libs break down like this:

- LibInhouse - everything that is sharable between all the above projects
- LibAir - everything that is sharable only between desktop and mobile projects
- LibMobile - everything that is sharable only between the mobile projects

PureMVC is everywhere in these libs and application projects.

-=Cliff>
88  PureMVC Manifold / MultiCore Version / Re: Multi thread via AS3 Workers? on: March 21, 2013, 02:08:45
Also, since workers are not supported on mobile AIR platforms[1], you wouldn't want the framework tied to them. Otherwise, you'd write an app for web and desktop but then not be able to use it on mobile. While UI's usually change between these platforms, business and domain logic is generally reusable if best practices are followed.

-=Cliff>

1) Worker AS3 Doc
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Worker.html
"Note: The use of workers for concurrency is only supported in Flash Player and in AIR on desktop platforms. Concurrency is not supported on mobile AIR platforms. You can use the static isSupported property to check whether concurrency is supported before attempting to use it."
89  PureMVC Manifold / MultiCore Version / Re: Multi thread via AS3 Workers? on: March 21, 2013, 01:38:06
Why should a separate version of the framework be required? Seems as if you could create separate multicore modules, and run them as workers. You may have to mediate each worker in the shell. I confess I haven't tried it, but I don't imagine the framework itself has to change.

Feedback?

-=Cliff>
90  PureMVC Manifold / Multicore Version / Re: Top JavaScript MVC frameworks on: March 20, 2013, 07:02:14
That's probably because the port is relatively new, and there aren't many demos. We need more demos!

Pages: 1 ... 4 5 [6] 7 8 ... 188