Flux, Paleo for Web Apps

Remember the windows event queue?  Of course you dont, you were born yesterday, well here’s a refresher, before the web there was MFC , and before MFC, there was win32 and before win32 there were black screens with green letters.

The windows event queue was the single method which every single ui event was passed to,  in a win32 application.   A dinosaur, in the history of gui.

Enter FLUX, ancient is the new modern.  Will flux scale?  What do you think?  Born yesterday says, “Facebook uses it so it must be good”

Q:Should you use the flux pattern? A:You have no choice, angular 2 is going to use it too.  One things for sure is good about flux, to quote born yesterday again,  “Where does stuff go? Solved.”

flux-simple-f8-diagram-with-client-action-1300w

Its that time again, time to re-invent the wheel :

So whats in a web app:

This is a technology and  pattern agnostic list of what a web app does, a functional spec.
How do the frameworks stack up?

1. render html –  must have virtual dom – the players:  react, elm, virtual-dom ???

2. routing for spa

3. data caching

4. xhr

5. event handling

6. data binding

7. modules/DI
react-
just a few of the fancy new toys you’ll be needing:
nice slow intro need to know about one possible set of tools
package.json devDependencies list from todo list flux demo

It does annoy me that back in the day, the IDE did all this for you
and the reason to use js in the first place, is no proprietary dependencies  i.e. no need for asp.net

for example:
besides node js, which is a given,
contextify (Turn an object into a V8 execution context. A contextified object acts as the global ‘this’ when executing scripts in its context. Contextify adds 3 methods to the contextified object: run(code, filename), getGlobal(), and dispose(). The main difference between Contextify and Node’s vm methods is that Contextify allows asynchronous functions to continue executing in the Contextified object’s context.)

ng –

built in DI system ( this is the only thing ng’s got going for it , that and         jquery detection )

8. bundling and minification