Sviluppo Web Agile Con MonoRail

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

    Favorites, Groups & Events

    Sviluppo Web Agile Con MonoRail - Presentation Transcript

    1. Sviluppo Web Agile con Castle MonoRail Diego Guidi [email_address] BarCamp 24 febbraio 2007
    2. Sono io?
      • Diego Guidi
      • http://dotnetmarche.org/members/D_Guidi.aspx
      • http:// nts.sourceforge.net
      • http://blogs.ugidotnet.org/GisSharpBlog
      • http:// lacorrente.blogspot.com
      • [email_address]
      • Agile Web Application Framework MVC-Based
      • Porting di Ruby On Rails
      • Basato su architettura .NET e ASP.NET
      • Parte del “Castle Project”
      • Licenza: “Apache License, Version 2.0”
      • Non legato a MONO!
      Oggi parliamo di… MonoRail
    3. Ruby On Rails
      • Buzzword del 2006 - dopo Web 2.0 ovviamente!
      • Ha imposto all’attenzione di tutti Ruby come linguaggio di programmazione
      • Ha imposto all’attenzione di tutti un modello di programmazione “agile”
      • MonoRail recepisce ed estende Ruby On Rails
      Fonte : http:// radar.oreilly.com / archives /2006/08/programming_language_trends_1 .html
    4. Molti nemici, molto onore…
      • DJango : Python based
      • GRails : Java based
      • Akelos : PHP based
      • Flex On Rails : Flash/Flex based
      • SubSonic : The Zero Code DAL
        • .NET based
        • Estremamente automatizzato
        • Poco flessibile (al momento…)
        • http://www.codeplex.com/ Wiki / View.aspx ? ProjectName=actionpack
    5. Agile Web Application Framework MVC-Based
      • MVC-Based :
        • Model : mantiene lo stato dell’applicazione e si occupa della persistenza sul database.
        • View : responsabile della presentazione dei dati del modello e dell’interfaccia utente.
        • Controller : gestisce le richieste dell’utente, interagisce con il modello e richiama la vista corretta, a cui fornisce i dati da visualizzare.
      Separazione dei compiti Ogni cosa al suo posto!
      • MVC-Based : http://localhost:81/home/index.rails
      • - home : controller
      • - index : action (metodo)
      • del controller home
      • - index : view associata
      • al controller home
      Agile Web Application Framework MVC-Based
    6. Agile Web Application Framework MVC-Based
      • AGILE : promuove un modello di sviluppo che, automatizzando i task ripetitivi, permette allo sviluppatore di concentrarsi sull’applicazione e non sull’infrastruttura.
        • Convention Over Configuration : limitare al minimo la necessità di file di configurazione, favorendo al contrario le convenzioni.
        • DRY (Don’t Repeate Yourself) : evitare le ripetizioni di codice favorendo la condivisione.
        • Test Support : supporto per i test funzionali (controller).
    7. Costruzione di un progetto di base con Castle MonoRail Applicazione Demo
      • Rappresenta la parte Model di MonoRail
        • Implementazione del pattern ActiveRecord:
        • “ An object that wraps a row in a database table, encapsulates the database access, and adds domain logic on that data.” (Fowler, Patterns of EAA)
        • Basato su NHibernate
        • Persistenza gestita tramite meta-programmazione (attributi)
        • Non è necessario scriversi i file di mapping!
        • Validazione semi-automatica, gestita tramite attributi.
        • Operazioni CRUD automatiche
      • Disponibile anche separatamente da MonoRail
      MonoRail components: ActiveRecord
      • Rappresenta la parte View e Controller :
        • Controller :
          • Funzionalità di base per la gestione del flusso dell’applicazione
          • Gestione automatica e trasparente della sessione
        • View :
          • Motore “ufficiale”: basato su NVelocity
          • Motori in sviluppo: WebForm, StringTemplate, Boo…
          • Strumenti per la generazione di HTML
      MonoRail components: ActionPack
      • WebForms :
        • + : Infrastruttura basata su .NET
        • + : Supporto, documentazione, comunità di sviluppatori, ecc…
        • – : Complessità nella creazione e manutenzione delle applicazioni
      • http://hammett.castleproject.org/?p=59
          • “… my problem is that to do something that is more complex than just simply displaying one form on a page ASP.NET gets pretty complicated. Events are firing all over the place. I have to take viewstate into account… and then it became even more difficult to get stuff to respond the way I want them to respond. All in all it takes a really long time before I get something done properly….”
      MonoRail vs WebForms
      • MonoRail :
        • + : Infrastruttura basata su ASP.NET, .NET e Castle
        • + : Semplicità nella creazione e manutenzione delle applicazioni
        • http://www.brianromanko.com/2006/10/ aspnet-on-rails.html
          • Part of the reason for Ruby on Rails' quick adoption is that it provides a solid framework for development that has enough features to keep us framework quasi-developers happy while staying out of the way enough to make the framework work for the developer instead of against them (CSLA anyone?). It's slick and sexy.
        • – : Supporto, documentazione, comunità di sviluppatori, ecc…
        • – : View basate su NVelocity (ma è davvero un problema?...)
      MonoRail vs WebForms
    8. DotNetMarche BookStore Tutorial.Start()
    9. Generazione automatica dell’intelaiatura di base del sito web Task 1: Scaffolding
    10. Personalizzazione dell’intelaiatura di base generata tramite Scaffolding Task 2: Creazione della parte “Admin”
    11. Introduzione della validazione nel modello dei dati Task 3: Validazione
    12. Generazione manuale della parte del sito dedicata alla vendita dei nostri prodotti Task 4: Creazione della parte “Store”
    13. Gestione degli errori e delle eccezioni Task 5: Gestione degli errori
    14. Creazione della fase di ordinazione e pagamento Task 6: Gestione degli ordini
    15. Una migliore gestione della fase di ordinazione tramite l’utilizzo dei “ViewComponents” Task 7: I “componenti” di MonoRail
    16. Creazione della fase di spedizione degli ordini Task 8: La fase di spedizione
    17. Una migliore gestione della fase di spedizione tramite il “FormHelper” Task 9: La fase di spedizione - 2
    18. Creazione e aggiunta degli utenti “admin” Task 10: Creazione della parte “Login”
    19. Abilitazione della gestione degli utenti Task 11: Gestione del “Login”
    20. Limitazione dell’accesso alla parte di amministrazione ai soli utenti “admin” Task 12: Introduzione ai “Filters”
    21. Completamento del progetto con la correzione di alcune “imperfezioni” Task 13: Finalizzazione del sito web
    22. Introduzione al supporto per i test offerto da MonoRail Task 14: Testiamo il tutto!
    23. Il supporto ad Ajax in MonoRail Task 15: The Web, version 2.0
      • MonoRail è in continua evoluzione…
        • Caching
        • Generator
        • Migrate
        • Dynamic compiling
        • Support commerciale
      • Occhio a Marc-Andre! http://macournoyer.wordpress.com
      • Ed a Ayende! http://www.ayende.com/blog
      • Oltre ovviamente a… http://www.castleproject.org
      Tutto qui?
    24. Domande?
    25. Slide e Materiale
      • www.dotnetmarche.org
      Grazie! BarCamp 24 febbraio 2007

    + steottsteott, 3 years ago

    custom

    2089 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2089
      • 2089 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    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