+ All Categories
Home > Documents > Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane...

Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane...

Date post: 14-Dec-2015
Category:
Upload: zander-hales
View: 216 times
Download: 1 times
Share this document with a friend
Popular Tags:
21
Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ([email protected]. u.ar) ([email protected] r) ([email protected]. ) ([email protected]) ([email protected] r)
Transcript
Page 1: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Meteoroid

Towards a real MVC for the Web

Lautaro Fernández Santiago RoblesAndrés Fortier Stephane DucasseGustavo Rossi Silvia Gordillo

([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])

Page 2: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Web: To Infinity And Beyond!

•Cheaper & Faster•Lots of services are provided via Web

•Mail•Home banking•Collaborative editors•Social networks•E-Commerce•Etc.

•Present on any device

Page 3: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Web evolution

Beginning•Request/response•Static information

Now the Web is more complex, requiring •Complex models•Dynamic information•More interaction client/server•Client’s updates from the server

without the request

For the last one a new approach is needed

Page 4: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Comet

•A way to push data from the server into Web browsers

•Umbrella of technologies•JavaScript•Ajax•Streaming

•Browser-dependent hack

Request/Response mechanism

Comet

mechanism

Page 5: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Comet (cont.)

•Not an standard (yet)•Common technique for all browsers

• Waiting cursor issues• Throbber issues• Status bar issues

•Best techniques for browsers

Forever IFrame

XMLHttpRequest

Server-Sent Events

ActiveX + IFrame

(others)

Page 6: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Understanding some background

Page 7: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Seaside

•Framework to build Web applications•Characteristics:

•Nesting components •Hot debugging and recompilation•Multiple control flow •Stack reification for call and answer•Action callbacks

•Etc.

Page 8: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Model-View-Controller

•Model•Independent from Views

•View•Displays Model information

•Controller•Processes events

Page 9: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Announcements

•It is an observer framework simpler and more powerful than legacy frameworks

•Triggers robust objects instead of symbols, which make the concrete observer behaviour much easier

Vs.

self change: #value with: aValue

self announce: (ValueAnnouncement with: aValue)

Page 10: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Value Models

•General idea•Holds a model•Understands #value and #value:•Notifies its dependents when its value changes•Simple, standard

• Useful for widgets•Widgets access the value independently of the model•Uniform way to access the value

Page 11: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Meteoroid

•Framework to create Live Web applications•Combines

•Comet concept•Seaside features•Announcements•MVC pattern•Value Models

Page 12: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Meteoroid Layers

•Meteoroid is divided in different layers•Every layer provides

•More functionality•More abstraction

Page 13: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

JavaScript Layer

•Bottom Layer, less abstraction•Provides

•A Comet connection•Message #pushScript: aScript•DOM manipulation

self pushScript: 'alert(“Hello World”);'

Page 14: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Demo

Page 15: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Announcement Layer

 More abstraction•Through MVC this layer will handle the dependencies•Add & remove View-Model dependencies automatically•Messages to update and insert JavaScript automatically

MeteoroidComponent>>initializeself on: ValueChangedAnnouncement         of: self model         update: 'someDOM_ID'         callback: [:html :announcement :announcer|

html text: announcer value        ]

Page 16: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Demo

Page 17: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Web Value Model Layer

•Combines•Announcement layer•HTML widgets•Value Models 

•Allows to create Web apps like Desktop apps

Page 18: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Web Value Model Layer (cont.)

•WebValueModel•ValueModel Wrapper•Allows to use #change: and #announce:

•Updateables Widgets•Access a Value Model•Value Model notifies a WebValueModel which updates

the web widget 

Page 19: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Demo

Page 20: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

Demo

Page 21: Meteoroid Towards a real MVC for the Web Lautaro Fernández Santiago Robles Andrés Fortier Stephane Ducasse Gustavo Rossi Silvia Gordillo ( lfernandez@lifia.info.unlp.edu.ar.

That’s all,Thanks!


Recommended