Title: Dispositius mòbils & WebAPPs
Course: CFGS - Desenvolupament d'aplicacions web > Section: Planificació d'una aplicació mòbil

Dispositius mòbils

Dispositius mòbils e internet

Actualment una tercera part de la població amb una edat de 10 anys ja utilitza la telefonia mòbil. De fet, l’ordinador portàtil ha superat per primer cop al de sobretaula com a principal mitjà per accedir a Internet des de les llars, dos de cada tres internautes disposa d’un smartphone i un de cada sis disposa d’una tauleta.

El telèfon mòbil actualment és una eina universal, el nombre de subscripcions anuals equival al 85% de la població mundial i en els països desenvolupats supera el 100% ja que molts usuaris tenen diverses línies. Aquest fet s’ha produït gràcies a l’abaratiment dels serveis.

L’any 2011 va estar l’any de l’explosió dels terminals mòbils intel•ligents o smartphones ja que durant aquest any varen duplicar la seva quantitat. Aquesta taxa de penetració encara no ha arribat a les tauletes, malgrat la previsió és que aquests dispositius tinguin un gran índex de penetració a nivell mundial, fins al punt d’arribar a posar en perill d’altres dispositius com poden ser els portàtils.

Cloud & Social

Un dels grans beneficis d’aquesta multiplicitat de xarxes i dispositius d’accés ha estat la possibilitat d’accedir de forma transparent als serveis des de qualsevol lloc, encara que el fet de la multi plataforma i el multi dispositiu planteja la necessitat de fer desenvolupaments específics per a cada servei i proveir-los d’algun mecanisme que permeti un pas ràpid entre plataformes o dispositius. Per aconseguir aquesta fita, cal seguir standards prou robustos i prou sòlids que fonamentin el desenvolupament futur i que permeti que es pugui accedir als serveis des de qualsevol de les plataformes existents.

Aquesta situació queda força resolta amb l’arribada del standard HTML5 que durant l’any 2012 ha experimentat una evolució cap a la generalització. De fet algunes de les característiques que s’incorporen en aquest standard fins ara només estaven disponibles en plataformes propietàries. Sota aquest paraigües podem trobar altres tecnologies com CSS3, Javascript amb frameworks com JQUERY o JSON que permeten un standard més universal i s’han convertit en la tecnologia de referència en el desenvolupament d’aplicacions web i fins i tot en alguns desenvolupaments mòbils.

En un món multi plataforma es fa necessària l’existència de estàndards sòlids que evitin la necessitat de desenvolupar aplicacions específiques segons el dispositiu destinatari.

Segons el NIST (National Institute of Standards and Technology), el cloud computing o computació en el núvol, és un model tecnològic que permet l’accés ubic adaptat i sota demanda en xarxa amb un conjunt compartit de recursos.

Les solucions cloud, aporten una sèrie d’avantatges segons el col•lectiu o sectors als que pertanyi l’usuari. Les empreses eviten assumir inversions i la solució es pot redimensionar fàcilment segons les seves necessitats i sempre disposen de la darrera actualització del software. Malgrat aquestes destacables avantatges, les empreses desconeixen en gran mesura el cloud computing.

Per als ciutadans, el cloud millora l’accés als serveis personals i a la gestió de la informació. De fet el cloud computing ha facilitat serveis i plataformes que en poc temps s’han convertit en moviments de canvi social. Els exemples més evidents són la utilització de les xarxes socials, l’emmagatzematge virtual de correus electrònics o de contingut multimèdia, l'ofimàtica en el núvol o fins i tot continguts basats íntegrament en el núvol com la música o la televisió.

Les xarxes socials a internet sorgeixen amb força i contribueixen al desenvolupament de nous espais de comunicació i de noves formes de fer negocis en xarxa. Les principals aportacions de les xarxes socials consisteixen en donar un espai als usuaris que els permeti ampliar les relacions que ja es duen a terme en el món real.

Una de les principals claus de les xarxes socials és la immediatesa de la informació i per aquest motiu els usuaris empren aquestes xarxes per comunicar-se amb amics o familiars, compartir informació o consultar informació sobre diversos temes.

Plataformes mòbils

Actualment en el món dels dispositius mòbils existeix força fragmentació en tots els nivells. En la següent graella es poden observar les diferències respecte a llenguatges i entorns de programació segons les plataformes. També és cert que aquest ventall d'opcions es va reduïnt i quedant limitat als entorns Android, iOS, Windows Phone, Blackberry.

Aquesta fragmentació també ve donada per la disponibilitat dels sensors dels propis dispositius mòbils. Aquesta característica fa que els mateixos sistemes estiguin limitats pel que fa a funcionalitats. Tal i com es pot veure en la taula següent, no hi ha una uniformitat de sensors i opcions en tots els dispositius, fins i tot dins del mateix sistema, ja que hi ha marques que implementen sensors segons la tipologia de dispositiu.

Aquests fets presenten una dificultat afegida a qualsevol producte mòbil: la necessitat de disposar de tants equips de desenvolupament com famílies de dispositius mòbils vulguem proveir.

Actualment darrera de qualsevol dispositiu mòbil podem trobar-hi un navegador i aquests utilitzen els estàndards W3C en diferents mesures, sempre subjectes al navegador en particular. Aquest fet passarà a ésser el principi de la solució. Fins i tot en el punt de vista dels PCs, els navegadors també segueixen el mateix estàndard, amb la qual cosa podem obtenir un producte basat en un sol llenguatge i que proveeixi a tots els dispositius, igual que fa el web amb els navegadors, basant-nos en el estàndard HTML5/CSS3.

WebAPPs

Partint d’aquest inici i que tots els dispositius són capaços d’embedir una vista web, podríem comunicar una interfície HTML/Javascript/CSS amb el codi nadiu del dispositiu.

Les actuals WebAPPs es basen en la mateixa idea. L'aplicació és desenvolupada en els standards HTML/CSS/Javascript i aquests interaccionen amb el dispositiu mitjançant una capa intermitja. Aquesta metodologia ens permet desenvolupar aplicacions per múltiples dispositius d'una forma més eficient.

Cordova as WebAPP Framework

Aquesta és la funcionalitat de Cordova (https://cordova.apache.org) que permet el desenvolupament d’una app emprant com a llenguatge HTML5/JavaScript/CSS i mitjançant crides Javascript comunicar-nos amb el dispositiu i els seus sensors. Això ens permet desenvolupar una sola aplicació i de forma automàtica disposar de la mateixa app per a les plataformes iPhone, Android, Blackberri i webOS. Cordova permet accedir als sensors de la major part de smartphones actuals.

Des de la mateixa API Cordova podem accedir als diferents components natius del dispositiu, si en disposen. En cas que no disposin d’algun d’aquests elements, la mateixa API en gestiona l’error per fer-ne un tractament acurat a la nostra aplicació.

- Acceleròmetre
- Càmera
- Brúixola
- Contactes
- Arxius
- GEO localització
- Multimèdia (so, vídeo...)
- Xarxa
- Notificacions
- Emmagatzematge

Més informació:

[ Documentació API Cordova ]