MVC revival plans for Aida

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

MVC revival plans for Aida

Janko Mivšek
Dear all,

Next spring will be 30 years of Smalltalk-80 and even more years of MVC
[1][2] as currently the hottest pattern specially in JavaScript world.
Just look at all those client-side JS web frameworks like Backbone,
Ember, Angular, Knockout...[3].

A perfect time therefore to upgrade Aida's MVC to the current bleeding
edge. Well, if we Smalltalkers were on MVC first, we need to catch JS
guys and be first again :)

So, my two-step plan is as follows:

 -- 1st step: Introduce a dependency mechanism as known from first MVC
implementations from 80s on VisualWorks [1]. Dependency mechanism in a
sense that all views dependent of some value update automatically after
this value change. Currently we need to update them manually, with
statements like:

        field onChangePostAndUpdate: someElement

 -- 2nd step: Move dependency mechanism to client-side so that all
updates of dependent views will be done locally, without server needed.
Only value change will be sent to the server. This will speed up web
apps substantially, specially the mobile ones.

After achieving the second step we are on a path to even more standalone
client-side web apps. Aida will generate them on the server and send to
the client, then 'disconnect'. Apps will therefore run autonomously and
connect back to the server just from time to time to synch data changes.
Here (if not for 2nd step already) Amber is what we can count on.

So, that's my current brainstorming, with 1st step quite advanced in the
head already, it could be that it will be ready for implementation soon.

Best regards
Janko

[1] A Description of the Model-View-Controller User Interface Paradigm
in the Smalltalk-80 System
http://www.itu.dk/courses/VOP/E2005/VOP2005E/8_mvc_krasner_and_pope.pdf
[2] Historical papers from Trygve Reenskaug, inventor of MVC
http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
[3] Rich JavaScript Applications – the Seven Frameworks
http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: MVC revival plans for Aida

garduino
Interesting thoughts.

Juan implemented in Cuis a way as in Visual Smalltalk, the comment of ActiveModel class follow:

The new event model, originally from VisualSmalltalk.
This includes #when:send:to: and friends, in Object (generic implementation) and ActiveModel (optimized implementation).
It renders the old change/update mechanism in Object and Model as obsolete, although still used.

I found it very interesting to develop desktop stuff, so simple, so straightforward....

Cheers.


2012/12/16 Janko Mivšek <[hidden email]>
Dear all,

Next spring will be 30 years of Smalltalk-80 and even more years of MVC
[1][2] as currently the hottest pattern specially in JavaScript world.
Just look at all those client-side JS web frameworks like Backbone,
Ember, Angular, Knockout...[3].

A perfect time therefore to upgrade Aida's MVC to the current bleeding
edge. Well, if we Smalltalkers were on MVC first, we need to catch JS
guys and be first again :)

So, my two-step plan is as follows:

 -- 1st step: Introduce a dependency mechanism as known from first MVC
implementations from 80s on VisualWorks [1]. Dependency mechanism in a
sense that all views dependent of some value update automatically after
this value change. Currently we need to update them manually, with
statements like:

        field onChangePostAndUpdate: someElement

 -- 2nd step: Move dependency mechanism to client-side so that all
updates of dependent views will be done locally, without server needed.
Only value change will be sent to the server. This will speed up web
apps substantially, specially the mobile ones.

After achieving the second step we are on a path to even more standalone
client-side web apps. Aida will generate them on the server and send to
the client, then 'disconnect'. Apps will therefore run autonomously and
connect back to the server just from time to time to synch data changes.
Here (if not for 2nd step already) Amber is what we can count on.

So, that's my current brainstorming, with 1st step quite advanced in the
head already, it could be that it will be ready for implementation soon.

Best regards
Janko

[1] A Description of the Model-View-Controller User Interface Paradigm
in the Smalltalk-80 System
http://www.itu.dk/courses/VOP/E2005/VOP2005E/8_mvc_krasner_and_pope.pdf
[2] Historical papers from Trygve Reenskaug, inventor of MVC
http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
[3] Rich JavaScript Applications – the Seven Frameworks
http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida




_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: MVC revival plans for Aida

Nicholas Moore
In reply to this post by Janko Mivšek
That sounds good, and excellent positioning for Aida. I have been rather pre-occupied with moving to the USA recently, but expect to be able to contribute in the New Year.

On which note, I send my best wishes to the Aida Community for the coming festivities.

Nicholas

On 16/12/12 06:54, Janko Mivšek wrote:
Dear all,

