A parte questo piccolo (sole 10 pagine) libretto della Apress:
“ASP.NET MVC Framework Preview
uscito ad agosto dell’anno scorso e dedicato alla primissima versione del framework ASP.NET MVC (che tra l’altro è cambiata poi parecchio nel frattempo), questo della Packt è la prima pubblicazione resa disponibile al pubblico nei primi di aprile di quest’anno.
È stato pubblicato poi un altro libro della Wrox (con Scott Guthrie come co-autore)
e un alto paio ne sono stati pubblicati proprio in questi mesi (sempre da parte di Wrox e Apress).
Con questo piccolo testo della Packt, scritto da uno sviluppatore belga, ho potuto fare un interessante esperimento. Iniziare a leggerlo prima di conoscere ASP.NET MVC, e rileggerlo dopo che ci avevo giochicchiato un po’.
Alla prima lettura devo confessare che, a parte il primo breve e godibilissimo capitolo introduttivo, non ci avevo capito nulla L
Mi sono trovato di fronte subito tanti dettagli tecnici di cui non capivo il perché e il percome.
Teniamo presente che questo testo “sarebbe” indirizzato a beginners assoluti su ASP.NET MVC (sono richieste solo delle basi di ASP.NET Web Forms e C#, dato che gli esempi utilizzando questo linguaggio).
In realtà, secondo me, come primo passo potrebbe risultare un po’ ostico.
Le spiegazioni sono ridotte al minimo, e subito si passa al codice, anche se ben diluito e distribuito nei vari capitoli. Il susseguirsi degli argomenti è abbastanza ortodosso. Si inizia con lo spiegare la struttura del pattern MVC. Cosa è e a cosa servono i Model, le View e il Controller.
Si parla poi di routing e di integrazione con i “normali” WebForms ASP.NET.
Ogni capitolo – in genere sulle 20 pagine ed anche meno – si focalizza su di un solo argomento, e questo non mettere troppa carne al fuoco aumenta sensibilmente la comprensione e diminuisce lo smarrimento che potrebbe prendere il sopravvento nel lettore a digiuno completo dell’argomento.
A ciò si può aggiungere il livello di dettaglio mai eccessivo, ma questo direi che lo si intuisce già dal numero di pagine non eccessivo del libro.
Argomenti di contorno, ma non trascurabili, sono poi jQuery, Ajax e il deployment (sia su IIS 6.0 che 7.0).
Meno di contorno, ma assolutamente fondamentale, sono poi i Test, aspetto che MVC enfatizza parecchio (e che ne potrebbe da solo giustificare l’adozione).
Essi sono trattati nel penultimo capitolo, il nono, e la loro creazione si basa pesantemente sulle procedure guidate di Visual Studio (ovviamente versione 2008).
Terminano il libro 3 interessanti appendici riportanti un’applicazione di esempio (CarTrackr), l’utilizzo dei Mock, e una discreta lista di link utili.
Conclude il libro un dettagliato indice analitico.
Le immagini non mancano, e sono di fondamentale aiuto per la comprensione. La loro grandezza, inoltre, è notevole, e spesso occupano ¾ dell’intera pagina.
Il codice degli esempi non è sempre indentato nel migliore dei modi, complici una grandezza del font ed una spaziatura forse eccessivi.
Che conclusioni si possono trarre: questo libro, essendo ridotto, come dimensioni e approfondimenti, va bene per acquisire nel più breve tempo possibile le cognizioni basilari di ASP.NET MVC.
L’autore si concentra sugli aspetti essenziali ed evita approfondimenti che potrebbero solo creare confusione ai novizi.
Non ci sono refusi e, almeno per il codice che ho provato io, sembra funzionare.
L’aspetto estetico dei libri Packt, purtroppo, sembra non migliorare mai. Il layout e l’impaginazione generale sono in stile “Primi anni ‘90”: scarno, senza nessun abbellimento estetico e formattato alla bell’e meglio.
Qua ci sarebbero parecchie cose da migliorare, ma a quanto pare la casa editrice non è interessata a progredire sotto questo aspetto.
Anche la rilegatura non aiuta, troppo rigida.
I lettori che volessero poi approfondire degnamente l’argomento, consiglierei senz’altro quello della serie “Professional” della Wrox.
Personalmente mi è servito per capire qualcosa di ASP.NET MVC non perché volessi iniziare ad usarlo a spron battuto, ma giusto per farmi un’idea di cosa offre il mercato oltre alle WebForms. Credo infatti che resterò fedele a queste ultime, in fondo in fondo le preferisco ancora, e non sento per ora il bisogno di abbandonarle a favore del framework MVC. Ma questo è solo un parere molto personale.
I dettagli del libro sono reperibili a questa pagina.
Da qui si può visualizzare il sommario dettagliato (che ho riportato in coda alla recensione), e soprattutto il secondo capitolo completo (20 pagine, anche se comprensive di qualche pagina di introduzione).
Per scaricare il codice sorgente (di ben 18 MB), bisogna inserire il proprio indirizzo mail; si riceverà poi una mail con il link da cui scaricarlo.
Esso è ben suddiviso in cartelle, una per capitolo (tranne il primo), al cui interno ci sono uno o più progetti.
Si nota solo una ripetizione inutile di cartelle; ad esempio, la cartella “Chapter 2”, contiene la sotto cartella “Chapter 2”, così per tutte le altre.
Questo, infine, è il blog dell’autore.
Voto complessivo: 7/10
Lettore: Intermedio
Table of Contents
Preface
Chapter 1: ASP.NET MVC
Chapter 2: Your First ASP.NET MVC Application
Chapter 3: Handling Interactions
Chapter 4: Components in the ASP.NET MVC framework
Chapter 5: Routing
Chapter 6: Customizing and Extending the ASP.NET MVC Framework
Chapter 7: Using Existing ASP.NET Features
Chapter 8: AJAX and ASP.NET MVC
Chapter 9: Testing an Application
Chapter 10: Hosting and Deployment
Appendix A: Reference Application— CarTrackr
Appendix B: ASP.NET MVC Mock Helpers
Appendix C: Useful Links and Open Source Projects Providing Additional Features
Preface
Chapter 1: ASP.NET MVC
o Model-view-controller
§ View
§ Controller
o The ASP.NET MVC framework
§ Driving goals of the ASP.NET MVC framework
§ Comparing ASP.NET MVC and ASP.NET Webforms
§ Choosing between ASP.NET MVC and ASP.NET Webforms
o Summary
Chapter 2: Your First ASP.NET MVC Application
o Creating a new ASP.NET MVC web application project
o What's inside the box?
o Strong-typed ViewData
o Creating a new view
o Unit testing the controller
o Summary
Chapter 3: Handling Interactions
o Creating a form
§ Creating a form using HTML
§ Creating a form using HtmlHelper
o Handling posts
§ Request variables
§ Updating objects from request variables
§ Action method parameters
o Handling file uploads
§ Creating an upload form
§ Creating an upload controller action
o Using the ModelBinder attribute
§ Using the default ModelBinder
§ Creating a custom ModelBinder
o Validating data
o Summary
Chapter 4: Components in the ASP.NET MVC framework
o The ASP.NET MVC request life cycle
§ The RouteTable is created
§ The UrlRoutingModule intercepts the request
§ The routing engine determines the route
§ The route handler creates the associated IHttpHandler
§ The IHttpHandler determines the controller
§ The controller executes
§ A ViewEngine is created
§ The view is rendered
o Extensibility
§ Route objects
§ MvcRouteHandler
§ ControllerFactory
§ Controller
§ ViewEngine
§ View
o The model in depth
§ Creating a model
§ Enabling validation on the model
o The controller in depth
§ Creating a controller
§ Rendering data on the response
§ Reading data from the request
§ Action method selection
§ Handling unknown controller actions
§ Action method attributes
o The view in depth
§ Location of views
§ Creating a view
§ Master pages
§ View markup
§ Partial views
o Action filters
§ IAuthorizationFilter
§ IActionFilter
§ IResultFilter
§ IExceptionFilter
o Summary
Chapter 5: Routing
o What is ASP.NET routing?
o ASP.NET routing versus URL rewriting
o UrlRoutingModule
o Route patterns
o Defining routes
§ Parameter constraints
§ Catch-all routes
§ Routing namespaces
§ Combining ASP.NET MVC and ASP.NET in one web application
o Creating URLs from routes
o Summary
Chapter 6: Customizing and Extending the ASP.NET MVC Framework
o Creating a control
o Creating a filter attribute
o Creating a custom ActionResult
o Creating a ViewEngine
o Summary
Chapter 7: Using Existing ASP.NET Features
o Session State
§ Reading and writing session data
§ Configuring session state
§ TempData
o Membership, authentication, and authorization
§ Configuring web site security
§ Implementing user and role based security in a controller
§ Configurable authentication options
o Caching
o Globalization
§ Resources
§ Using local resources
§ Using global resources
§ Setting language and culture preferences
o Mixing ASP.NET Webforms and ASP.NET MVC
§ Plugging ASP.NET MVC into an existing ASP.NET application
§ Plugging ASP.NET into an existing ASP.NET MVC application
§ Sharing data between ASP.NET and ASP.NET MVC
o Building views at compile time
o Summary
Chapter 8: AJAX and ASP.NET MVC
o Different AJAX frameworks
§ XMLHttpRequest
§ JavaScript Object Notation (JSON)
o ASP.NET AJAX
§ ASP.NET MVC AJAX helper
§ Working with JsonResult
o jQuery
§ jQuery syntax
§ Using jQuery with ASP.NET MVC
§ Working with JsonResult
§ Using jQuery UI
o Summary
Chapter 9: Testing an Application
o Unit testing
§ Unit testing frameworks
§ Hello, unit testing!
§ Generating unit tests
§ Testing the action method
§ Mocking frameworks
§ Testing the Login action method
o Mocking ASP.NET components
o Testing routes
o Testing UpdateModel scenarios
o Summary
Chapter 10: Hosting and Deployment
o Platforms that can be used
o Differences between IIS 7.0 integrated and classic mode
o Hosting an ASP.NET MVC web application
§ Creating a wildcard script map in IIS 7.0
§ Creating a wildcard script map in IIS 6.0
§ Modifying the route table to use file extensions
o Summary
Appendix A: Reference Application— CarTrackr
o CarTrackr functionality
§ Home page
§ Login screen
§ List of cars
§ Car details
§ Refuellings list
o Data layer
§ Linq to SQL model
§ Repository pattern
o Dependency injection
§ How CarTrackr controllers are built
§ Using Unity for dependency injection
o ASP.NET MVC Membership Starter Kit
o Form validation
o ASP.NET provider model
o Unit testing CarTrackr
§ Unit tests in CarTrackr
§ Mock repository
o Summary
Appendix B: ASP.NET MVC Mock Helpers
o RhinoMocks
o Moq
o TypeMock
Appendix C: Useful Links and Open Source Projects Providing Additional Features
o Information portals
§ ASP.NET/MVC
§ Aspdotnetmvc.com
§ DotNetKicks.com: Articles tagged with ASP.NET MVC
o Blogs
o Open source projects providing additional features for the ASP.NET MVC framework
§ ASP.NET MVC Design Gallery
§ MVC Contrib
§ xVal validation framework
§ ASP.NET MVC Membership Starter Kit
§ XForms
§ jQuery for ASP.NET MVC
§ Simple ASP.NET MVC controls
o Alternative view engines
§ Spark view engine
§ NHaml view engine
§ NVelocity view engine
o Example ASP.NET MVC applications
§ MVC storefront
§ FlickrExplorer
§ Yonkly
§ Kigg
§ CarTrackr
Index
Titolo: ASP.NET MVC 1.0 Quickly
Autore: Maarten Balliauw
Editore: Packt Publishing
ISBN: 978-1-847197-54-2
Pagine: 241
Prezzo: 21.99 £ (prezzo di copertina)
Data di uscita: Apr. 2009