Inside ModelVirtualCasting #10: tutti pazzi per il web mobile

Previously, on ModelVC:

  1. Introduzione ai repository
  2. Architettura interna dei repository
  3. La cache
  4. Come funziona CacheThis?
  5. II servizi
  6. SEO con ASP.NET 4.0
  7. Come ti creo una form MVC in 20 secondi (a dire tanto...)
  8. Applicazioni Silverlight sul client (OOB)
  9. Cache con Windows Server AppFabric

Una delle necessità, al giorno d'oggi, per chi progetta applicazioni web pubbliche, è quello di prevedere una controparte mobile. Ormai anche in Italia il traffico mobile è di tutto rispetto e quindi occorre tenere presente che:

  • i terminali mobile hanno uno schermo piccolo;
  • la rete italiana se esci fuori dai punti più affollati può essere lenta;
  • meno informazioni si mostrano, più rapido è il download.

In ModelVC abbiamo abbozzato una parte mobile (solo sulla parte MVC) creando un custom ViewEngine che si adopera all'uopo e, semplicemente, se la richiesta viene da mobile si occupa di renderizzare la View posta nella directory "Mobile" da creare sotto ogni directory con le View di un dato controller. Per questioni di tempo (e perchè ci soffermeremo su questa parte in futuro), è solo abbozzata per la home page. La parte WebForm, per dire, non ha ancora questa cosa, ma contiamo di realizzarla nella prossima iterazione.

Volevo quindi farmi perdonare, in parte, spiegando un attimo i diversi approcci che ci possono essere quando si ha la necessità di fare un sito mobile. Essenzialmente, possiamo:

  • fare un sito ad hoc per il mobile. Pro: ottimizziamo al massimo. Contro: molto complesso, soprattutto in fase di manutenzione e miglioramento;
  • fare view ad hoc per il mobile. Pro: mappiamo il sito attuale. Contro: necessita di tweaking su alcune viste.

Io personalmente preferisco la seconda strada, che è quella che abbiamo abbozzato in ModelVC, in ASPItalia.com (provate, ce l'abbiamo da molto tempo una versione mobile ad hoc ;)) e che mi sento di consigliare in tutti i siti informativi. In applicazioni, invece, è consigliabile la prima scelta, perchè magari i flussi devono essere diametralmente opposti e tenere conto di alcune feature ad hoc del device.

In generale, alcuni tip:

  • impostate paginazioni basse: se per il web vanno bene anche 20 elementi, per il mobile meno di 10 (5, come fa Google) può essere la scelta migliore;
  • evitate informazioni non essenziali: io preferisco i layout a colonna singola, lo spazio è poco e va ottimizzato bene;
  • generate immagini ottimizzate (e quindi poco pesanti);
  • usate font grandi: ok lo zoom, ma se lo evitiamo è anche meglio;
  • affidatevi ad un buon motore di rilevazione: per esempio, questo è ben aggiornato.

A tal proposito, occorre ricordare che ASP.NET supporta di default dalla versione 4.0 solo Windows Phone, BlackBerry, FireFox Mobile, Opera Mobile e iPhone/Safari mobile. Le vecchie definition sono andate via. Importando le definizioni di cui sopra, potete supportarne di tutti e di più.

Per sapere la penetrazione dei browser, potete usare un servizio come questo. Non sarà attendibile al 100%, ma vi da' un'idea.

StatCounterGlobal

Infine, ASP.NET 4.0 introduce I provider per le browser capabilities. In ModelVC ce n'è uno (disattivato di default) che vi serve per testare con il browser "normale" come si vede la parte mobile. È molto comodo proprio per poter testare le viste senza utilizzare un browser mobile vero, mentre si sviluppa l'applicazione. Ovviamente, per testare l'usabilità, meglio darsi da fare con il device fisico.

Commenti
Inside ModelVirtualCasting #10: tutti pazzi per il web mobile

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese
TAG CLOUD
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET 4.0, ASP.NET 4.0 Guida completa, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, C# 4 Guida completa, Cache, Community Days 2010, Community Days 2012, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HTML 5 Espresso, HTML5, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Metro, Microsoft Expression, MIX11, Model Virtual Casting, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Parallel FX, Pattern, PDC 2008, Profile API, Provider Model, Real Code Day 6, Report, Roles API, Security, SEO, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Basic 2010 Guida completa, Visual Studio, WCF Data Services, WCF RIA Services, Web Service, web.config, Windows 7, Windows 8, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Phone - il libro, Windows Phone 7, Windows Phone 7.1, Windows Presentation Foundation, Windows Server, Windows Vista, WinRT, XAML, XBox 360, XHTML, XML, XNA, XSLT
BLOG INFO
  • 1.020 post, 438 commenti, 195 trackback
  • Feed blog: RSS Atom
In evidenza