Next spring will be 30 years of Smalltalk-80 and even more years of MVC
[1][2] as currently the hottest pattern specially in JavaScript world.
Just look at all those client-side JS web frameworks like Backbone,
Ember, Angular, Knockout...[3].

A perfect time therefore to upgrade Aida's MVC to the current bleeding
edge. Well, if we Smalltalkers were on MVC first, we need to catch JS
guys and be first again :)

So, my two-step plan is as follows:

 -- 1st step: Introduce a dependency mechanism as known from first MVC
implementations from 80s on VisualWorks [1]. Dependency mechanism in a
sense that all views dependent of some value update automatically after
this value change. Currently we need to update them manually, with
statements like:

	field onChangePostAndUpdate: someElement

 -- 2nd step: Move dependency mechanism to client-side so that all
updates of dependent views will be done locally, without server needed.
Only value change will be sent to the server. This will speed up web
apps substantially, specially the mobile ones.

After achieving the second step we are on a path to even more standalone
client-side web apps. Aida will generate them on the server and send to
the client, then 'disconnect'. Apps will therefore run autonomously and
connect back to the server just from time to time to synch data changes.
Here (if not for 2nd step already) Amber is what we can count on.

So, that's my current brainstorming, with 1st step quite advanced in the
head already, it could be that it will be ready for implementation soon.

Best regards
Janko

[1] A Description of the Model-View-Controller User Interface Paradigm
in the Smalltalk-80 System
http://www.itu.dk/courses/VOP/E2005/VOP2005E/8_mvc_krasner_and_pope.pdf
[2] Historical papers from Trygve Reenskaug, inventor of MVC
http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
[3] Rich JavaScript Applications – the Seven Frameworks
http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012



--

Nicholas Moore


_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: MVC revival plans for Aida

Janko Mivšek
Hi Nicolas,

Thanks for encouragement and best wishes. Same for you and also good
luck with your move.

Best regards
Janko

Dne 18. 12. 2012 18:03, piše Nicholas Moore:

> That sounds good, and excellent positioning for Aida. I have been rather
> pre-occupied with moving to the USA recently, but expect to be able to
> contribute in the New Year.
>
> On which note, I send my best wishes to the Aida Community for the
> coming festivities.
>
> Nicholas
>
> On 16/12/12 06:54, Janko Mivšek wrote:
>> Dear all,
>>
>> Next spring will be 30 years of Smalltalk-80 and even more years of MVC
>> [1][2] as currently the hottest pattern specially in JavaScript world.
>> Just look at all those client-side JS web frameworks like Backbone,
>> Ember, Angular, Knockout...[3].
>>
>> A perfect time therefore to upgrade Aida's MVC to the current bleeding
>> edge. Well, if we Smalltalkers were on MVC first, we need to catch JS
>> guys and be first again :)
>>
>> So, my two-step plan is as follows:
>>
>>  -- 1st step: Introduce a dependency mechanism as known from first MVC
>> implementations from 80s on VisualWorks [1]. Dependency mechanism in a
>> sense that all views dependent of some value update automatically after
>> this value change. Currently we need to update them manually, with
>> statements like:
>>
>> field onChangePostAndUpdate: someElement
>>
>>  -- 2nd step: Move dependency mechanism to client-side so that all
>> updates of dependent views will be done locally, without server needed.
>> Only value change will be sent to the server. This will speed up web
>> apps substantially, specially the mobile ones.
>>
>> After achieving the second step we are on a path to even more standalone
>> client-side web apps. Aida will generate them on the server and send to
>> the client, then 'disconnect'. Apps will therefore run autonomously and
>> connect back to the server just from time to time to synch data changes.
>> Here (if not for 2nd step already) Amber is what we can count on.
>>
>> So, that's my current brainstorming, with 1st step quite advanced in the
>> head already, it could be that it will be ready for implementation soon.
>>
>> Best regards
>> Janko
>>
>> [1] A Description of the Model-View-Controller User Interface Paradigm
>> in the Smalltalk-80 System
>> http://www.itu.dk/courses/VOP/E2005/VOP2005E/8_mvc_krasner_and_pope.pdf
>> [2] Historical papers from Trygve Reenskaug, inventor of MVC
>> http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
>> [3] Rich JavaScript Applications – the Seven Frameworks
>> http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012
>>
>>
>
> --
>
> *Nicholas Moore
> *
>
>
>
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
>

--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel:  01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida