In prezent, dispozitivele mobile de tip smartphone, pocketPC, palm sunt utilizate in mod frecvent pentru a naviga pe Internet. Acest lucru este permis de software, aplicaţiile browser pentru dispozitive mobile (Opera, Safari, Pocket Internet Explorer) si de capacitatea dispozitivului de a accesa o retea de date wireless sau una oferita de furnizorul de comunicatii mobile.
In acest scenariu, apare o problema privind dezvoltarea aplicatiilor Web, deoarece dispozitivul mobil este limitat in comparatie cu un PC sau Notebook din punctul de vedere al:
- dimensiunilor fizice ale ecranului;
- capacitatea de a afişa resurse multimedia (imagini, filme, sunet);
- viteza de transfer a datelor
- capacitatea de a rula script-uri.
Diferenţele enunţate influenţează negativ experienţa utilizatorului deoarece, in majoritatea cazurilor, aplicaţia este conceputa sa ruleze minim pe un ecran ce permite rezoluţia 800X600. Astfel, utilizatorul mobil întampină dificultati la vizualizarea meniului aplicatiei, a conţinutului si la completarea unor formulare de date.
Solutia problemei consta in dezvoltarea de versiuni diferite ale aplicaţiei Web. Utilizand tehnologia ASP.NET framework 2.0 si Visual Studio 2005
Cu toate că URL-ul site-ului Web rămâne neschimbat, trebuie să existe posibilitatea de a detecta tipul dispozitivului care face cererea şi în funcţie de acesta de a-i furniza conţinut care să ţină cont de particularităţile acestuia.
Soluţia prezentată este implementată utilizând ASP.NET 2.0 si Visual Studio 2005 ca mediu de dezvoltare. Pentru testare se utilizeaza emulatoarele de dispozitive mobile puse la dispozitie de Visual Studio 2005. Acesta sunt iniţializate prin intermediul Device Emulator Manager din opţiunea Tools a mediului.
Identificarea tipului dispozitivului se realizeaza din pagina principală a site-ului analizând cererea HTTP făcută de browser-ul acestuia. In această zonă există informaţii care indică tipul aplicaţiei de tip browser. In situaţia identificării unui dispozitiv mobil, serverul va face o redirectare a cererii catre o pagina Web construită în mod explicit pentru dispozitive cu ecran de dimensiuni reduse si capacitate particulara de interpretare a unui formular.
Interogarea tipului dispozitivului se face în pagina principală a site-ului, în funcţia Page_Load prin intermediul obiectului HttpContext.Current.Request.Browser ce are proprietatea IsMobileDevice. Această metodă analizează header-ul HTTP al cererii căutând informaţii despre platformă şi browser. Proprietatea intoarce true daca informaţiile gasite indica un dispozitiv mobil.
protected void Page_Load(object sender, EventArgs e)
{
if(Request.Browser.IsMobileDevice)
Server.Transfer(”MobileVersion/Default.aspx”);
}
Datorita numarului mare de dispozitive mobile si a evolutiei rapide a tehnologiei, metoda IsMobileDevice nu contine informatii despre toate dispozitivele mobile. Lista oficială a platformelor recunoscute se gaseste la http://www.asp.net/mobile/tested-devices/
După cum se observă, această listă nu este actualizată în mod curent, fapt care generează destul de uşor situaţii în care dispozitivul nu este identificat corect. In această situaţie este recomandată o abordare mai pragmatică ce implică definirea de metode proprii care să simuleze execuţia metodei IsMobileDevice.
Informaţiile ce pot fi analizate pentru a identifica platforma utilizatorului sunt obţinute prin intermediul metodei UserAgent pentru obiectul HttpContext.Current.Request.
De exemplu, pentru un telefon mobil Nokia N95, datele puse în cererea HTTP sunt
Mozilla/5.0(SymbianOS/9.2;U;Series60/3.1NokiaN95_8GB/15.0.015; Profile/MIDP-2.0Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
Utilizand emulatorul Windows Mobile 6 Professional (este disponibil pentru Visual Studio 2005 si 2008 descarcand Windows Mobile 6 Professional and Standard Software Development Kits de la adresa http://www.microsoft.com/downloads/en/default.aspx)
protected void Page_Load(object sender, EventArgs e)
{
if(Request.Browser.IsMobileDevice)
Server.Transfer(”MobileVersion/Default.aspx”);
else
if(Request.UserAgent.ToString().ToLower().Contains(“nokia”))
Server.Transfer(”MobileVersion/Default.aspx”);
}
Aceste profile de dispozitive mobile pot fi inserate in Web.config sau in fisiere XML externe astfel incat sa fie gestionate fara a modifica codul aplicatiei. O solutie devoltata pentru a genera astfel de profile poate fi descarcata de la adresa http://www.asp.net/mobile/profile/default.aspx.
Aceasta solutie poate fi utilizata si pentru dezvoltarea de aplicatii ASP.NET utilizand Visual Studio 2008. Diferentele dintre cele doua medii de dezvoltare sunt vizibile la abordarea continutului unei pagini ASP.NET destinata dispozitivelor mobile. Pentru Visual Studio 2005 exista conceptul ca browser-ele mobile au capacitati reduse, lucru adevarat la nivelul anilor 2004 – 2005. In prezent, aceste aplicatii au evoluat suficient de mult astfel incat sa fie capabile sa interpreteze continutul la fel ca un browser clasic, destinat PC-urilor.
Niciun comentariu:
Trimiteți un comentariu