Zend Dojo

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Group & 1 Event

    Zend Dojo - Presentation Transcript

    1. Zend_Dojo: l'integrazione della libreria Dojo nello Zend Framework by Enrico Zimuel Senior Consultant - Zend Technologies Email: enrico.z@zend.com Blog: http://www.zimuel.it/blog Copyright © 2007, Zend Technologies Inc.
    2. Sommario • Che cos'è lo Zend Framework (ZF)? • Che cos'è Dojo? • L'architettura di Dojo • Configurare l'ambiente Dojo in ZF: il view helper dojo() • Utilizzo dei widgets Dijit nello Zend_View • Form 2.0 con Zend_Form e Dojo
    3. Zend Framework • Framework PHP open source  Semplicità di utilizzo  Architettura flessibile  Funzionalità Web 2.0 • Web services • Ajax (integrazione Dojo, Adobe Flex)  Codice di qualità (testato con PHPUnit) • Scritto in PHP 5, Object Oriented, MVC • Versione 1.8.1, download ed info: http://framework.zend.com/ Name of this section | | 3 May 15, 2009
    4. Dojo • Dojo è una libreria JavaScript open source per la realizzazione di Rich Internet Applications (RIA) • Caratteristiche principali:  performance;  affidabilità;  ampia disponibilità funzioni: http://dojotoolkit.org/ manipolazione DOM, animazioni, Ajax, gestione Eventi e normalizzazione keyboard  Supporto multi-browser (Firefox, IE, Safari, Opera, etc)  internazionalizzazione (i18n) e accessibilità (a11y) | | 4 May 15, 2009
    5. Dojo: curiosità • Dōjō, è un termine giapponese che significa etimologicamente luogo (jō) dove si segue la via (dō) 道場 | | 5 May 15, 2009
    6. L'architettura di Dojo Libreria di base < 30 Kb | | 6 May 15, 2009
    7. Dojo: esempi http://demos.dojotoolkit.org | | 7 May 15, 2009
    8. Zend Framework e Dojo • Disponibile a partire dalla versione 1.6 dello Zend Framework • Dojo view helper per la gestione dell'ambiente Dojo • View helpers di tipo Dijit per la creazione di form ed elementi • Gestione delle strutture dojo.data con la classe Zend_Dojo_Data • JSON-RPC implementazione server | | 8 May 15, 2009
    9. Supporto Dijit • Supporto della maggior parte dei componenti dijits (Dojo widgets) • Utilizzo di view helpers per il rendering dei dijits  I dijits sono generati automaticamente (default)  Possibilità di specificare lo stile di generazione • Form decorators per i layout ed i form dijits  Utilizzo di layout dijit decorators specifici per forms, sub forms e gruppi di visualizzazione • Gestione degli elementi di un form dijits  Mappatura con i dijit view helpers | | 9 May 15, 2009
    10. Classic web application model (sync) | | 10 May 15, 2009
    11. Ajax (async) | | 11 May 15, 2009
    12. dojo.data Payload • dojo.data è una struttura dati utilizzata dai componenti Dojo • Zend_Dojo_Data gestisce la generazione di strutture dati compatibili con dojo.data • Possibilità di gestire ogni oggetto (arrays, Iterators, etc.) tramite un identificatore utilizzato poi per la creazione di una struttura JSON (JavaScript Object Notation). • JSON è un formato adatto per lo scambio dei dati in applicazioni client-server | | 12 May 15, 2009
    13. Esempio di struttura dati in JSON { \"type\": \"menu\", \"value\": \"File\", \"items\": [ {\"value\": \"New\", \"action\": \"CreateNewDoc\"}, {\"value\": \"Open\", \"action\": \"OpenDoc\"}, {\"value\": \"Close\", \"action\": \"CloseDoc\"} ] } • Formato: { “etichetta” : “valore” } | | 13 May 15, 2009
    14. Supporto JSON-RPC • JSON-RPC è un protocollo di Remote Procedure Call che utilizza JSON per la serializzazione dei messaggi • Lo schema JSON specifica il Service Mapping Description (SMD) per la definizione dei metodi disponibili • Zend_Json_Server implementa un server di tipo JSON-RPC con il supporto SMD • Utilizzato principalmente nello sviluppo di applicazioni client “pesanti” dove il codice client è incluso in una View del modello MVC | | 14 May 15, 2009
    15. dojo() View Helper • Impostazione dell'ambiente dojo  $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper'); • Percorso delle librerie javascript (CDN o locale)  $view->dojo()->setLocalPath('...') • Impostazione dei paths per I moduli personalizzati  $view->dojo()->registerModulePath('...') • Impostazione del dojo.require per l'inclusione arbitraria di moduli dojo  $view->dojo()->requireModule('...') • Impostazione dell'evento onLoad | | 15 May 15, 2009
    16. dojo() View Helper - temi • Dojo consente la creazione di temi personalizzati per i dijits (widgets).  $view->dojo()-> addStylesheetModule('dijit.themes.tundra'); • Il path del tema è ricostruito sostituendo al '.' il separatore di directory ed utilizzando l'ultimo valore come nome del file .CSS. • dijit.themes.tundra -> dijit/themes/tundra/tundra.css • Quando si utilizza un tema è necessario impostarlo nel file HTML, il metodo più sicuro è includerlo nel body: <body class=”tundra”> | | 16 May 15, 2009
    17. Dijit-Specific View Helpers • “Dijit è un sistema di elementi grafici (widget) sviluppato sulla base di dojo” (manuale Dojo) • Zend Framework fornisce un insieme di view helper per l'utilizzo di dijit, essi si suddividono in tre categorie:  Layout Containers  Form Dijit  Form Elements | | 17 May 15, 2009
    18. Using Layers (custom builds) • Ogni dojo.require effettua una richiesta al server per il download del relativo file javascript • Se sono presenti più dijits si avranno numerose richieste al server con evidenti rallentamenti!!! • In Dojo c'è la possibilità di creare custom builds tramite le utils fornite con la libreria • I file vengono raggruppati in layers (un singolo file JS). | | 18 May 15, 2009
    19. Zend_Dojo: esempio | | 19 May 15, 2009
    20. Riferimenti • Matthew A.Russell “Dojo, the definitive guide” O'Reilly (2008) • Rawld Gill, Craig Riecke, Alex Russell “Mastering Dojo. JavaScript and Ajax Tools for Great Web Experiences” The Pragmatic Bookshelf (2008) • Frank Zammetti “Practical Dojo Projects” Apress (2008) • Peter Svensson “Learning Dojo” Packt Publishing (2008) | | 20 May 15, 2009
    21. Grazie! Per maggiori info: http://www.zend.com

    + gruspgrusp, 5 months ago

    custom

    754 views, 0 favs, 1 embeds more stats

    In questo talk si parlerà dell’integrazione dell more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 754
      • 717 on SlideShare
      • 37 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 4
    Most viewed embeds
    • 37 views on http://www.phpday.it

    more

    All embeds
    • 37 views on http://www.phpday.it

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events