mvc - files.meetup.com filefreejs mvc a rendszer céljai - kis méret - függetlenség - moduláris...

24
FreeJS MVC JavaScript keretrendszer

Upload: others

Post on 02-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVCJavaScript keretrendszer

Page 2: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A rendszer céljai

- Kis méret

Page 3: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A rendszer céljai

- Kis méret

- Keretrendszer függetlenség

Page 4: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A rendszer céljai

- Kis méret

- Keretrendszer függetlenség

- Moduláris rendszer

Page 5: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A rendszer céljai

- Kis méret

- függetlenség

- Moduláris rendszer

- Könnyen megérthetõ struktúra

Keretrendszer

Page 6: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A rendszer céljai

- Kis méret

- függetlenség

- Moduláris rendszer

- Könnyen megérthetõ struktúra

- Ismerõs környezet

Keretrendszer

Page 7: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

Az MVC

Page 8: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

Inspiráció

- CodeIgniter

- Smarty

- Mootools, jQuery

Page 9: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A keretrendszer

- Lazy loading

Page 10: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A keretrendszer

- Lazy loading

- AJAX támogatás

Page 11: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A keretrendszer

- Lazy loading

- AJAX támogatás

- Event támogatás

Page 12: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A keretrendszer

- Lazy loading

- AJAX támogatás

- Event támogatás

- URL hash támogatás

Page 13: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A keretrendszer

- Lazy loading

- AJAX támogatás

- Event támogatás

- URL hash támogatás

- Klasszikus MVC

Page 14: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A használat

app = new FreeJS();

“app” redelkezni fog az alábbi objektumokkal:

- app.model

- app.view

- app.controller

Page 15: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A használat

app = new FreeJS();

“app” redelkezni fog az alábbi objektumokkal:

- app.model

- app.view

- app.controller} .load(’controller.hello.js’)

Page 16: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A használat

app = new FreeJS();

“app” redelkezni fog az alábbi objektumokkal:

- app.model

- app.view

- app.controller

} .ajax(’dynamic_content.php’)

Page 17: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A használat

app = new FreeJS();

“app” redelkezni fog az alábbi objektumokkal:

- app.model

- app.view

- app.controller } .register(’object’,{...})

Page 18: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A model

app.model metódusai:

- set(’model_neve’, ‘érték’)

- get(’model_neve’)

- ajax(’url’, ‘query_str’, { options }) // auto JSON dekódolás

Page 19: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A Nézet

app.view metódusai:

- app.view.register(’tpl_name’, ‘template’)

- app.view.assign(’tpl_name’, ‘model_name’)

- app.view.render(’tpl_name’, ‘target_id’)

- app.view.ajax(’url’, ‘query_str’, callback_fn )

// array key+value

// target_id opcionális

// nincs eval()

Page 20: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A Controller

app.controller metódusai:

- app.view.register(’tpl_name’,{ ... }’)

- app.view.call(’ctrl_name’, ‘method’)

- app.view.toElement(’element’, ‘event_name’, ctrl_method’)

Page 21: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A Controller és a hash

# / : :

app.controller.register( ' ', {

initialize: function() {

app.model.set( 'sent_emails', { 'emails': [] } );

},

function( ){

app.view.assign( ‘email_list_display’, [’value’,$(’name’).value] );

}

});

http://webapp.com/index.html comm

comm

sent_emails

sent_emails:

hello world

param1, param2

app.view.assign( ‘email_list_display’, ‘sent_emails’ );

app.view.render( ‘email_list_display’, ‘email_viewport’ );

Page 22: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

A Controller és a hash

# / : :

app.controller.register( ' ', {

initialize: function() {

app.model.set( 'sent_emails', { 'emails': [] } );

},

function( ){

app.view.assign( ‘email_list_display’, ‘sent_emails’ );

app.view.render( ‘email_list_display’, ‘email_viewport’ );

}

});

http://webapp.com/index.html comm

comm

sent_emails

sent_emails:

hello world

param1, param2

this.message = ‘Hello world’;

app.view.assign( ‘email_list_display’, [’value’, ] );

app.view.toElement( $(’show_sent_emails’), ‘click’, ‘ / ’);

this.message

comm sent_emails

Page 23: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

Elérhetõség

http://tibor.szasz.hu

@kowww

Demo: http://tibor.szasz.hu/labs/freejs-mvc/demo

Page 24: MVC - files.meetup.com fileFreeJS MVC A rendszer céljai - Kis méret - függetlenség - Moduláris rendszer - Könnyen megérthetõ struktúra - Ismerõs környezet Keretrendszer

FreeJS MVC

Köszönöm a figyelmet

Hamarosan forkolható a GitHubon