25
Présentation du framework Robotlegs

Présentation de Robotlegs

Embed Size (px)

DESCRIPTION

Présentation du framework Robotlegs, diffusée durant la 2ème réunion du Flex User Group de Rennes, le 20 juin 2011.

Citation preview

Page 1: Présentation de Robotlegs

Présentation du framework Robotlegs

Page 2: Présentation de Robotlegs

2

Moi

Nicolas PENNEC

Développeur Web - RIA Flex / JEE / PHP / Ajax Alyotech Technologies

juin 2011 Présentation du framework Robotlegs - Nicolas PENNEC

Page 3: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 3

Inventeur de Robotlegs

Shaun SMITH

Depuis juin 2009

http://shaun.boyblack.co.za/blog/

@darscan

juin 2011

Page 4: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 4

Robotlegs c’est quoi ?

Framework « pure » AS3 (Flash/Flex/AIR)

Architecture MVC-S

Injection de dépendance automatisée

Logique de couplage faible

Léger (v1.4 = 48ko)

Open source (MIT License ) / GitHubjuin 2011

Page 5: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 5

MVC-S vous avez dit ?

Model-View-Controller-Service La couche Service fournit un mécanisme

d’isolation pour communiquer avec les données extérieurs (ex: web services ou fichier système).

Design d’architecture : Séparation Organisation Découplage

juin 2011

Page 6: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 6

L’injection de dépendance

Basé sur SwiftSuspenders [1] : Framework AS3 d’IOC (Inversion Of Control)

basé sur l’utilisation de metadata.

Metadata utilisée : [Inject]

Meilleur découplage des couches

Moins de code (instanciation, cast, …)

[1] https://github.com/tschneidereit/SwiftSuspenders

juin 2011

Page 7: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 7

Framework events

Utilisation des évènements natifs de Flash pour la communication entres les couches du framework.

Des évènements customisés permettent d’embarquer des données fortement typées.

juin 2011

Page 8: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 8

Architecture

juin 2011

Page 9: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 9

Flux

juin 2011

Page 10: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 10

Flux (1)

juin 2011

Page 11: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 11

Flux (2)

juin 2011

Page 12: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 12

Flux (3)

juin 2011

Page 13: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 13

Flux (4)

juin 2011

Page 14: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 14

Flux (5)

juin 2011

Page 15: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 15

Flux (6)

juin 2011

Page 16: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 16

Flux (7)

juin 2011

Page 17: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 17

Flux (8)

juin 2011

Page 18: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 18

Classe « Context »

juin 2011

Page 19: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 19

Classe « Event »

juin 2011

Page 20: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 20

Classe « Mediator »

juin 2011

Page 21: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 21

Classe « Command »

juin 2011

Page 22: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 22

REX

2 projets Robotlegs en entreprise

Simple, efficace, stable (v1.4 – nov

2010)

Respecter la philosophie du couplage

faible

Documentation et bonnes pratiques

en ligne

Communauté active

Open source !

juin 2011

Page 23: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 23

Limitations rencontrées

Médiation manuelle nécessaire :

Popup / Meditor

Deferred component / Meditor (creationPolicy!=all)

Héritage d’une classe Mediator : override du

onRegister() nécessaire

Risque de multiplier les Events

Si Context tros gros, en faire plusieurs

juin 2011

Page 24: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 24

What else ?

Robotlegs 2.0 est sur les rails !

Remplacer les Events par de l’AS3-Signal Nécessite l’extension

« CommandSignal » AS3-Signal pour Robotlegs▪ https://github.com/robertpenner/as3-signals▪ https://github.com/joelhooks/signals-extensio

ns-CommandSignaljuin 2011

Page 25: Présentation de Robotlegs

Présentation du framework Robotlegs - Nicolas PENNEC 25

Ressources Robotlegs

Site officiel : http://www.robotlegs.org/

Support : http://knowledge.robotlegs.org/

Sources :

https://github.com/robotlegs/robotlegs-framework

+ =

juin 2011