Skip to content
shimondoodkin edited this page Jun 8, 2011 · 37 revisions

##use events in my framework

i don't get where it might be useful

http://jsconfeu.blip.tv/file/4387787/ @ 8:04

make event based controllers, maybe with some stack?

http://onteria.wordpress.com/2011/06/03/a-look-at-sandboxed-vm-code-execution-in-node-js/

connect maybe already does something like this with server.use('/url/',function) that matches /url/*

##Model-View-ViewModel - MVVM: see Growing: http://www.mojolicious.org/ - the secret is connecting the routs! (and i want to make it component-able if possible, also to add a filter function on the client: json in - html out )

http://knockoutjs.com/documentation/observables.html

it began as multi platform presentations layer

connects with my idea that architect should define the futures of the GUI and GUI labels and dictionary

its a good idea i want to understand better if it is possible to make it simple to render fast on server and reuse templates on client.

http://martinfowler.com/eaaDev/PresentationModel.html

http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1 - see several pages. http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f/3ede55778f5a45dd

MVVM rich designers:

http://www.clientui.com/ http://www.intersoftpt.com/webuistudio_devforce

better looking dependency injection

http://csausdev.wordpress.com/2010/12/17/dependency-injection-in-node-js/

from dot net

ide designer's job = properties are in separate files so after configuring with gui a developer uses a a ready object.

a lot of ready to use paradigms. the resource access classes are hidden.

programmer should not do low level

use components.

from lean software toolkit book - Waste:

If something does not directly add value as perceived by the customer, it is waste.

If there is a way to do without it, it is waste.

In 1970 Winston Royce wrote that the fundamental steps of all software development are analysis and coding.

"[While] many additional development steps are required, none contribute as directly to the final product as analysis and coding, and all drive up the development costs." - Royce, "Managing the Development of Large Software Systems." For a description of the waterfall approach, see Chapter 2, "Amplify Learning," especially Figure 2.5.

With our definition of waste, we can interpret Royce's comment to indicate that every step in the waterfall process except analysis and coding is waste.

convention

i have found that convention enables more easier oreantation in the code, like the url is the name of the file, the model object name is the name of the file

the controlled unit

the idea is to take a large system and build it as many nested small systems. but some times you want a larger controlling unit to have large region aware decision making. a larger controlled unit is usually used to decide better on how to occupy a large space better. call it "supervisor/observer pattern" - children emit events and the supervisor controls them. it has a resource it manages and nows the state of its children. http://www.hillside.net/plop/plop99/proceedings/fischmeister/pattern-times.pdf

data model could be observer based, there are some popular implementations

use promises

the promises in node js are not : prohibited, baned or disliked , they are ok.

it is in the tradition of node.js to kick out from core source code to a user based implementations anything where a disagreement between users is exists on the implementation or desired usage.

sod the promises in node js are ok, then, i think that:

  • database access shlould be promises based.
  • if required: the server request handler functions should be bound to the request(a version of those functions that is bound, should be available).
  • everything else also should be promise based like
    • file system
    • http get

module require management

  • provide a custom require function with auto reload functionality

the development should be more like browser based development

do no know yet how to implement

  • maybe add ajax transparency layer like

in perl there is a framework of all in one file

template:
<div id="data"></div>
<input type="button" onclick="server:myfuncrion()" value="load data">
server code:
function myfuncrion()
{
  client("#data").val="this is data";
}
  • maybe add observers
  • maybe add option to scope the template by id like :
<div id="foo-panel">
 <div id="data"><div>
</div>
<input type="button" onclick="server:myfuncrion()" value="load data">

then only the foo-panel will be refreshed or the like..