Desarrollo Web para Dispositivos Móviles PDF
Desarrollo Web para Dispositivos Móviles PDF
Desarrollo Web para Dispositivos Móviles PDF
PARA DISPOSITIVOS
MVILES
HERRAMIENTAS PARA DISEAR Y PROGRAMAR W EBA PPS
RedUSERS
t S
TIT U L O :
AUTORES:
Fernando Luna
C O LE C C I N :
Manuales Users
FO RM ATO:
24xl7cm
PG INAS:
320
Copyright O MMXIV. E s una publicacin de Fox Andina en coedicin con DLAGA S.A. Hecho el depsito que m arca la ley 11723.
Todos los derechos reservados. E s ta publicacin no puede ser reproducida ni en todo ni en parte, por ningn medio actual o
futuro sin el permiso previo y por escrito de Fox Andina S.A . Su infraccin est penada por las leyes 11723 y 25446. La editorial
no asume responsabilidad alguna por cualquier consecuencia derivada de la fabricacin, funcionamiento y/o utilizacin de los
servicios y productos que se describen y/o analizan. Todas las m arcas mencionadas en este libro son propiedad exclusiva de sus
respectivos dueos. Impreso en Argentina. Libro de edicin argentina. Primera impresin realizada en Sevagraf, Costa Rica 5226.
Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Aires en X, MMXIV.
ISBN 978-987-1949-83-0
L u n a , Fern a n d o
D e s a r r o l l o w e b p a r a d is p o s it iv o s m v il e s . - l a e d . - C i u d a d A u t n o m a d e B u e n o s A i r e s : F o x A n d i n a ;
B u e n o s A ir e s : D a la g a , 2 0 1 4 .
3 2 0 p . ; 2 4 x 1 7 cm . - (M a n u a l u se rs; 2 6 9 )
ISB N 978-987-1949-83-0
1 . In f o r m t ic a . I . T tu lo
CDD 005.3
USEftS
P R E L IM IN A R E S
Fernando Luna
Es diplom ado en desarrolllo de
aplicaciones para d isp o sitivo s m viles
y actualm ente se desem pea com o ana
lista funcional de sistem as. Realiza tareas
de relevam iento, diseo, prototipado y
especificaciones tcnicas para brindar
soluciones inform ticas.
Colabora con las revistas USERS
y POWER USERS y en vario s blogs de
program acin y tecnologa.
En el ao 2011 lanz su p rim er libro,
Dedicatoria
Esta nueva obra est dedicada a m is hijos Nicols y Ju lin , que son el com
bustible que im pulsa mi m otor de aprendizaje y constante mejora.
A mi com paera de vida, Laura, quien me brinda la perfecta arm ona em o
cional; y a mis viejos, quienes siguen ilum inando desde el ter mi cam ino por
este mundo.
Agradecim ientos
Sin duda no puedo d ejar de agradecer a la ed ito rial por el constante
ap oyo y o rientaci n p ara que mi segundo sueo se co n vie rta en realidad.
Tam bin a mi fa m ilia, q uienes siguen respetando mis tiem p o s y acom pa
ndom e en el sueo de ser autor.
www.redusers.com
USERS
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Prlogo
Mi infancia estuvo acom paada de algn que otro juguete
electrnico y tam bin de la pasin de mi padre por la msica
contem pornea, quien hizo que me criara desde tem prana edad
rodeado de tocadiscos, com binados y grabadores m onoaurales.
Por suerte (o por desgracia), la profesin de mi progenitor
lo oblig a tener soldadores y destornilladores de todo tipo,
y fueron estas herram ientas las culpables de incitarm e a saciar
mi fanatism o por la electrnica, a conocer ms de cerca cada
com ponente que conform aba los artefactos.
En mi ad olescencia me ocup de aprender los secretos de
la electrnica aplicado s al m undo de la radio, el audio y la co m
putacin, en el m om ento en que a esta ltim a an se la llam aba
"electrnica d ig ital.
Ya con la pedagoga m oldeada, gracias a mi amigo Hernn,
del m aravillo so m undo del silicio, las placas conductoras y las
m em branas d ielctricas, realic un paso fugaz por el mundo
de las com unicaciones entre radioaficionados.
Luego lleg mi prim era com putadora, una 80286 con 2 MB
de m em oria RAM, con la que com enc a dar m is prim eros
pasos en el m bito de la com putacin: prim ero, com o operador
ofim tico y diseador grfico; despus llegaron la anim acin
y el diseo asistido por com putadora; y, por ltim o, la progra
macin. En mi caso, la ltim a fue la vencida.
Los ltim os protagonistas que generaron inters en m
fueron los BBS, seguidos de internet. Estas inm ensas centrales
de inform acin que crecen da a da term inaron de fo rjar mis
conocim ientos y mi pasin por este m a ravillo so m undo digital.
La evo lu ci n tecnolgica sigui avanzando, y hoy encuentro
conjugados, en cualq uier d isp o sitivo m vil, los cuatro elem en
tos que m arcaron mi pasin por el desarrollo de aplicaciones
para este pequeo m undo de bolsillo: la electrnica, la in fo rm
tica, las com unicaciones y la program acin. Esta ltim a es, sin
dudas, la que me perm ite estructu rar y m oldear la m anera en
que quiero d isfru tar de las otras tres.
www.redusers.com
t/ S E / ?S
P R E L IM IN A R E S
El libro de un vistazo
Esta obra est destinad o a d ise ad o res web, program adores y e n tu sias
tas de la tecnologa que deseen crear o ad ap tar un sitio w eb a los d isp o s i
tivo s m viles. A lo largo del libro b rin d arem o s co no cim ien to s tiles para
d isear y p rog ram ar W ebApps d inm icas y explotarem os las capacidades
del h ard w are de estos d isp o sitivos.
C o n la s n o c io n e s b s ic a s d e e s t e fra m e w o rk ,
p e n s a m o s q u e la re vo lu c i n d e e s t o s e s
e x p lo ta re m o s la s o p c io n e s q u e e s t e n o s brinda
m u y re c ie n te , p e ro e n v e rd a d lleva d c a d a s
a t r a v s d e lo s w id g e ts . C o m p o n e n te s q u e
g e s t n d o s e . C o n o c e r e m o s la h is to ria y e v o lu c i n
d ife re n te s p la ta fo rm a s m v ile s e n la s q u e se
c o m p e t id o r e s y la s h e rra m ie n ta s n e c e s a r ia s
d e s p le g a r n u e s tro p r o y e c to w e b .
p a ra in g r e s a r e n e l d e s a r ro llo d e a p lic a c io n e s .
L / l/ l/
HTML5
H T M L 5 e s e l le n g u a je q u e c o n ju g la tra n s ic i n
H a b ie n d o c o n s o lid a d o e l le n g u a je H T M L 5
d e s itio s w e b , d e e s c r it o r io a m v ile s .
c o n jQ u e ry M o t )ile y J a v a S c r i p t , e s t e c ap tu lo
C o n o c e r e m o s su s fu n c io n e s d e s t a c a d a s e
n o s p e rm itir e x p lo ra r a l m x im o la s d iv e rs a s
in g r e s a re m o s al m u n d o d e la s c o m u n ic a c io n e s
c a p a c id a d e s di 3 c o m u n ic a c i n q u e p u e d e
d e la m a n o d e la g e o lo c a liz a c i n .
l/ l/ l/
LENGUAJE S DE PROGRAMACIN
p r o g r a m a d o r e s h e rra m ie n ta s p a ra c r e a r
E l c o n te n id o d in m ic o de la W e b n o s p e rm ite
una e s tr u c tu r a w e b m vil y fu n c io n a l.
c o m p le m e n ta r H T M L 5 , jQ u e ry M o b ile, Ja v a S c r ip t
A p r e n d e r e m o s a u tiliz ar e s t e fra m e w o rk , q u e
y el a c c e s o a l h a rd w a re d el d is p o s itiv o c o n
n o s s o lu c io n a r f c ilm e n te la a rd u a ta r e a de
el le n g u a je d e p ro g ra m a c i n P H P y la b a s e
d is e a r e s t t ic a m e n t e una w e b h o m o g n e a
de d a to s M y S Q L , p a ra d e s a rro lla r s o lu c io n e s
y m u ltip la tafo rm a.
www.redusers.com
USERS
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
* 0 7
PHONEGAP
ALMACENAMIENTO LOCAL
Y APLICACIONES OFFLINE
E n e s t e c a p t u lo in t r o d u c ir e m o s el
O tro a v a n c e surgido d e la p la ta fo rm a H T M L 5
f r a m e w o r k P h o n e G a p y e l s e r v ic io
e s la c a p a c id a d d e a lm a c e n a r in fo rm aci n en el
P h o n e G a p B u ild , q u e p e r m it e c o n v e r t ir una
W e b A p p p a r a m v ile s e n u n a a p p q u e p o d r
lo s fu n d a m e n to s b s ic o s d e la utilizacin d e W e b
d is t r ib u ir s e en la s p r in c ip a le s t ie n d a s d e
S t o r a g e , W e b S Q L , In d ex ed D a ta b a s e y A p p C a c h e
a p lic a c io n e s m v ile s .
*na
|V|/ *AeA
E l s is t e m a o p e ra tiv o m vil d e A p p le p re s ta
I
|
l/ l/ l/
n o v e d o s a s c a p a c id a d e s p a r a W e b A p p s . Aqu
la s a p r o v e c h a r e m o s , m o d ific a n d o d e fo rm a
t ra n s p a r e n t e n u e s tra s a p lic a c io n e s w e b
p la ta fo rm a s virtuales, en c a s o d e n o p o s e e r los
I
i
A n d ro id a d o p t la s c a p a c id a d e s p r e s t a d a s p o r
E s t e a p n d ic e e n g lo b a lo s fu n d a m e n to s de
e l n a v e g a d o r w e b S a f a r i. C o n o c e r e m o s c m o
F ire fo x O S , su s im u la d o r y la a rq u ite c tu ra d e
a g r e g a r u n a a p lic a c i n w e b al e s c r it o r io de
s u s a p lic a c io n e s . T a m b i n v e re m o s la s b a s e s
A n d ro id . L u e g o r e p a s a r e m o s la s s o lu c io n e s
p a r a d istrib u ir n u e s t r a s W e b A p p s e n M ozilla
q u e o tr a s p la ta fo rm a s o fre c e n e n e s t e te rre n o .
M a rk e tp la c e .
IN FO R M AC IO N C O M P LE M E N TA R IA
A lo largo de este manual, podr en co ntrar una se rie de recu ad ro s que le brindarn inform acin com plem entaria:
curio sid ad es, tru co s, id e a s y con sejo s so b re los te m a s tratad o s. P a ra que pueda distinguirlos en form a m s sencilla,
c a d a recuadro e s t identificado con diferentes iconos:
CURIOSIDADES
E IDEAS
ATEN CIO N
DATOS UTILES
SITIO S W EB
Y NOVEDADES
www.redusers.com
E S IS
P R E L IM IN A R E S
Contenido
Sobre el a u to r............................................................................ 4
P r lo g o
..........................................................
34
E l lib ro de un v is ta zo ...............................................................6
H T M L 5 ........................................................................ 36
C S S .................................................. ............................ 37
In tro d u c c i n ............................................................................12
Ja v a S c r ip t .................................................................... 38
Lib rera s y fram ew orks m viles................................ 39
Entornos de d e s a rro llo ...............................................41
R e s u m e n .................................................... - .............................43
Plataform as y tecnologas
m viles
18
I
HTM L5
E l le nguaje H T M L 5 .............................. - ............................. 46
20
Su principal objetivo................................................... 46
IO S .........................................................................................22
D o ctyp e........................................................................ 50
A n d ro id ........................................................................ 23
C h arset......................................................................... 52
W in d o w s P h o n e ...........................................................24
B la c k B e r r y ................................................................... 25
Otros sistem as op erativos.......................................... 26
............................. 56
63
R e s u m e n ..................................................
71
Apps hbridas............................................................... 32
Fundamentos de jQ u e ry Mobile
Qu es jQ u e ry M ob ile?........................................................74
hOlh
1 i 01
1 E
-
www.redusers.com
E s tru c tu ra y w id g e ts ............................
80
USEMOS
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
P a g e .............................................................................. 80
H e a d e r......................................................................... 81
C o n te n ......................................................................... 81
F o o t e r ...........................................................................82
Navigation B a r ............................................................ 83
Transitions.................................................................... 84
Dialog P a g e ..................................................................86
E je rc ic io p r c tic o ..................................................................87
C re a r la estructura H T M L ......................................... 88
R e s u m e n .................................................................................103
A c tiv id a d e s ...................................
104
I
Interaccin con el hardware
de com unicaciones
9 ^FAHMlNG
L a W eb y el hardware
A li!u u y >
r o n w * lo * K t i* o o i|.
c a v T t a u i r o i " t o t cU t 10 D' a urctooa:
fe s
lo s O rg n ico s
p i t e *
<on l * n c t <
gmar.rn> te n c u a , aowi. . I *
P ro d u c to s Hld
n<T>Brua quMkCoa
mr
^ PoaMu
ru olM . i
C2J
i3>
=>
I T*
U n a solucin v ia b le ..................................................168
Com ponentes de
jQ u e ry Mobile
C o m p o n e n te s .......................................................................106
E je rc ic io in te g ra d o r............................................................ 128
Adaptacin a las pantallas de tab lets.....................128
R esum en
............................................................... 141
www.redusers.com
10
P R E L IM IN A R E S
E v o lu c i n
........................................................................176
Q u e s P H P ? ........................................................... 178
229
233
234
A p p C ach e...................................................................234
M y S Q L ....................................................................... 188
R e s u m e n .................................................. ..............................237
P H P y M y S Q L .............................................................
195
.199
/ ---* cu
MIMIMi
iin
iftiautft
200
* tJ,-
.216
.215
w
llM
lIMtaM
**
"""
....
...........................240
R e s u m e n ..................................................
257
218
Comprobacin de compatibilidad
www.redusers.com
.260
11
USERS
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
L a generacin B B 1 0 ................................................293
H erram ientas de desarrollo p ara B B 1 0 ................ 293
1 1 1
Firefox OS
E l sim u la d or.................................................................
R esum en
............................................................. 271
A c tiv id a d e s
............................................................. 272
PhoneGap
In tr o d u c c i n .........................................................................274
A r q u it e c tu r a ............................................................. 275
D re a m w e a v e ry P h o n e G a p ..................................... 276
277
R e s u m e n ................................................................................. 289
A c tiv id a d e s ............................................................................ 290
www.redusers.com
12
USEFtS
P R E L IM IN A R E S
Introduccin
Si segm entam os los notables avances que tuvieron lugar en
las ltim as dos dcadas en m ateria de evolucin tecnolgica,
podem os resum irlos en tres actores im portantes: la com p uta
dora personal, internet y la telefona m vil. Debemos destacar,
adem s, que este ltim o actor tuvo su propio Big Bang dentro de
la evolucin m encionada, dado que no solo p erm iti com unicar
a las personas en cualq u ier punto donde se encuentren, sino que
tam bin supo tom ar lo m ejor de los prim eros dos actores y co n
ju g a rlo en un nico producto.
De este m odo, la te le fo n a m vil logr consolid arse com o el
p u nto de p artid a de todas las a ctivid a d es relacion ad as al uso
co tid ian o de servicio s. A travs de ella, ho y en da podem os
re aliz ar m ltip les y va ria d as tareas, entre las que podem os
m encionar: establecer co ntacto social con nuestro s pares, e n
v ia r y re cib ir m ensajes de correo electrnico, m irar nuestras
series o p elcu las favo ritas, re aliz ar llam ados telefnico s, leer
libros electrnicos, establecer una agenda de activid ad es,
co m p rar p ro d u cto s y servicio s, n aveg ar p or in ternet y hasta
p rep arar una receta de cocina.
Com o d esab o llad o re s de aplicacio nes inform ticas b uscare
mos, a travs de esta obra, explotar estas nuevas tecnologas a
p artir del desarrollo de soluciones que apro vechen los recursos
que nos brinda hoy un telfono inteligente o una tablet.
G racias a la constante actualizacin de la tecnologa basada
en la Web, estas solu ciones pueden llevarse adelante tanto desde
una aplicacin n ativa instalada en un d isp o sitivo com o desde
una pgina web cargada en nuestro navegador m vil favorito.
Los in vitam o s a descubrir, en las prxim as pginas, cmo
podem os explotar cada una de las caractersticas que brindan
los d isp o sitivo s m viles, enfocndonos en la arquitectura de
hardw are y softw are que cada uno de estos pequeos artefactos
pone a disp osicin del usuario.
www.fedusers.com
z o
\\\\\\\\\\\\\\\
///////////////
Plataformas y
tecnologas mviles
En e ste c a p tu lo c o n o c e re m o s la e v o lu c i n d e la te c n o lo g a
m v il y w e b . V e re m o s c m o esta ltim a se a d a p t al p e q u e o
m u n d o de lo s d is p o s itiv o s m v ile s h a c ie n d o q u e un s im p le
te l fo n o se c o n v irtie ra , en c o rto tie m p o , en un s m a rtp h o n e .
T a m b i n c o n o c e re m o s lo s p rin c ip a le s sis te m a s o p e ra tiv o s
m v ile s , las d ife re n c ia s e n tre W e b A p p , a p p n a tiv a y a p p
h b rid a , y cu les so n los fra m e w o rk s m s p o p u la re s .
Plataformas mviles................. 22
Resumen......................................43
Aplicaciones m viles................ 30
Actividades................................. 44
14
F Z n iH
1 . P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
LA P R IM E R A V E R S I N
D E U N A T A B L E T FUE
LA A P P L E N EW T O N ,
LA N Z A D A EN LA
D C A D A D E 1990
www.redusers.com
E S S 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
15
\\)
R ED U S ER S PREM IUM
P a ra
ingrese
a la
s e cc i n
P u b lic a c io n e s / L ib ro s dentro d e
www.redusers.com
16
USEftS
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
Un nuevo panorama
En 2007, el panoram a mobile cam bi por com pleto. Apple
present el iPhone, las netbooks explotaron en ven tas y, un ao ms
tarde, ap areciero n las tablets. As fue com o la tecnologa que haba
su rg id o entre diez y q uince aos antes reapareci en el m ercado
com ercial con otro fo rm ato y de la m ano de nuevos jugad ores. Ju n to
con ellos, llegaro n los app stores o tiendas de ap licacio nes. Estos
facto res p erm itie ro n a b rir el m ercado de ganancias, no solo a las
co rp o racio n es que d esarro llan estos p roductos, sino a cu alq u ier
p a rtic u la r o pequea co rp o raci n . D entro de estos m ercados, los que
m s generan ingresos ho y son los de la telefo n a m vil, con su batera
de apps g ratuitas y pagas, seguidos p or el m ercado de las tablets.
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
USE&S
Android
IOS
Se rie s 40
Sa m su n g
Blackberry OS
W ind ow s Phone
www.redusers.com
c_/si=*?s
18
1. P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
Pese a los esfuerzos realizados p or las firm as IT, iPad rom pi todas las
reglas y no consigui tener un com petidor decente que le hiciera frente.
El mundo web
Si b ien en las ln e a s a n te rio re s d e sc rib im o s lo que es una
C o n e ctiv id a d a internet.
A lm a ce n a m ie n to de d o cu m en to s vario s.
IN IC IO S DE LA T E C N O L O G A W A P
W ire le s s A p p lic a tio n P r o to c o l n aci c o m o un e s t n d a r a b ierto p ara a p lica c io n e s que se com unican
d e m a n era
e s ta b le c i un conjunto
de p ro to co lo s que
norm aliz la
m anera
d e e n te n d e rs e entre dispositivos inalm b rico s, co n el objetivo de a c c e d e r a los princip ales se rvicio s web
(e-mail, new sletter, w eb).
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
-i
www.redusers.com
20
c_/si=*?s
1. P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
E L IP A D EN L A U N IV E R S ID A D
D e sd e el lanzam iento d e iPa d en 2 0 1 0 , m u ch a s u niversid ad es em p ezaron a tom ar en serio e s te d ispositivo
c o m o herram ienta d e aprendizaje. U n a de la s p rim e ra s fue Se to n Hill University (w w w .s e to n h ill.e d u ), que
d esd e abril de e s e ao co m en z a utilizar e s te dispositivo c o m o h erram ienta p a ra to d o s su s alumnos.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
C23
www.redusers.com
22
c_/si=*?s
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
Plataformas mviles
El m ercado m o b ile d isp o n e de un nm ero im p o rta n te (y d ifc il
de c a lc u la r) de p lata fo rm a s m vile s que agrup an tanto a los telfonos
in te lig e n te s com o a las tab lets y d isp o s itiv o s h b rid o s (aq u ello s que
co n ju g an una tab let con una co m p u ta d o ra p o rt til).
D entro de este m ercad o a m p lio y lle n o de m arcas y m odelos,
lo que m s im p o rta a un d e sa rro lla d o r es la p lata fo rm a basad a en
so ftw are, ya que la Web m vil se enfoca siem p re en el softw are,
que es el encargad o de in te rac tu a r con el h a rd w are en s.
Por ello, nos ce n trarem o s en co n o ce r los sistem as o p e ra tivo s
que actu a lm e n te existen, con sus lim ita cio n e s y co in cid e n c ia s
en el m und o m vil.
OS
Este sistem a o p e ra tivo es p ro p io de la firm a A p ple. Fue
d e sa rro lla d o en 2006, para se r in teg rad o al la n z a m ie n to de iPhone
en el ao siguiente. In icia lm e n te este sistem a o p e ra tiv o no ten a un
nom bre d efin id o tal com o lo conocem os ahora; sim p le m e n te , se lo
llam aba iPhone OS.
A p p le afirm aba que iPho ne co rra una ve rsi n a d ap ta d a de OSX.
L A T E C N O L O G IA W A P DIA A DIA
La p rim era lleg ad a d e internet a los telfo n o s m viles fue a tra v s d e la tecn o lo g a W AP, q u e utilizaba la
frecu en cia p o rta d o ra de se a l telef n ica p a ra en viar y re cib ir d a to s. L o s n aveg a d o res w e b m o strab an
p g in as sim ilares (texto e im g en es) a ia s utilizadas en la d c a d a del 90.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B s s a
23
Android
El s iste m a o p e ra tivo A n d ro id , actu a lm e n te
p ro p ied ad de G oogle Inc., tu v o sus org enes
com o un sistem a o p e ra tiv o m vil in d ep en d ien te,
p ro p ied ad de A n d ro id Inc.. En base al inters
de Google p or el m ercad o de d isp o s itiv o s
m vile s, la firm a v io que el m und o su cu m b i a
CUAN D O G O O G LE
C O M PR A N D RO ID ,
CO M EN Z A A D A P T A R
E L S IS T E M A A S U S
N E C E S ID A D E S
www.redusers.com
24
USEftS
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
Windows Phone
M icrosoft tam bin irru m p i , en 2010, en el m ercado de la telefona
m vil con su sistem a o p e ra tivo W indows Phone. Este fue una
re in g en iera co m p leta del v ie jo sistem a o p e ra tivo W indows Mobile,
que no haba logrado inters en la p oblacin y que M icroso ft tam bin
haba dejado ab and o nad o en su m om ento.
A co rralad a p or el creciente uso de d isp o sitivo s m viles, la firm a
de Redm ond d ecid i ingresar en este terreno desde cero, con un nuevo
desarrollo. W in d o w s Phone, al m om ento de e scrib ir esta publicaci n,
se e n cu en tra en su ve rsi n 8.1, aunque en el m ercado se encuentran
m u chos d isp o sitiv o s de ve rsi n 7.x activos.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
[g s a s a
25
BlackBerry
RIM se reb au tiz en 2013 com o BlackBerry para u n i ca r la
im agen de la co m p aa con la de sus p ro d ucto s estrella. Black Berry
actu alm ente se encuentra en la ve rs i n 10.2.1. A p a rtir de la ve rsi n
10.0, realiz una re ing en iera co m p le ta de su
p latafo rm a m vil, al tom ar el sistem a o p e ra tivo
B L A C K B E R R Y P E R D IO
M ER C A D O PO R NO
H A B E R A C TU A LIZA D O
A T IE M P O SU S IS T E M A
O PER A T IV O
09:00
-V
ir
&
<***
a n
Z //
|j MmL
W
~ ir *
r
m tx O
o
www.redusers.com
26
c_/si=*?s
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
Firefox OS
La Fundacin Mozilla, d uea de la p lata fo rm a open source
lid e ra d a p or Firefox B ro w ser y T h u n d e rb ird . entre otras grandes
a p lica cio n e s, d e c id i in c u rs io n a r en 2012 en el terren o de un sistem a
o p e ra tiv o m vil. El im p u lso que lle v a M o z illa a este te rre n o fu e el
cre cie n te in te rs p o r p arte de los u su a rio s en la n ave g aci n web y en
el uso de a p lic a cio n e s que se e je cu ta n d en tro de un brow ser. Teniendo
el re sp ald o de un gran m ercad o de u su ario s y la p o p u la rid a d lograda
por H TM L5, CSS3 y Ja v a S c r ip t com o base fu n d a m en tal de tecn o log a
en el m undo web, M o z illa, co n el ap o yo de T elef n ica de Espaa,
d e c id i crear un s iste m a o p e ra tivo m vil que tom ara com o filoso fa
las a p lic a cio n e s w eb b asad as en los tres p ila re s fu n d a m e n ta le s de la
Web de hoy.
A s n aci Firefox OS, ap un tad o en un p rin c ip io para m ercados
em ergentes. Firefo x OS se in teg ra con telfo n o s in te lig e n te s de baja
y m edia gam a, com o un sm artp ho n e que fu n cio n a basado en IIT M L5 ,
CSS y Ja v a S c rip t. Todas las a p lic a cio n e s n a tiva s que se in sta le n en el
d is p o s itiv o d eb ern ser d e sa rro lla d a s co n las tres tecno log as p ilares
de la Web de hoy, y no b ajo fram e w o rk s p ro p ie ta rio s com o XCode,
RIM
La e m p re s a c a n a d ie n s e c re a d o ra d e B la c k B e rry an sigue dom inando m u ch o s m e rc a d o s, principalm ente
en La tin o a m rica , donde su ahora anticu ad a g a m a d e eq u ip o s m viles, con ve rs io n e s de sistem a
o perativo 6.x y 7.x, tod ava sigue d eslu m b ran do a la g en te co n la co m o d id a d de un te c la d o Q W ERTY.
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
E s s a
Tizen
Este sistem a o p e ra tivo m vil nace de un p ro ye cto en co n ju n to de la
Figura 8. Bajo un look que los empareja bastante, Firefox OS y Tizen OS buscan
ser los protagonistas en la prxima revolucin de sistemas operativos mviles.
Ubuntu Phone
Canonical, la firm a cread o ra de U bu n tu Linux, el sistem a
o p e ra tiv o Lin u x ms p o p u la r de la ltim a dcada, tam b in d ecid i
www.redusers.com
28
c_/si=*?s
1. P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
U bu ntu Phone.
A l m o m en to de e s c rib ir esta obra, U b untu Pho ne no ha sido
lanzado al m ercad o . Se estim a que, p ara fines de 2014 o in icio s
de 2015, este sistem a o p e ra tiv o co m en z ar a ser d is trib u id o en
d ife re n tes m odelos de equip o s.
S existe una v e rs i n in sta la b le de este sistem a o p e ra tivo en
algunos te rm in a le s A n d ro id ms p o p u lares, com o ser Samsung
Fire
F IR E O S C O R R E E N
D IS P O S IT IV O S K IN D L E
os
Y E S T BA SA D O EN
E L CDIGO F U E N T E
D E AN D RO ID
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
EseabCh
f ' ta itt |
H om e
r K#B*o<Jy
Mulle
Nokia
N okia to d a v a m a n tie n e su ln e a de e q u ip o s S40, b asad o s en el
s iste m a o p e ra tiv o h o m n im o , b ajo la ln e a Asha. Sym bian fu e otro
sistem a o p e ra tiv o lan z ad o p or N okia que an m a n ten a su e co sistem a
de a p lic a c io n e s p ro p ie ta ria s . Pero fu e d e te rm in a d a su d isc o n tin u id a d
al m o m en to del a n u n c io o ficia l de la co m p ra de esta firm a p or parte
de M icro so ft.
Casi todos los sistem as m e n cio n ad o s poseen las m ism as
ca ra cte rsticas: in teg ran ap ps p ro p ie ta ria s d escarg ables desde
sus re sp e ctiv as tien d as de a p lic a cio n e s, poseen GPS, acelerm etro ,
n a ve g ad o re s web con soporte para H TM L5, co n e ctivid a d a in te rn e t
m e d ian te 3G y 4G, y u tiliz a c i n de Wi-Fi para el m ism o p ro p sito .
www.redusers.com
30
H SSS
1 . P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
Aplicaciones mviles
Si bien el h ard w are y la v a rie d a d de sistem as o p e ra tivo s son
las e strella s ms im p o rtan tes del m o m en to en el eco sistem a m vil,
no pod em os p asar p or alto que todos estos p io n e ro s no se ra n nada
si no e x istieran las tien d as de ap licacio n e s.
Estas tie n d a s poseen cie n to s de m iles de ap ps pagas o gratuitas
que p erm iten in te rac tu a r de d iv e rs a s m an eras a tra v s del d isp o s itiv o
m vil, u tiliz a n d o las b on d ad es del h ard w are de cada equ ip o , al que
solo usan para in g re sar in fo rm aci n im p o rta n te para el usuario,
o sim p le m e n te para ju g a r los vid e o ju e g o s de
m oda, entre otras a lte rn a tiv a s ms.
E L M ERC A D O DE
L A S A P L IC A C IO N E S
NO S E L IM IT A SOLO
A A P L IC A C IO N E S
IN S T A L A B L E S
www.redusers.com
E E S 3
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
to* 4
&
31
Co*
WebApps
W e b A p p p ro vien e de la co n ju n ci n de las palabras en ingls W eb
Application (ap licaci n web). Este tipo de a p lica cio n e s son accedidas
m ediante la Web o una red Intran et. Para acced er a ellas, el requisito
esencial es contar con un naveg ad o r web que p erm ita ejecutarlas.
De este m odo, una W ebApp puede categ orizarse com o un program a
in form tico, con la d ife re n cia de que se ejecuta desde un b ro w ser web.
Su e stru ctu ra est co nfo rm ad a m ayorm ente por: H TM L, CSS,
Ja v a S c rip t, y/ o algn otro lenguaje de p ro g ram acin que trabaje
del lado del se rv id o r (PHP, ASP.Net, Pytho n, Ruby, CGI, Perl, etctera).
U N O , DOS 0 MS D E S A R R O LLO S ?
Una
de
b uena
p ra c tic a
m viles
se
da
de
la
m ano
www.redusers.com
32
USEftS
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
RU
B L !S 5 :r- j= :
p y * i i
I -------
w m
a --------
Figura
11.
Apps nativas
Una app nativa es a q uella ap licaci n que fue p rogram ad a para
ser in stalad a d entro de un sistem a o p e ra tivo determ inado. Para
el caso de las a p licacio n e s m viles, una ap p n a tiv a es aq uella que
fue program ada b ajo el lenguaje o framevvork recom endado por el
fabricante del sistem a operativo .
Por ejem plo, para el caso de iOS, se u tiliz a Objective C bajo el
framevvork XCODE; p ara W in d o w s Phone es u tiliz a d o el lenguaje C#
o Visual Basic bajo el fram e w o rk Visual Studio; en la plataform a
A n d ro id se u tiliz a el lenguaje JAVA bajo d ive rso s IDEs; y, para la
p latafo rm a B la ck B e rry OS, se u tiliz a QNX Momentics IDE.
Estos fram ew o rks perm iten acced er m ediante las API (Application
Apps hbridas
Podem os d efin ir una ap licaci n hbrid a com o una ap licaci n web
d esarrollad a con los estndares H TM L, CSS y Ja v a S c rip t, entre otros, la
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
[g s a s a
33
U N A A PL IC A C IO N
H B R ID A S IM U L A S E R
U N A A PL IC A C I N
NATIVA, EN LU G A R
DE UNA W E B A P P
B B C
Q9
7
h e a lt h 0 0
r a
www.redusers.com
34
c_/si=*?s
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
U N A A PLIC A C I N
H B R ID A P U E D E S E R
LL E V A D A A V A R IA S
P L A T A F O R M A S CON
UN NICO D ES A R R O L LO
d esventaja, podem os destacar que, para lle var una app a las plataform as
nativas populares, debem os al m enos ap rend er unos cuatro o cinco
lenguajes de program acin d iferentes. Esto presentar una curva de
aprendizaje m uy grande, que insum e m uchas horas, y casi ninguna parte
del cdigo local u tiliz ad o en un desarrollo podr aprovecharse en otro.
Las ap licacio nes hbrid as nos dan la ve n ta ja de u tiliz a r un
fra m e w o rk com o PhoneG ap donde podem os d esarro lla r una nica app
que ser llevada a, por lo menos, cu atro o cin co p latafo rm as d istin tas
con un nico esfuerzo de d esarro llo . Com o desventaja, no siem pre
se puede acced er al hardw are de m anera com pleta y por igual desde
un nico d esarrollo; por esto, d ep en d ien d o la co m p le jid ad requerida,
puede que entre u n a p latafo rm a y o tra se p ierd an caractersticas.
Adem s, las ap ps h b rid as p resentan tiem pos de ejecu ci n in icial
m s lentos que los de u n a app nativa.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
www.redusers.com
36
/s i = * ? s
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
HTML5
El cam b io realiz ad o en los b ro w sers fue, d u ran te estos ltim o s
aos, sig n ifica tivo , y la m a y o r p arte de este se d eb i a HTM L5.
Pero, aun sabiendo esto, cabe que nos preg untem os... q u es,
exactam ente, H TM L5?
Podem os d e fin irlo com o un a c o le cci n de e stn d ares que
in flu ye n en el d ise o y en el d e sarro llo de u n a pgina w eb . A n te rio r
a H TM L5 , el e st n d a r que m arcaba la te n d e n c ia del m und o de los
naveg ad o res era H TM L 4.1. Estos estndares
son su p e rvis a d o s p or el W3C ( World Wide Web
H TM L5 E S UN A
C O LEC C I N DE
Consortium).
En la cre aci n de este n u evo co n ju n to de
estndares, H TM L5 d ecid i sa lta r las bases
E ST N D A R ES DE
D ISE O Y D E S A R R O L L O
D E UN SITIO W E B
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
La estructu ra de una pgina web tam bin fue reem plazad a casi
p or co m p leto con H TM L5. A ctu alm en te, crear una pgina web sim ple
se puede resu m ir en tan solo un par de tags que, gracias a su nom bre,
definen bien, en el cdigo H TM L, cul secci n co rresp o nd e a la pgina.
<head>
T tu lo de la pgina web
</head>
< body>
A q u i n c l u i m o s la d e s c r i p c i n q u e q u e r e m o s q u e t e n g a n u e s t r a p g i n a w e b .
< /body>
< footer>
C o p yrig h t 2012 - Fernando Luna
</footer>
Una sim ple lectura de este cdigo perm ite a cu alq u ier persona,, con
m n im o s co n o cim ien to s en el tema, conocer la m anera sim p le que tiene
HTM L5 de e stru ctu ra r una pgina web.
css
Las siglas CSS p ro vie n e n del ingls Cascade Style Sheets (Hojas
www.redusers.com
38
USEftS
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
CSS3, su ltim a versin estable, perm ite aplicar reglas sim ilares a la
condicin IF de cualquier lenguaje de desarrollo, para determ inar qu
ancho de pantalla estamos utilizando y, en base a esto, aplicar un estilo
u otro a las etiquetas de cada pgina HTM L y m ostrar u ocultar secciones.
JavaScript
Ja v a S c r ip t es un lenguaje de p ro g ram aci n in te rp re ta d o y definido
com o o rie n tad o a o bjeto s. Su p rin c ip a l u tiliz a c i n es del lado cliente,
m e d ian te un SDK que debe d is p o n e r el d is p o s itiv o p re via m e n te
in stalad o . Su m a y o r uso se da d entro de los naveg ad o res web.
www.redusers.com
E S S 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
39
uj3schools :om
cus
**C
CU
,n
n rtw n
mQH
ttM
WTKCIKXHS IU M C
* ' - l . PM# i
12 windowi a 1
1
J a v a S c r ip t
rh m
M v S c * p c i T H f e n p t r ? la n p js g i s i t** W S
l * v * S o % t u t e d r f c r i o W e s
M a l# fo n n a . com m um cat* willt 0>
lo a *
n d mucH rrwit
t t * * t o M i m . V o n w n jo y it.
T r y lt Y o j r s e l f E x a m p ie s in E a ch C h a p te r
M* tuuiut
W T M r v ir t
D G * CSS
DOMEv*m
O bJ#ct
i* T> * w a r
M y F ir s t J a v a S c r ip t E x a m p lt
*WH 8 p*>*7ip
n m il.
I I
CSS3: E L VE R D U G O
www.redusers.com
40
USEftS
1 . P L A T A F O R M A S V T E C N O L O G A S M V IL E S
L A S L IB R E R A S M S
CO N O CID A S SON
JQ U E R Y M O B IL E ,
SEN C H A TO U C H
Y JQ U E R Y U I
que nos ap ortan agilid ad al m om ento de d e sa rro lla r y nos perm iten
d esp reo cup arn o s p or la esttica o solucin cu an d o el p ro yecto se deba
ejecu tar en d iferentes p lataform as.
Por otro lado, el fram ew o rk nos p erm ite englobar, en u n nico
entorno, todo el co n ju n to de a rch ivo s y A PIs que nos perm iten
d e sarro llar una solucin, estructu rad o s de una m anera jerrq u ica .
D entro de los fra m e w o rk s ms co n o cid o s, pod em os m e n cio n ar
a Eclipse y N etbean s com o los m s p o p u lare s y g ratu ito s, y a
Figura 17. jQuery Mobile y Sencha Touch son las dos libreras
ms utilizadas para realizar WebApps y apps nativas.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Entornos de desarrollo
Los entornos de d e s a r r o llo (IDE, p or sus siglas en ingls)
p e rm ite n in co rp o ra r fu n c io n a lid a d e s extra de m an era n a tiva para
e je cu ta r los d e sa rro llo s en un am b ie n te de test, s im u la d o r y hasta
para co m p ila r los p ro ye cto s re a liz ad o s de m an era nativa.
D entro de los e n to rn o s de d e sa rro llo m s co m unes e n co n tram o s a
D ream w eaver, V isu a l Stu d io , QNX Mom entics IDE, Titanium Studio.
entre otros. Los fra m e w o rk s tam b in p e rm ite n re a liz a r co m p ilacio n es
de p ro ye cto s que se d e s a rro lla n de m anera n ativa , pero generalm en te
re q u ie re n de u n p lug in que p erm ita lle v a r a cabo esta acci n.
Dreamweaver
El ID E elegid o para lle v a r a d e la n te los d e s a rro llo s ser A d o b e
J
D re am w eaver C C
wm
El nuevo estndar
en estndares web.
U u a v a u n r w w a , a rra c / i i n * n o a n a a vto
rt^rlpadanartojprocrnwcfctofmcmto
M?
jn - H '- r -
c*'c
6c & w
*-na-.a
ce *0 c c ^ . v j . i
rc' D W "**IC t*
w t l c a i c a la i o - o c C - i , * a . j c a a m a r r a n a
a c e m e a ta i
a<a a
if * c s n * t a i a l c '-a m c
ca
te * u
o j* *
www.redusers.com
42
USEKS
1 . P L A T A F O R M A S Y T E C N O L O G IA S M O V IL E S
D REAM W EAVER
P E R M IT E V E R EN
T IE M P O R E A L E L
RESULTAD O D EL
CDIGO E S C R IT O
O
Q
J
E1a
r : -
, +
>
uaD
_
..MI M
It .u w .
M .
la . M u t _ .ll
rt
FARMWG
Ii i m h i
...
mu
www.redusers.com
USE&S
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
43
E s te capitulo nos introdujo a las d ife ren tes platafo rm as m viles y vim o s c m o interacta la n u e va W eb
so b re e s to s n o ved o so s d isp o sitivo s. C o n o cim o s p a rte d e la historia de la s platafo rm as m s im portantes
y del n acim ien to d e la tecno lo ga H TM L5 q u e, junto c o n C S S 3 y Ja v a S c r ip t , im pone las re g la s de la nueva
W e b . Tambin re p a s a m o s la s diferen cias entre W eb A p p , a p p nativa y a p p hbrida, y los en to rno s d e
d esarrollo y libreras que n o s perm itirn llevar a c a b o nuestro cam in o h acia la c re a c i n d e a p licacio n es
m viles p a ra la m ayo ra d e lo s d ispo sitivo s actu ales.
www.redusers.com
44
F Z n iH
1 . P L A T A F O R M A S Y T E C N O L O G A S M V IL E S
Actividades
T E S T DE A U TO E V A L U A C I N _____________________
1
Qu es una WebApp?
Qu es una librera?
Adobe Flash consume m enos recursos que los que HTML5 y C S S exigen
en un browser?
Qu es JavaScript?
10
P R O FESO R EN L IN E A
Si tiene alguna consulta tcnica relacionada con el contenido, puede contactarse
con nuestros expertos: profesor@redusers.com
www.redusers.com
\\\ \ \\ \ \\ \ \\ \ \\
///////////////
HTML5
H TM L5 es el le n g u a je d e m a rc a d o qu e d o m in a la W eb de h o y
y qu e s im p lific las fu n c io n e s u tiliz a d a s en lo s n a v e g a d o re s ,
ta n to de e s c rito rio c o m o d e lo s d is p o s itiv o s m v ile s .
En e ste c a p tu lo , h a re m o s un re p a so p o r a lg u n o s c o n c e p to s
im p o rta n te s d e la base p rin c ip a l de H TM L5 q u e n os sern
de su m a u tilid a d p a ra el re s to del lib ro .
Geolocalizacin............
Resumen........................
HTML5 para
Actividades....................
z 17 1z1
46
l/SERSl
2. H TM L5
El lenguaje HTML5
HTML5 fue creado con el propsito de b rindar soporte al contenido
existente en la Web basndose en los estndares im puestos con HTML
Su principal objetivo
D el estn d ar propuesto por HTML5 podem os hacer alu sin a
los nuevos elem entos d entro de la sintaxis que difieren en gran
p arte de la ve rsi n a n te rio r de este lenguaje de m arcado. HTM L5 es
u tiliz ad o por los d isead ores que crean sitios web y no h ay ninguna
p ro b lem tica cuand o se requiere co m b in arlo con u n a ve rsi n anterior.
0%
Figura
1.
10%
20%
30%
40%
50%
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
47
E L P ASA D O DE Y O U T U B E
Y o u T u b e dependi p o r a o s, en la rep rod u cci n d e sus vid e o s, del plugm F la s h P la y e r . To d as la s pelculas
eran co n ve rtid a s, en el p ro ce so d e upload, al form ato de vid eo .FLV . H T M L5 trajo vien to s de cam b io
a e s te p ortal, y a que ahora n o e s n e c e sa rio d ep e n d e r m s de e s te plugin.
www.redusers.com
48
l/SERSl
2. H TM L5
S la t C o u n t e r G lo b a l S ta ts
T o p 5 n a v e g a d o re s w e b e n ta b le ts e n t r e F e b re ro d e 2 0 1 3 y F e b re ro d e 2 0 1 4
Motores de renderizado
Entendem os por motor de ren derizado al softw are que interpreta
el co n ten id o web (basado en H TM L, XML, grficos, CSS3 y Ja v a S c rip t) y
lo traduce a lenguaje grfico, p intand o en p antalla la esttica del sitio
web o correo electrnico, para que el usuario lo visu a lice o im prim a.
A p esar de que la segm entacin se est reduciend o, an existe una
varied ad im p ortante de m otores de rend erizad o . Entre ellos estn:
Gecko, T rid en t, W ebKit, KH TM L, Presto, Tasm an, gzilla, G tkH TM L, Servo
y Blink. Los tres p rim ero s son los ms u tiliz a d o s p or los brow sers ms
com unes de cada p latafo rm a, m ientras que Blink es el nuevo m otor
d esarrollad o para Google Chrom e que reem p laza a WebKit, y Servo es
el n uevo m otor d esarrollad o p or M ozilla, que reem plazar a Gecko en
las p latafo rm as con arq u ite ctu ra ARM.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
rt
-TKo<*'KT<Vi*a
M O B ILE H T M L
www.redusers.com
50
l/SERSl
2. H TM L5
Declaraciones y metatags
Debem os aclarar, antes de in icia r el repaso de la e stru ctu ra de
Doctype
Toda pgina web se in icia con la d eclaraci n de las etiquetas <html>
y se cierra con la m ism a etiqueta </html>. D entro de estas, se estructura
el encab ezad o de la pgina, <headx/head>, y el cuerpo de la pgina,
<bodyx/body>.
A n tep uesta a la etiq ueta H T M L que in ic ia la estructu ra de estos
a rch ivo s, debem os agregar la palabra doctype, que significa tipo de
\\\
D E F IN IC IO N E S D E L L E N G U A JE
L a s d e fin icio n e s de H T M L 5 an n o e s t n c e r r a d a s y s e e s tim a q u e p a ra fin es d e 2 0 1 4 recin
s e p u b lic a r el e s t n d a r definitivo . Aun a s i, lo s p rin c ip a le s n a v e g a d o re s w e b y a e s t n b rind an do
el s o p o rte c o rre s p o n d ie n te .
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</Script>
c lin k re l= "s ty le s h e e t" typ e = //text/css" h re f= "e stilo re d u se rs.css">
</head>
<body>
< ! - E structu ra de la pgina, ments, textos, im genes, videos, etc -->
</body>
</html>
El logo de la empresa.
www.redusers.com
52
2 . H TM L5
Charset
D entro del doctype co rresp o nd ien te a HTM L4, se d eclara charset,
que es u tiliz a d o para d efin ir el id io m a en el cual se realizar la pgina
web (espaol, ingls, francs, portugus, etctera). Esto afecta la
vis u a liz a ci n de los caracteres.
E D ITO R E S H TM L
P a r a el o b je tivo d e e s te libro, u tiliz a re m o s D r e a m w e a v e r c o m o e d ito r H T M L p re d e te rm in a d o .
D e s d e w w w .a d o b e .c o m p o d e m o s d e s c a rg a r la v e rs i n d e p ru e b a q u e d u ra 3 0 d a s. S i no, tam b i n
p o d e m o s re c u rrir a a lte rn a tiv a s c o m o N o te p a d + + , E c lip s e o N e tb e a n s . q u e ta m b i n re sa lta n
la sin ta x is d el len g u aje.
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
53
P A R A D E C L A R A R UN
C H A R S E T E S P E C F IC O
D E B E M O S B U S C A R LA
R E F E R E N C IA ISO D E L
ID IO M A N E C E S A R IO
Estructura de un
documento HTML5
Ya conocem os cm o se e stru ctu ra un d ocum ento H TM L, tanto en su
encabezado
<head>
< body> .
Nos queda p or delante repasar las secciones creadas para HTML5 que
represen tan el co n ten id o de una pgina web.
Todos los sitio s in co rp o ran en su e stru ctu ra una m etodologa sim ilar
para agrupar las d iferen tes secciones de un sitio. D entro de estas,
podem os destacar las siguientes:
Un encabezado (texto y/o logo).
Un pie de pgina.
Encabezado
B a rra
B a rra d e navegacin
(links.
publicidad)
Cue rp o principal
(N o ticias , im g en e s, videos, e tc .)
P ie d e pg in a
www.redusers.com
54
l/SERSl
2. H TM L5
HTM L5 etiquet cada secci n con un nom bre que la referen cia
am igablem ente, para m ejorar la tarea del d ise ad o r web, com o
tam bin la de los m otores de indexacin. Veam os, en la siguiente
tabla, el nom bre de cada elem ento y su m anera de im p lem entaci n.
N U E V O S E L E M E N T O S E N H TM L5
ELEMENTO CDIGO DE IMPLEMENTACIN
T DESCRIPCIN
H eader
Cabecera de la pgina.
Hgroup
<hgroup>
Header.
</hgroup>
Nav
<nav>
de navegacin principal
</nav>
Section
<section>
de contenido dentro de
</section>
Footer
< fo o te r>
Representa el pie de
Fernando Luna</p>
</footer>
E L EC O S IS TE M A C H A R S E T
D ad a la diversid ad de lenguas ex isten tes en e l mundo, e s co m p lica d o ab ord ar en profundidad to d o lo
referen te al c h a rs e t. Y no p o d e m o s dejarlo d e lado porque en el futuro n o s p ued en requ erir el d esarrollo
de a p lica c io n e s en cualquier idiom a. P o r ello, d e b e m o s ap un tar e l siguiente link de referen cia para
s a c a rn o s cualqu ier duda: w w w .d e s a r r o llo w e b .c o m / a r tic u lo s / ju e g o -c a r a c te r e s -c h a r s e t-h t m l.h tm l
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
55
DESCRIPCIN
contenido dentro de
contenidos pueden
</article>
Aside
<aside>
<h4>Escapadas</h4>
contenido que no
...
</aside>
KD
N U E V O S Y V IE JO S E L E M E N T O S HTM L5
www.redusers.com
56
USEFtS
2 H TM L5
HTML5 para
aplicaciones mviles
Los d isp o s itiv o s m vile s m odernos ad op taron HTML5 para explotar
de m anera eficiente el acceso que este lenguaje b rin d a al h ard w are y al
sistem a operativo . Y si pensam os en d isp o sitivo s m viles, sabem os en
que la m ayo ra de estos reina la interfaz de escritura tctil.
Estas interfaces perm iten el ingreso de datos, alfan um rico s o
n u m rico s, a tra v s de un teclado virtu a l, por lo cual este teclado,
a d ife re n cia de los fsico s, puede lim ita r su vis u a liz a ci n de teclas
en base al cam po de texto en el cual se debe ingresar inform acin.
Esto p erm ite fa c ilita r la v id a del d esa rro llad o r o d ise ad o r web, ya que
se e vita valid ar, m ediante algoritm os co m p lejos, los datos ingresados
en cada tipo de cam po.
A co n tinuaci n, repasarem os las p ro p uestas de HTM L5 que facilitan
el trabajo de cargar in fo rm aci n especfica en una pgina web.
"
t im e
r.
' f
*-
1 * .
B 1 C
T IM E
O
S F C T B N ft
www.redusers.com
C E S3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
57
Por favor, seleccione su color favorito: c in p u t typ e = //c o lo r// nam e=//c o lo rfa vo rito ,/>
M a n q a a e t o lo m c n H l
C rt
<
ilr'///CA),V^liirwvr)^lftop/Mo!nlr'%?OR(V!*^.?OPrnjfVT/Drs.irrollo^,?OMnhilrV, ''
41 |
Bienvenido a nm veb(punto)coin
Pot
la v a ,
id e c o a e
cok* fe v x tto .
IN P U T T Y P E S Y M O TO R ES D E R EN D ER IZA C IO N
D eb id o a la fra g m e n ta ci n de m o to re s de rend erizacin, m u ch a s v e c e s e n c o n tra re m o s q u e las etiqu etas
www.redusers.com
2.
S E F tS
H TM L5
</nav>
] M a n q o d e fe c h a s e n H T f
0 filey//C^User5/fcluna/DGSlctop/Mobile%20Bpok%OProject/Desarrc<? B
Qi W
B i e n v e n i d o 21 i i i i \ v i kb ( p i i i i t o ) c o i n
Seleccio ne su fecha de Nacim iento: 21/03/2013
marzo 2013 1
|> 11
dorn
lun
mar
mi
,u*
vio
2-1
26
26
2T
28
10
11
12
13
18
19
21)
?4
75
31
. hoy
14
E l
15
16
22
23
77
78
79
30
Dorrai
Ingrese fecha y hora de nacim iento: c in p u t ty p e = "d a te tim e " n a m e = "b d a ytim e ">
www.redusers.com
59
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B ic a v e n id o a m lvu-b(punto> coni
A |
R
0
<>1z l *
P |
<3
l g l i j 1 k 1 l 1 a i I
.7123
1
i
1
r
IN P U T T Y P E U R L
P E R M I T E IN G R E S A R
U N A D IR E C C I N U R L
E N UN CA M PO
www.redusers.com
60
G 2H S
2. H TM L5
B ie n v e n id o a m iw e b ( p u n t o ) c o m
lagro<mi -mill
<3
1 1 L I 111
i ,i i
1
1 intro
s i
'
.7123
COm
7123
<nav>
In grese el te xto a buscar: c in p u t ty p e = "s e a rc h " n am e = "w e b sea rch "
p la c e h o ld e r= "T e xto a b u sca r"> c in p u t typ e = //button// value= //Buscar//>
</nav>
M ARCA DE A G U A
T o d o s los c a m p o s de tex to p erm iten el u so d e la p rop ied ad placeholder= algn texto . E s to sirve co m o
una e s p e c ie d e o rien taci n al usuario p a ra que in g rese lo s d a to s c o rre c to s en el c a m p o , y e s m uy til
para a p lica r en p an tallas c o n m u cha inform acin y d e d im en sio nes redu cid as.
www.redusers.com
C E2 Z3
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
h file///C,A lM *V fo lu n a / D k to p / M
to k % 20l>roj
ISB
2l
61
B i e n v e n id o a m h v e b ( p iin t o ) c o m
In g re s e d texto a b u s c a r
Buscar
Seleccione el va lor corre cto: c in p u t ty p e = "ra n g e " n a m e = "va lo re s " m i n ^ ' l "
m a x = "1 5 ">
O TR O S IN P U T T Y P E S
Tambin ex isten o tro s input ty p e s, c o m o c in p u t Type W e e l o e c in p u t Type Month>. E s to s perm iten in
g re s a r los va lo re s n u m rico s d e la s s e m a n a s y m e s e s re sp ectiva m e n te . Funcionan c o rre c ta m e n te
en G o o g le C h ro m e, S a fa ri y O p era.
www.redusers.com
62
USEFtS
2 . H TM L5
a . -i . p n 4. =
B ie n v e n id o
n m u * b < p u n t o k *o i i
Bienvenido a miucbtpuntoH*m
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
ir l P
A.
Bienvenido n miweb(ptinto)com
logrtp H moojiit
omeim (pem \S
00
Figura 14. Este control tipo Spin permite indicar un rango mnimo
y mximo y, tambin, ingresar el valor de form a manual,
siempre y cuando se respeten los rangos establecidos.
Geolocalizacin
Los navegadores web m odernos in clu ye n una fu n ci n de
www.redusers.com
64
USEFtS
2 . H TM L5
estructura de los docum entos HTM L5, cm o integrar en ellos las libreras
Ja va Scrip t, cm o in vo car un m apa desde la API de Google Maps, y cmo
realiz ar la deteccin de nuestra ubicacin m ediante la geolocalizacin.
O t lec jlcjc n
(3
en
H I ML!>
^borms,.,
C c iv r i|> M tlr u | | k
a i
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
d D O C T Y P E h t m l>
< h t m l>
<head>
< title > G eo lo ca lza ci n en H T M L 5 < / title >
<m eta c h a rs e t= "u tf-8 ">
c s c rip t src=/7/ajax.googleapisxom /ajax/libs/jquery/1.11.0/jquery.m inJs//></
script>
</head>
<body>
</body>
</html>
Integracin de libreras JS
Para poder im p lem en tar co rrectam ente nuestro mapa, utilizarem os
la A PI Ja v a S c rip t de Google M aps que nos p e rm itir v is u a liz a r nuestra
p osicin. Sum ada a esta, tam bin declararem o s la lib rera jQ u e ry, que
nos sim p lificar la tarea de e scrib ir el cdigo JS y de re fe re n cia r a cada
objeto creado en la pgina. En el Captulo 3 conocerem os en detalle
esta lib re ra y sus m ltip le s usos.
Dentro del encab ezad o del a rch ivo H TM L, agregam os las siguientes
lneas de cdigo:
<header>
< h l> G e o lo c a liza c i n en H T M L 5 < / h l>
< / h e ad e r>
< s e c t io n >
www.redusers.com
66
USEFtS
2 . H TM L5
</div>
</section>
El tag <header> p erm ite crear un ttu lo del tip o < h l> . A co ntinuacin,
ab rirem o s u n tag <section> d onde declararem o s u n n u evo tag <article>
seguido de un <div> que contiene una etiqueta del tipo canvas. Esta
p erm itir cargar luego el m apa que vis u a liz a r nuestra posicin.
Luego agregam os el siguiente cdigo:
</scrpt>
Este cdigo inicia un nuevo script donde in clu ire m o s las funciones
co rresp o n d ien tes a g eo lo calizaci n. Estas funciones so licitarn perm iso
al u suario para u b ica r su p osici n , v a lid a r n los erro res que puedan
o cu rrir en la acep taci n o rechazo de la u b icaci n y d ib ujarn el
co rresp o nd iente m apa en la etiqueta Canvas para m ostrar nuestro lugar.
In clu yam o s, a co ntinuaci n, el siguiente cdigo d entro del tag script:
<script type=//text/javascript//>
var map;
var latitud;
var longitud;
var precisin;
$(document).ready(function() {
localizameO;
;
Las variables map, latitud, longitud y precisin alm acenarn los datos
de nuestra ubicacin cuando aceptem os que nos localice la pgina.
La siguiente funcin es una invocacin a jQuery, que perm itir ejecutar la
funcin localizameO cuando la pgina HTM L se haya cargado por completo.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
function localizam eO {
f (navigator.geolocation ) {
navigator.geolocation.getCurrentPositioncoordenadas, e rro re s);
}else{
a le rtO E s te navegador no soporta ge o lo ca liza ci n /);
}
>
Esta fu n ci n invo ca al m todo navigator.geolocation.getCurrentPostion(),
que recibe dos parm etros: coordenadas y errores. Estos p arm etros son
del tip o funci n, que, a su vez, contiene otras fu n cio n es a invocar.
function coordenadas(position) {
latitud = position.coords.latitude;
longitud = position.coords.longitude;
precisin = position.coords.accuracy;
ca rg a rM a p a O ;
}
Esta fu n ci n setea los valo res co rresp o nd ien tes a las va ria b le s
d eclarad as en el in icio del script, de acuerdo a los valo res recibid os del
m todo getCurrentPosition: latitu d , lo ngitud y p recisi n . Por ltim o , ya
cargados los valo res en las variab les, se in vo ca al m todo cargarM apa().
}
f (err.code = = 1) {
a l e r t ( " E I u s u a r i o n o a c e p t c o m p a r t i r su p o s i c i n " ) ;
>
f (err.code = = 2 ) {
a le r t ( v'N o se puede obtener la posicin a c tu a l");
)
if (err.code = = 3 ) {
www.redusers.com
68
USEFtS
2 . H TM L5
}
>
La sentencia err nos perm ite detectar los erro res que ocurren
en las d ive rsas in vo cacio n es de Ja v a S c rip t. A travs de la prop ied ad
function ca rg a rM a p a O {
var latlon = new g o o g le .m a p s.La tLn gd a titu d ,lo n g itu d );
var m isParam etros = {
zoom : 17,
ce n te r: latlon,
m apType ld : g o o g le .m a p s.M a p T yp e ld .R O A D M A P
>;
map = new go o g le .m a p s.M a p ($ (u# m a p _ c a n va s ").g e t(0 ), m isP aram etros);
;
>
Por ltim o, nos queda la fu n ci n p rin cip al: cargarM apa(). Esta funcin
p erm itir estab lecer la in v o ca ci n a Google M aps y pasarle todos los
p arm etros necesario s para d ib u ja r nuestra u b icaci n en el mapa.
Veam os el cdigo com pleto de nuestra pgina HTML:
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
<htm l>
<head>
< title > G e o lo ca liza ci n en H T M L 5 < / title >
< m eta c h a rs e t= "u tf-8 ">
< scrip t src=/7/ajax.googleapis.com /ajax/lbs/jquery/1.11.0/jquery.m n.js//></
scrpt>
</head>
<body>
<header>
< h l> G e o lo c a liza c i n en H T M L 5 < / h l>
</header>
<section>
< a rtcle >
<dv d='m ap_canvas' s ty le = 'w id th :1 0 0 % ; h e ig h t:1 0 0 % ;/></div>
</article>
< d iv id = "re sp u e sta ">
</dv>
</secton>
;
function lo ca liza m e O {
if (navigator.geolocation ) {
navigator.geolocation.getCurrentPositionCcoordenadas, e rro re s);
www.redusers.com
S E F tS
2 . H TM L5
}else(
a le rtO E s te navegador no soporta geo lo ca liza cin /);
}
}
function coordenadas(position) {
latitud = position.coords.latitude;
longitud = position.coords.longitude;
precisin = position.coords.accuracy;
c a rg a rM a p a O ;
}
if (err.code == 1 ) {
a !e r t ( " E I usuario no acept com p a rtir su p o s ic i n ");
}
f (err.code == 2 ) (
a le r t(" N o se puede obtener la posicin a c tu a l");
}
if (err.code - - 3 ) {
a le rt("T ie m p o de espera su p e ra d o ");
)
)
function ca rg a rM a p a O (
var latlon = new g o o g le .m a p s.La tLn g(la titu d ,lo n g itu d );
var m isParam etros = {
zoom : 17,
center: latlon,
m apType ld : g o o g le .m a p s.M a p T yp e ld .R O A D M A P
www.redusers.com
71
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
;
}
</script>
</body>
</html>
dametittr na* m
Figura 16. El
resultado de nuestro
ejercicio muestra
cm o el sistema
te
. tlilffv
usuario antes de
uMcaBOta tu au to o r**
S t'rm fi*
solicita permiso al
m ostrar su ubicacin
en Google Maps.
R ESU M EN
E s te captulo nos perm iti ad en trarno s un p o co en el n uevo m undo p ro p u esto p o r H T M L5 y c o n o c e r
la inclusin d e va ria s fu n cio n es tiles que n o s perm iten d e s a rro lla r m e jo re s sitios w eb. A su ve z, tam bin
realizam o s un re p a s o por la s d ife ren cia s q u e p o d e m o s e n co n tra r en distintas p la ta fo rm a s y /o distintos
n a v e g a d o re s w eb. E s to con stitu ye un d a to m uy til a te n e r en cu e n ta al m om en to de d e sarro llar una
ap licaci n w e b en la que b u s c a m o s cub rir lo m ejor p o sible to d a s la s platafo rm as existentes.
www.redusers.com
72
USEFtS
2 . H TM L5
Actividades
T E S T DE A U TO EVA LU A C I N
1
10
Qu hay que tener en cuenta para geolocalizar a alguien con la m ayor precisin?
E JE R C IC IO S PR CTIC OS___________________________
1
Visualice las pginas HTML con los input types en cada uno de los navegadores.
P R O FESO R EN L IN E A
m
www.redusers.com
* n
\\\\\\\\\\\\\\\
///////////////
Fundamentos
de jQuery Mobile
La e s t tic a d e una a p lic a c i n w e b m v il es m u y im p o rta n te
en ca d a u n o d e io s p ro y e c to s q u e a b o rd a m o s . Y lo m e jo r para
re d u c ir lo s tie m p o s d e d e s a rro llo es re c u rrir a h e rra m ie n ta s
q u e n o s a y u d e n a e n fo c a r n u e s tro e s fu e rz o en la fu n c io n a lid a d
del s itio sin d e ja r d e lad o la e s t tic a . En los p r x im o s c a p tu lo s
n os c e n tra re m o s en jQ u e r y M o b ile , una d e las h e rra m ie n ta s
q u e c u m p le co n creces esta fu n c i n .
71z 1
74
l/SERSl
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
Qu es jQuery Mobile?
jQ u e r y M obile es un co n ju n to de lib re ra s Ja v a S c r ip t y CSS,
c o n stru id o esp ecficam en te para d a r so po rte a m ltip le s p latafo rm as
al m o m ento de d ise a r tanto un s itio w eb com o una a p lica ci n
m vil. Perm ite, de m an era p r c tic a y s in co m p lica cio n e s, m a n ten er la
es tru c tu ra de un sitio p o r igual, al m om ento de v is u a liz a rlo desde
un a co m p u tad o ra de e s c rito rio , tablet, sm artp ho n e o te l fo n o ce lu la r
de baja, m ed ia o alta gam a con soporte para n aveg aci n web.
U no de los pasos m s im p o rta n tes a l m om ento de d ise a r una
W ebApp o app m vil es d efin ir bien la in te rfa z de u su a rio que la
a p lic a ci n ten d r y, p or supuesto, cm o se v e r en cada una de
las p lata fo rm a s donde p o d r ser ejecutada.
Si d e cid im o s h acer u n a a p lic a ci n web que pueda eje cu ta rse tanto
en un n a ve g ad o r de e scrito rio com o en un n a ve g ad o r web m vil,
deb em os ten e r en cu en ta que su in te rfa z sea lo ms s im ila r p osib le
para que los u su ario s co n cu rre n te s no deban tener que ap re n d e r dos
o ms ve ces a d esp la z arse p or n uestro sitio.
U na de las p rim eras in v e s tig a c io n e s que re a liz a n los u suario s
de a p lic a cio n e s m viles, al m o m en to de d e c id ir ca m b ia r h acia otro
sistem a o p e ra tivo m v il, est d estin ad a a saber si las ap ps de uso
co tid ia n o tie n e n su v e rs i n en la p lata fo rm a a la cual p ie n sa n m igrar.
Desde nuestro punto de vista, al m om ento de d e s arro llar ap ps web
m viles, la opcin de cam bio de usuario no nos deb era a fectar en lo
ms m nim o si tenem os las herram ientas necesarias para a fro n ta r un
d esarro llo que fu ncio n e p or igual en todas las p lataform as.
jQ u e ry M obile fue pensado desde sus in icio s para b rin d a r la m ayor
co m p a tib ilid a d posible en casi todas las p latafo rm as existentes, sean
o no m viles. Para estas ltim as, jQ u e r y M obile enfatiz en cu b rir la
m ayor cantid ad de equipos y web b ro w sers que existen en el m ercado,
d e e s te fra m e w o rk fue p e n sa d o
p ara
una integracin
www.redusers.com
am igable
p a ra d ise a d o re s
75
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
lo que garan tiza que nuestro sitio se ver -p rcticam ente- sin cam bios
tanto en un sm artp ho ne de alta gam a com o en uno de baja gama.
jQ u e r v
+ sb jQ u erv
C N I C A C O . 11
A T o u c h - O p t im iz e d W e b F r a m e v v o r k
r t
j o m
o<mnidlQ..eivMatMi'
j Q i t t r y M o te te t i a H T M I S - b a s e d u m m t o r f jc i / i t e r r
lo t i 9 'o d
t o m o h o r o p o n * M > w o b m il
m n a p p a th a t aro
a c c e w ib t e do I I im a itp h o n e to b te t a - d d e i k t o p d o w c a i
D a v a la p a r I M S
S e n o u tly c r o t i- p la lfo r m w lt k H TM LS
1> Ufl
rh
A*
rori a m vomIo
* v
"
unsutetiUftMu
wtua* uo<ri
H *1
J Q U E R Y M O B IL E S E
BA SA EN JQ U E R Y
Y D EBEN USARSE
J U N T A S , A U N Q U E SON
L I B R E R A S D IS T IN T A S
www.redusers.com
76
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
</body>
</html>
www.redusers.com
77
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
i
*
{Z /Q u erv
A
0rwt.
( H iiit iM a
a t BM
optiMnl w l l n M
UKHM W f
U M N H tar
R a * J <j , M ittvn
R a a d o ^ M IM n
iw
IW rt,
* ***1 hnM
L H M I Mam
natKiM rlMUffn
. m a d i l M lia n
H h
Mm S o
c i
Cm o m i
* do.
Clir-HD o.
0*
jq u e ry m o b ile .c o m / re so u rc e s/ d o w n lo a d /
J Q U E R Y M O B IL E
PU ED E DESCARGARSE
DE F O R M A LO C A L
O U S A R S E D E S D E UN
P R O V E E D O R REM O TO
jquery.m obile-1.3.2.zip.
A co n tin u a ci n , ub iq u em o s la v e rsi n 1.3.2
de esta lib re ra y p ro ced am o s a su descarga.
www.redusers.com
78
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
d D O C T Y P E htm l>
<htm l>
<head>
< title > T tu lo de la pgina</title>
< m eta n a m e = "v ie w p o rt" content=//w id th = d e vice-w id th / in itia l-s c a le = l//>
</body>
</html>
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
79
d D O C T Y P E html>
< htm l>
<head>
< ttle > E je m p lo s con Jq u e ry M obile< /title>
c m e ta nam e=//v ie w p o rt// content= //w id th = d e vice-w id th / in itia l-s c a le = l">
c lin k re l= "s ty le s h e e t" h re f= //jqm /jquery.m obile.structure-1 .3.2 .m in.css// />
<linl< re l= "s ty le s h e e t" h re f= //jqm /jquery.m obile-1.3.2.m in.css/7 >
< script src= "jq m /jq ue ry.m o b ile -1 .3 .2 .m n .js"> < /scrip t>
< script s r c = " http://code.jquery.com /m oble/1.3.2/jquery.m oble-1.3.2.m n.
js "> < /scrip t>
</head>
<body>
< h l> E s to es jQ u e ry M o b ile < /h l>
< p > M i p rim e ra pgina web con JQ M </p>
</body>
</html>
ajusten
las fun cio n alid ad es n e c e s a ria s para que la interfaz U X se a tra n sp a re n te al usuario, independientem ente
del d ispositivo d o n d e se ejecute.
www.redusers.com
80
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
Estructura y widgets
jQ u e r y M obile basa su e stru ctu ra en el Responsive Web Design ,
p or lo cual aplica, m ed iante estilo s CSS, un dise o especfico para
las d iferentes secciones que com p onen una pgina web. Veamos,
a co ntinuaci n, los d istin to s co m p o nentes que podem os in teg rar en
un diseo ap licad o gracias a este co n ju n to de libreras. Estos
co m p o nentes nos p e rm itir n e stru ctu ra r toda pgina de jQ u e r y Mobile.
Page
Page nos p erm ite d efin ir la e s tru c tu ra e q u iv a le n te a <body> en un
H T M L com n. D entro de page a grup arem os todas las e stru ctu ra s de
en cab ezad o , pie de p gina, co n te n id o , b a rra s de h erram ie n ta s y otras
fu n c io n a lid a d e s que JQ M nos da.
<htm l>
<head>
</head>
<body>
<div d a ta -ro le = //page,/ id = "in d e x ">
< h l> E s to es jQ u e ry M o b ile < /h l>
< p > M p rim e ra pgina web con JQ M </p>
</div>
</body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
E2 S2 Z 3
81
D EN T R O D E L TAG
de las lib re ra s de JQ M . Si lo e je cu ta m o s en un
H EA D D E B E M O S
D E C L A R A R L A RU T A
D E L A S L I B R E R A S DE
J Q U E R Y M O B IL E
conten y footer.
Header
La e tiq u e ta <header> no es ms que un en cab ezad o que tendr
n u e stra pgina. En e lla p o d em o s in d ic a r el ttu lo , in co rp o ra r un logo
y hasta uno o ms botones con fu n cio n e s de m en.
Veam os un e je m p lo donde solo in clu im o s el ttu lo :
<body>
<div d a ta -ro le = "p a g e " d = "in d e x ">
< d iv d a ta -ro le = "h e a d e r">
< h l> E s to es Jq u e ry M o b ile < /h l>
</div>
< p > M p rim e ra pgina web con JQ M </p>
</div>
</body>
Content
La e tiq u e ta <content> nos p e rm itir in co rp o ra r d ive rso s co n te n id o s
en la pgina creada con jQ u e r y M obile. Eq u ivale al cu erp o p rin cip a l
de un H TM L, y solo se puede u tiliz a r una e tiq u e ta content d entro de
una e tiq u e ta page.
<body>
<div d a ta -ro le = "p a g e " id = "n d e x ">
www.redusers.com
82
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
</div>
</body>
Footer
La etiq ueta <footer> nos p erm ite in co rp o ra r un pie de pgina
al co n ten id o creado con jQ u e r y M obile. Podem os especificar, por
ejem p lo , el c o p y rig h t de la pgina web o a p lic a ci n , in c lu ir alguna
im agen refe ren te o p u b licid a d e s, o bien, sim p le m e n te , e stru ctu ra r
una b arra de h e rram ien tas.
<body>
<div d a ta -ro le = "p a g e " d = "in d e x ">
< d iv d a ta -ro le = "h e a d e r">
< h l> E s to es JQ u e ry M ob ile< /h l>
</div>
< d iv d a ta -ro le = "c o n te n t">
< p>M prim era pgina web con JQ M </p>
</div>
<div d a ta -ro le = "fo o te r">
< p > C o p yrigh t 2013: Fernando Luna</p>
</div>
</div>
< /body>
w w w .re d u s e r s .c o m
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Navigation Bar
A tra v s de la e tiq u e ta <navigation> pod em os cre a r una b a rra de
www.redusers.com
S E F tS
Veam os un e je m p lo de navigation:
</div>
Transitions
D e n tro de jQ u e r y M o b ile , los v n c u lo s e s ta b le c id o s h a cia o tras
p g in a s (o p ag es) se p u e d e n r e a liz a r m e d ia n te a n im a c io n e s
www.redusers.com
85
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
<a h re f= "c o n ta c to .h tm l" d a ta -ro le ^ 'b u tto n " datatran sition = "fa d e"> C on tcten os< /a>
S L ID E U P Y
S L ID E D O W N
G EN ERA N EFECTOS
DE D E S P L A Z A M IE N T O
V E R T IC A L
1/ 1/ 1/
F U N C IO N A M IE N T O DE TR A N S IC IO N E S
Al m o m en to de escrib ir e s te captulo, jQ u e ry M obile inform a
que an se
en cuentran trabajand o
en una solucin p a ra que la s tra n sicio n es funcionen en to d a s la s p latafo rm as. Dado que se b a sa n en
e fe c to s
CSS,
n a v e g a d o re s web.
www.redusers.com
86
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
Dialog Page
Esta etiq ueta perm ite que una pgina definid a com o page con
jQ u e ry M obile o cu a lq u ie r otra pgina rem ota pueda ser vis u a liz a d a
m ed iante un dilogo. Esto genera una ven tan a tipo m odal, que aparece
su sp en d id a por encim a de la pgina d esde donde la invo cam os.
Para re a liz a r esto, sim p le m e n te debem os agregarle un atrib u to
a los h ip e rv in c u lo s cread o s con JQ M .
Veam os a co n tin u a ci n un ejem plo:
<a h re f= "g ra c a s .h tm r d a ta -re l= "d ia lo g " d a ta -ro le = //button// datath e m e = "b ''> E n va r< /a >
Cise Dialog
Las p ginas v is u a liz a d a s con el atrib u to data-rel= dialog crean,
de m anera p re d e te rm in ad a, un botn s u p e rio r que p erm ite cerrar
la pgina m odal. Este tip o de ve n ta n a s g e n e ra lm e n te se u tiliz a para
v is u a liz a r un fo rm u la rio , una ve n ta n a del e stilo A cerca d e y,
tam b in, cie rto s m en sajes de d ilo g o que in te ra c t a n con el usuario.
Si en nu estra W ebApp in clu im o s fo rm u lario s m odales, lo ms com n
es d arle al usuario la p o sib ilid ad de que interacte a travs de los
b otones de o pciones del cuadro de dilogo, con lo cual el botn cerrar
que genera la etiqueta Dialog Page no nos ser til. Podem os ocultarlo
u tiliz a n d o el siguiente atrib u to d entro de la in vo caci n a Dialog Page:
d a ta -c lo s e -b tn = "n o n e "
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
V ^
v tdor*obtlc c o m z f / M o b h 'W e b .'C a f O
IF )
20 32 I
I*.
X 3 + d 2 2033
F o r m u la r io d e r e g ia .
R e g is t r o re a liz a d o
U s u a rio
ftmobilpnadawan
Facebook y Google*
Revistas
O
Buscador
Publicidad Online
Olroa medio*
Abrir
Ejercicio prctico
Para p o d er co n s o lid a r los ejem p lo s hasta aqu repasados,
re a liz a re m o s a co n tin u a ci n un e je rc ic io integrador. Este e je rc ic io
nos m o strar cm o in te g rar las fu n cio n e s de jQ u e ry M obile de m anera
p tim a y sin n ecesidad de llegar a e la b o ra r un d e sa rro llo co m p lejo.
El o b je tiv o es d e s a rro lla r un s itio w eb co rp o ra tivo . Este p resen tar
una em p resa d eterm in a d a , contar su h isto ria y los p ro d u cto s que
www.redusers.com
88
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
DESARROLLAREM OS
CON J Q M UT ILIZAN D O
PA G E, H E A D E R ,
NAVIGATION B A R ,
C O N T E N T Y FO O T ER
<body> y </body>:
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
< p > A diferencia de otras firm as productoras, G re e n & B e rrie s posee dos
lneas de productos: Frutos rojos org& aacute;nicos, sembrados y cosechados bajo los
principales estándares de calidad, y Frutos ro jo s hidrop& oacute;nicos, que
cumplen con su etiqueta org& aacu te;n ca, pero con la diferencia que estos son semb
rados y desarrollados & iacute;ntegram ente bajo el sistem a de hidroponia.</p>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -th e m e = "c " d a ta -p o s itio n = "fix e d ">
<h5> C o p yrig h t V id a M obile</h5>
</dv>
</div>
www.redusers.com
S E F tS
H isto ria
Pro d u cto s
Sho w ro o m
Contacto
<1li>
</ul>
</div>
www.redusers.com
91
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B ie n v e n id o a G r o e n ! B e m o e F a r m m g
Figura 7. La portada
principal de nuestro proyecto
P r o d u c io s
S h o w to o m
C o n ta c to
------------------------------------------------
PARA CREAR
L A S E C C I N DE
P R O D U C T O S D E LA
E M PR E SA USAREM OS
DIALOG P A G E
www.redusers.com
USERS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
</div>
< d iv d a ta -ro le = "c o n te n t" d a ta -th e m e = "d ">
<h2>Productos</h2>
< p > A continuac& oacute;n puede conocer los productos que co m e rcia liza
mos. H aga c lic sobre la cate gor& iacute;a de su nterés.</p>
<div id = "m a g e n e s -ln k s " a lg n = "c e n te r">
<a h re f= "o rg a n c o s .h tm l" d a t a -r e != " d ia lo g " x m g src="m agenes/
pro d u ctos-organ icos.jpg" S ty le = "w id th :1 0 0 % ;m n -w id th :1 5 0 p x ;m a x w id th :6 0 0 p x ;b o rd e r:lp x "/ x / a > < p > < / p >
<a h re f= //hidroponicos.htm l'/ d a t a -r e l= " d ia lo g " x im g src="im agenes/
pro d uctos-hidro po nico s.jpg" S ty le = "w id th :1 0 0 % ;m in -w id th :1 5 0 p x ;m a x w d th :6 0 0 p x ;b o rd e r:lp x " /></a>
</dv>
< d iv d a ta -ro le = //navbar// d a ta -p o s tio n = "fixe d ">
< u l>
< l i x a h re f= "in d e x .h tm l" d a ta -ic o n = "s ta r"> H is to ria < / a x / li>
< l i x a h ref= //#// data-con="checl<" cla ss= "u -d isa b le d "> P ro d u cto s< /a x/l>
< l i x a h ref= //show room .htm l// data-con = "se arch"> S ho w roo m < /a > < /li>
c l i x a h re f= //con tacto.htm l// d a ta -ico n = "n fo "> C o n ta cto < /a > </li>
</ul>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</div>
</dv>
ti?
23:55
l)
M
w
Productos
A continuacin puede co n o cer los p ro d uctos que
co m ercializam o s H ag a c lic so b re la catego ra de
su inters
O rg n ico s
Figura 8. Desde
la pgina p ro d u cto s.
H is to ria
S h o w ro o m
C ontado
<dv d a ta -ro le = "p a g e " d = "o rg a n ic o s " data-the m e = //c " >
< d iv d a ta -ro le = "h e a d e i'"d a ta -th e m e = "c " a lig n = "c e n te r">
< h4 > Frutos org& aacute;nicos</h4>
</div>
< d iv d a ta -ro le = "c o n te n t" data-them e= ,,d// >
www.redusers.com
S E F tS
</div>
<p>Conservam os la calidad de nuestros productos trat& aacute;ndolos con
t& eacute;cnicas que garantizan su frescura y sabor, sin que sean alterados por e l
ementos qu´m icos.</p>
< p>Actualm ente com ercializam os: < stron g> Fru tilla s/ Cerezas, Ciruelas,
Ar& aacute;ndanos, Corintos, Frambuesas, M oras coloradas y M oras negras.</
s tro n g x p >
</div>
W-eWC* C C)
4 B R R IES
FARM NG
#
w
F r u t o * ocqarac<o
Producto!
'
/-
jetos Orgnicos
Productos H idra?
Frutillas.
C v e z a s . C ir u e la s . A r n d a n o s , C o n o t o .
F r a o b u e i a * . M x a s c o l r a la s y M o r a s
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</div>
<p>Disponem os de la m ism a va ria n te de frutos rojos org& aacute;nicos de
sarrollados bajo el sistem a de hydroponia, tra ta d o con sustratos org& aacute;nicos
creado a base de extractos de desechos de frutas y verduras org& aacute;nicas.</p>
<p>Estos productos est& aacute;n disponibles todo el a & n tild e ;o , ya que
son desarrollados bajo un m icroclim a especialm ente dise& ntilde;ado para este
p ro p & o a c u te ;s ito .< / p x p >
</div>
.2 3 :5 5
0 T
.2 3 :5 6
^suJanobeccaiff/Mob*eWetyCaj 0 Q
~
G F E - N S E R R IE S
FA'MING
Frutos hidroponic-
P ro d u c to s
A c o n t in ja c r .o n p u e d e c c r to c e - lo a p r o d u c t o s c o e
odLctos Orgnicos
Lisponem os d e la m ism a vnante ae m itos
P r o d u c to s H id
WJl iSfl
ao, ya q u e so n cesarrollados b a p un
m ic r o c lim a e s p e c ia lm e n t e d is e a d o p a r a
este proposto
www.redusers.com
S E F tS
</div>
< d iv d a ta -ro le = //navbar// d a ta -p o s itio n = "fixe d ">
< u l>
< l i x a h r e f= " in d e x .h tm r d a ta -ico n = "s ta r"> H is to n a < / a > < / li>
< l i x a h re f= "p ro d u c to s .h tm r d a ta-icon = "ch e ck"> P ro d u ctos< /a> < /li>
< l i x a h r e f = " # " d a ta -ic o n = "s e a rc h " c la ss= "u i-d isa b led "> S h o w roo m < /
a x / l>
d i x a h ref= //contacto.htm l// d a ta -ic o n = "in fo "> C o n ta c to < /a > </li>
</ul>
</div>
</div>
www.redusers.com
97
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Atencin a l publico
H is to ria
P ro o u c to t
C o n ta c to
*-=>
C i
CD
E L PARM ETRO
ZOOM A P L IC A
L A D ISTA N C IA
A REPRESENTAR
EN E L M A P A
www.redusers.com
98
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
U T IL IZ A R E M O S E L
C O R R E O E L E C T R N IC O
Q U E E L U S U A R IO T IE N E
C O N F IG U R A D O E N S U
d D O C T Y P E htm l>
<htm l>
<head>
< ttle > G re e n b e rrie s Fa rm ing</title>
c m e ta nam e=//v ie w p o rt// c o n te n t= "w id th = d e vic e -w id th , in itia l-s c a le = l//>
c lin k re l= "s ty le s h e e t"h re f= "http://code.jquery.com/moble/1.3.2/jquery.
m obile-1.3.2.m in.css/#/>
< script src= //http://code.jquery.com /jquery-1.9.1.m n.js"></script>
<scrpt s rc = '/http://code.jquery.com /m oble/1.3.2/jquery.m obile-1.3.2.m in.
js"> < /scrip t>
< ! S c rip t para enviar co rre o e le c tr n ic o ->
</head>
<body>
< d iv d a ta -ro le = "p a g e " id = "p ro d u c to s " d a ta -th e m e = "d ">
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
< d iv d a ta -ro le = "h e a d e r"d a ta -th e m e = "c " a lig n = "c e n te r">
<m g src = "m a g e n e s / L o g o 8 0 0 xl5 0 .g f" s ty le = "w id th :8 0 % ;m a x w id th :4 0 0 p x "a lt= "G re e n b e rrie s L o g o " lo n gd e sc= "G re en b errie s Farm ing L o g o ">
</dv>
< d iv d a ta -ro le = //content// d a ta -th e m e = "d ">
< h 4 > F o n n u la rio de contacto</h4>
<form id = "e m a il" m e th o d = "p u t"
action= //e n v ia rE m a il()// >
< input ty p e = "e m a il" d = "c o rre o " placeh o ld e r= "su correo
e le c tr& o a c u te ;n ic o " />
c in p u t ty p e = " te x t" d = "a s u n to " n a m e = "a su n to "
p la ce h o ld e r= " A s u n to " />
< d iv c la s s = "u -fie ld -c o n ta in ">
< te xta re a n a m e = "m e n sa je " id = //m ensaje//
p la ce h o ld e r= "M e n sa je "> < /te xta re a >
< input typ e = //b u tto n " id = "e n v ia r" v a lu e = " E n v ia r"
o n c lc k = "s e n d M a ilO "/ >
</form>
</div>
</div>
< d iv d a ta -ro le = //navbar// d a ta -p o s itio n = "fixe d ">
<ul>
c l i x a h re f= //in d e x.htm l// d a ta -ic o n = "s ta r"> H s to ria < / a x / l>
< l i x a h re f= //p ro d uctos.htm l" d a ta -ic o n = "c h e c k //> P ro d u c to s < / a x/ li>
< l i x a h r e f = " # " d a ta -ic o n = "s e a rc h " > S h o w ro o m < / a x / li>
c l i x a h re f= "c o n ta c to .h tm l" data-icon = //in fo " cla s s= "u idsabled">Contacto</a> </li>
</ul>
</div>
</div>
</body>
</html>
www.redusers.com
100
USERS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
DADO Q U E EN
ESTAS PANTALLAS EL
E S P A C IO NO A BU N D A ,
D EBEM O S RESERVARLO
P A R A LO S T E X T IN P U T
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
on*oUvo J t con a c to
fpioanin*9ii*tcai4
Z
0
"iMirwt
na
suwm
C2 )
o 1
g)
r a
(g
C2 D
m n
b n
23
}
</script>
www.redusers.com
102
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
A L A R M A R E L S T R IN G
U T IL IZ A M O S LA
F U N C I N R E P L A C E O ,
D E CADA V A R IA B L E
y cu e rp o del m e n sa je p or el ch a r %20,
e q u iv a le n te a un e sp a cio en H TM L.
CREADA EN J S
A s, el s trin g q u ed a co n fe ccio n a d o
de la sig u ie n te m anera: m a ilto:info@
u tev o cir c o m *
G R E E .N B z R R E S
FAFtWlNG
tT#oonl(nsinigmu com
c o r u
H o la , c v a o t o sto o > f u m i n o q u e
io m p r a
fiu io o n u t m i c o '
a praoueio
+ -
Enviar
z
0
Hmmim
0
Pn-lurto.
* t >
*ia
deb*
*-=>
(C 3
<
III
ni m
4-*
a*
www.redusers.com
103
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
www.redusers.com
104
USEFtS
3 . F U N D A M E N T O S D E J Q U E R Y M O B IL E
Actividades
T E S T DE A U TO E V A L U A C I N ______________________
1
Qu es jQ u e ry Mobile?
Hay alguna manera de poder utilizar jQuery Mobile sin instalarlo en nuestro
servidor?
Cmo se com pone generalm ente una pgina creada con jQ uery Mobile?
10
E JE R C IC IO S P R C TIC O S_________________________
1
Servicios. Contacto, donde cada seccin sea una pgina diferente. Luego
incluya textos de ejemplo en cada una.
Cree un formulario con los tipos de campo text, email, password. textarea.
www.redusers.com
* n
\\\\\\\\\\\\\\\
///////////////
Componentes de
jQuery Mobile
En el c a p itu lo a n te rio r c o n o c im o s las bases n ecesa ria s para
im p le m e n ta r jQ u e r y M o b ile en n u e s tro d e s a rro llo m o b ile w e b .
A h o r a n o s in tro d u c ire m o s an m s en este p o p u la r fra m e w o rk
p a ra p o d e r sa c a r p ro v e c h o al m x im o d e los c o m p o n e n te s
p re d is e a d o s qu e JQ M nos o fre c e , d e n o m in a d o s w id g e ts , y asi
p o d e r e x p lo ta r su fu n c io n a lid a d al m x im o , e s tru c tu ra n d o
una w e b m v il d e m a n e ra tal q u e n u e stro s p ro y e c to s
b a la n ceen a rm o n io s a m e n te su e s t tic a y fu n c io n a lid a d .
7 1Z1
Componentes
106
* Resumen
Ejercicio integrador
128
Actividades
14]
142
106
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
Componentes
En jQ u e r y M obile d efinim o s com o co m p o n en te s a aq u e llo s objetos
que co n fo rm a n el co n te n id o de una pgina. Este fra m e w o rk nos
p ro vee de un set de co m p o n en te s o w id g e ts que pod em os u tiliz a r
p ara d iv e rs a s fu n cio n a lid a d e s en esta p latafo rm a.
E n tre los w id g e ts m s p o p u la re s p o d e m o s d e s ta c a r los
s ig u ie n te s : listas, vietas, c a ja s de texto, etiqu etas, bo to n es,
Navigation Bar
En el Captulo 3, repasam o s el co n ce p to b sico del uso del
co m p o n en te NavBar. V im os cm o cre a r b otones, ag reg arles un icono
o un texto, y c m o e s tru c tu ra r la b arra de h e rra m ie n ta s en el extrem o
s u p e rio r o in fe rio r de la p a n ta lla . Veam os, a co n tin u a ci n , qu otras
o p cion es nos o frece este m a ra villo so com p onente.
Botn activo
En el e je rc ic io re a liz a d o de G reen & B erries Farm ing en el cap tu lo
anterior, estab le cim o s que, cad a vez que ingresam o s a u n a seccin
d el s itio w eb m v il, el b ot n de d ich a secci n quede in h a b ilita d o :
Disabled. Esto p erm ite e v ita r que el usuario pulse n u e vam e n te el botn
y que la pgina se refresque.
En la m a y o ra de las pginas web de hoy, el re fre s c o de pgina no
es un p ro b lem a cuand o naveg am o s p or Wi-Fi o a tra v s de una LAN,
pero, cu an d o el u su a rio u tiliz a su d isp o s itiv o m vil m e d ian te el pack
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
107
EV IT A R E L R E F R E S C O
IN N E C E S A R IO D E UN
SITIO W E B P R E V IE N E
L A P R D ID A DE LO S
DATOS IN G R E S A D O S
N A V IG A T IO N BAR Y P A N E L
Al m om en to d e realizar una w e b m vil, p o d e m o s e s ta b le c e r c o m o b uena p r ctica la c re a c i n de un men
co n el w id g et P a n e l , y de una b arra d e n aveg aci n c o n el w id g et N a v ig a tio n B a r, intercalando la visualizacin
del p rim ero si la p g in a w e b se c a rg a en una tab let, o del segun d o , si e s vista en un sm artphone.
www.redusers.com
108
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
~GF
h ;'
_^c O
A QHfcfcNBt.MHfcti M
a
F A F M IN G
F A H M IN G
G R K N B : * n iE S
F A flV lN G
W
lo .m iJ .m d cantar
s l " i l U n i f nr-imj
-M <tc o n W m u |i
( ! * Ileo U W B di C < M W <IUlC
M*
lOiiilx-- ( nuMaftafcM>*1*w*
ic to s O rg n ico s
tu a t n *
I^^KJ*^tthiZk4l
IV^dTf flV>
P ro d u c to s H d
r i a u i : i Ijiu n a ta llN O C m u n iu iM
p-nan w
01J ? l f l
M iHni .na i
</div>
</div>
www.redusers.com
E2 S2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
109
Listas
El co m p o n en te L i s t es un w id g et que p erm ite fo rm a te ar una
lista d eso rd en ad a de te m s a tra v s del a trib u to data-role=listview.
El a trib u to se encarga, a tra v s de la lib re ra JQ M , de d arle un form ato
am igable, el cual har que una sim p le lista se ve a com o un listad o de
item s p ro fesio n al.
<ul data-role=//lstview//>
c l i x a h r e f= "# "> V is u a l B a s ic c / a x / l>
< l i x a h r e f= "# "> V is u a l C+ +c/a> c/li>
d i x a h re f= //# //> V isu a l C # c / a x / li>
c l i x a h r e f = " # " > P H P < / a x / l>
c l i x a h r e f= "# "> J a v a S c rp t< / a x / li>
c l i x a h r e f = " # " > H T M L 5 c / a x / li>
c/ul>
c/div>
P A R A Q U E L A S L IS T A S
NO M U E S T R E N SO LO
TEXTO , P O D EM O S
A P L IC A R L E S UN
FO RM ATO
Bordes redondeados
A esta lista le p od em os a p lic a r un borde
redo n dead o para que tenga e stilo y se despegue
del resto del co n te n id o de la p gina, en caso de que agreguem os
ms texto e im genes. Sim p le m e n te , debem os agregar el atrib u to
data-inset= true .
www.redusers.com
110
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
Lista numerada
Los tem s que co m p o n en un Listview pueden ser n u m e ra d o s de
fo rm a co n s e cu tiva . Para e llo , d eb em os m o d ificar la a p e rtu ra de una
lista, ca m b ian d o su v a lo r o rig in al <ul data-role...> por col data-role...>.
Too T K n m *
T a Ton I f t m *
IC**
Vrt uaf C
I C
Y m tC f
MTMi
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Lista dividida
Los L is t lt e m s pueden a g ru p a r su co n te n id o de una form a
e sp ecfica que p o d em o s d rse la no so tro s com o p rog ram ad ores.
Para e llo , debem os u tiliz a r <data-role= listd ivid e r > en la creaci n
de la lista y esp e cificar el tip o de ag ru p am ie n to que vam os a darle.
<li>PHP</li>
< li> Ja va S c rip t< /l>
< li> H T M L 5 < / li>
< l> C S S 3 < /li>
d > P h o n e g a p < /li>
</uI>
www.redusers.com
112
E S 3 Z 3
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
Autodividers
Si n ecesitam o s g e n erar un L istV ie w con d iv is i n a u to m tica del
co n te n id o p ara lis ta r un g lo sario tcn ico o rd en ad o a lfa b tica m e n te y
d iv id id o p or letra, por ejem p lo , pod em os u tiliza r, d en tro de ListView ,
el a trib u to <data-autodividers= tru e >.
<li>Private</li>
</ul>
A G R U P A M IE N TO DE TEM S
S i el tipo d e d esarro llo w e b que realizam o s requ iere visualizar una lista d e tem s ex ten sa, e s fundam ental
e s ta b le c e r un punto d e se p araci n entre los tem s, a tra v s del u s o d e los atributos A u to D iv id e rs o
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
l i
[ t
2326|
Capitulo 04
t?
m 23
18
Captulo 04
M o b ile W eb
Filtrar Listltems
Puede p asar que u tiliz a n d o ListV ie w se nos p rese n te u n a lista
p ro lo n g a d a de te m s a v is u a liz a r y no tengam os m an era de agrupar
el co n te n id o con autodividers o list-d ivide r. En este caso, para que
el u su ario de la a p lic a ci n no deba tener que h acer un co nstante
scro ll sobre la p a n ta lla , pod em os fa c ilita rle la tarea a p lic a n d o , en el
ListV ie w , el a trib u to data-filter= tru e .
Veam os un e je m p lo a co n tin u aci n :
www.redusers.com
114
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
</ul>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Buttons
Los b oto nes tam b in son parte de jQ u e ry M obile. M od ificado s
s ig n ifica tiva m e n te si los co m p aram o s con un b ot n estn d ar creado
con HTML, s irv e n p ara u n s in fn de situ a cio n e s d en tro de una
W ebApp. El w id g e t Button, d entro de JQ M , se puede u tiliz a r de dos
fo rm as d ife re n te s. La p rim e ra es in vo can d o una U RL d eterm in ad a
o u n a pgina w eb a tra v s de su link:
Deshabilitar botn
M ediante la clase ui-disabled, p o d em o s e s p e cifica r que un w id g et
Bu tto n ap arezca d e sh a b ilita d o p or defecto. Luego pod em os h a b ilita rlo
a tra v s de una fu n ci n o even to creado en Ja v a S c rip t. Veam os un
ejem plo:
< a h r e f = " m u r L h t m l " d a t a - r o l e = " b u t t o n " c la s s = " u i - d s a b l e d " > M lin k < / a >
www.redusers.com
116
l/SERSl
4. C O M P O N E N T E S
D E J Q U E R Y M O B IL E
<a h re f= "m iu rl.h tm l" d a ta -ro le = "b u tto n " id = "m iB u tto n L in k " c la s s = "u id is a b le d "> M i lin l / a >
Minimizar el tamao
M E D IA N T E UN
A T R IB U T O , P O D E M O S
M IN IM IZ A R E L
TA M A O E S T N D A R
DE UN BOTN
<a h re f= //m iu rl.h tm r/ d a ta -ro le = "b u tto n " d a ta -m in i= "tru e "> M i link</a>
U TILIZ A C I N DE B O TO N E S E N FO R M U LA R IO S
El uso de botones en un form ulario siem pre se limita a las funciones d e E n v ia r, L im p ia r c a m p o s
o C a n c e la r . En este a specto, deberem os contem plar la agrupacin de lo s b otones mediante
data-role= controlgroup en las pantallas que son am plias, com o las d e una tablet. En las pantallas
www.redusers.com
D E2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
117
Capitulo 04
Jq u e r y M o t ile B u ll n
B o l o n s im p le
Boion drshablrtado
ftnvn m m m u i r f n
Figura 5. Esta
pgina nos muestra
el widget B u tto n
en su formato
M o b d f W ck
estndar, deshabilitado
C Z31
y reducido en altura.
Form buttons
Los fo rm u la rio s en H T M L son p rim o rd ia le s , en general, para
co m p le ta r datos que luego sern e n via d o s p or e-mail o gu ard ad o s
en una base de datos. Si co m b in a m o s JQ M con un Form, d eb em os
tener en cu en ta que, al cre a r el input type= button , este asu m ir la
e sttica de los b oto nes de jQ u e r y M obile.
Si deseam os e v ita r esto y v is u a liz a r un o b jeto b u tto n tal com o se
ve o rig in a lm e n te en H TM L, sim p le m e n te d eb em os a g reg ar el atrib u to
d a ta -ro le = n o n e en la creacin.
Agregar un icono
Al igual que el w id g et N avig a tio n Bar, Button so po rta la
v is u a liz a c i n de ico n o s en su interior. Esto se re a liz a agregando
el atrib u to data-icon cu an d o cream o s el botn. Veam os un ejem plo:
www.redusers.com
118
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
<a h re f= "fa v o rito s .h tm r d a ta -ro le = "b u tto n " d a ta -ico n = "sta r"> F a vo rito s< /a >
Por d efecto, el icono Star, in teg ran te del set de ico no s que vien e
con la lib re ra JQ M , se agregar en el extrem o iz q u ie rd o del botn.
A su ve z , p o d em o s co m b in a r y d is m in u ir el tam a o del b ot n sin que
este p ierd a su icono, co m b in a n d o am bos a trib u to s en la creaci n .
<a h re f= //favo ritos.htm ly/ d a ta -ro le = "b u tto n " d a ta -ic o n = "s ta r" da ta m in i= "tru e "> F a v o rito s < / a >
Botones compactos
SI N UESTRA W E B A P P
D E B E V IS U A L IZ A R S E
EN PO SIC I N
H O RIZONTAL, PO D EM O S
CO M PA CTA R E L BOTN
<a h r e f= "in d e x .h tm r d a ta -ro le = "b u tto n " d a ta -in lin e = "tru e " datath e m e = "b "> A c e p ta r< /a >
<a h re f= "in d e x .h tm l" d a ta -ro le = "b u tto n " d a ta -in lin e = //tru e ,/>Cancelar</a>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
C aptulo O*
jq u e r r M o M
t B a tlo n s
B o lo n f r i a n d j r
Enmr
Boion ccr) ic o
O
F a v o n io
B o ta n c on i c o m r u n w a d o
F ig u ra 6. Aqu podemos
observar el botn normal
utilizado en formularios, el
botn con icono y el botn
+zd
C2D
o 1
< a h re f= "fa v o rito s .h tm l" d a ta -ro le = "b u tto n " d a ta -ic o n = "s ta r" da ta co n p o s= "righ t"> Fa vorto s< /a >
<a h r e f= "p rin c ip a l.h tm r d a ta -ro le = "b u tto n " d a ta -c o n = "h o m e " dataconpos=//le ft//> P rn c p a k / a >
< a h r e f = " p r o d u c t o s . h t m l " d a t a - r o l e = //b u t t o n // d a t a - i c o n = " g r d " d a t a c o n p o s = "t o p "> P ro d u c to s < / a >
< a h re f= "c o n ta c to .h tm l" d a ta -ro le = "b u tto n " data-con = "che cl< " dataiconpos=//bottom //>Contacto</a>
www.redusers.com
120
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
jq u tr r M o tile B-tlon
Bo t n c c n a h r+ acicn d e co n o a la d erecha
F a v o n io *
Bo t n c c n a iire a c x n d e co n o a la i;q u * d a
Pmcvd
B o l n c c n afcreac*cn d e co n o superior
O
Produ cto*
Bo t n co n a lire a o c n d e co n o n fe ro r
C o n ta d o
Mtate wrtto
pueden ubicarlos en
*z>
23
c =T
Agrupacin de botones
Tam b in es p o sib le cre a r un set de b oto nes ag ru p ad o s m ediante
un co n te n e d o r que nos p erm ita, tanto v e rtic a l com o h o riz o n ta lm e n te ,
v is u a liz a r un c o n ju n to de b oto nes que co n fo rm a n un m ism o objeto.
Veam os un ejem plo:
</div>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</div>
* .
f t 23:51
C apitulo 04
J q u e r y M o b ile B u ll n *
b o i o n a j u s t a d o a l c o n t e n id o
C a n c e la r
A g r u p a c i n d e b o l c n c o ve rtic a l
Si
No
Tal v
A g r u p a c i n d e b o tc n e a h o rrz o n ta l
A c e p ta r
C a n c e la r
Ayuda
F ig u ra 8. Tanto vertical
com o horizontalmente,
M ob ile w eb
C23
k_
la pantalla creada.
Text Inputs
En el C a p tu lo 3 nos interio rizam o s en el uso de Text Input
en reem plazo de los cam pos clsicos utilizados en el viejo HTML.
A continuacin, repasarem os algunas variantes ms de este com ponente
y cm o nos ayu d ar en el desarrollo de nuestras soluciones.
www.redusers.com
122
l/SERSl
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
Vista clsica
Al text in p u t clsico , que se crea sim p le m e n te con la sen tencia
PO DEM O S D A R LE MS
V A LO R A L T EX T IN PU T ,
ID EN T IFIC A N D O E L
T IP O D E DATO Q U E
S E IN G R E S A R
Field Container
Tam bin, si deseam os re su m ir el Label m s el cam po en una sola
ln ea en pantalla, lo podem os re aliz ar u tiliz a n d o un com ponente
field container.
F IE LD C O N T A IN E R
El u so de fie ld c o n ta in e r a tra v s d e jQ u e ry M obile puede a p ro v e c h a rse siem pre en pantallas d e amplia
visualizacin, aunque d e b e m o s ten er en cu e n ta que. si un form ulario co n tie n e d em asia d o s cam p o s,
para red u cir la invasin d e w id g ets en la pantalla d e la W e b A p p p o d r re e m p la z a rse el u s o de Label for
por el atributo placeholder.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Password
Tam bin p o d em o s cre a r cam p o s del tip o c o n t r a s e a , in d ica n d o
en el atrib u to T y p e = p a s s w o rd .
Number
El a trib u to ty p e = n u m b e r nos h a b ilita a in g re sa r solo caracteres
u tiliz a n d o el teclad o n u m rico del d isp o s itiv o m vil, au n q u e debem os
a cla ra r que esto solo fu n cio n a en sm a rtp h o n e s en m odo v e rtic a l y no
apaisado.
www.redusers.com
124
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
E-mail
El atributo type= em ar activa el form ato de teclado para ingresar una
d ireccin de correo electrnico, identificando la tecla @ (arroba) en el
teclado com n del d isp o sitivo m vil. Funciona en tablets y sm artphones.
*4
<>
M aM aW *
**o
n a
"
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
URL
S im ila r al anterior, este in p u t ty p e nos h ab ilita a e s c rib ir una
U RL. En los d isp o s itiv o s m o d erno s, d ep e n d ie n d o de la m arca, puede
h a b ilita r o no teclas esp eciales p ara in g resar www., .com , y/.
En los d is p o s itiv o s m s m odernos, d ep e n d ien d o del sistem a
o p e ra tivo , puede in c lu ir so lo la tecla esp ecial /.
ro M o m *
(J Q
-f
n. fcuiMU
m^eMtue-mad
Iniliw'* *
I9M lto Htb
[
K'Krt*Hrtv*n*1,yrWv-i<.i*<
<
MoM'Web
Q
W
A
E
S
7
MJ3
R
F
D
X
T
G
V
/
Y
H
U
J
K
N
1
L
m
.
cam
q w e r t y i l l o
P
f
1
z x c v b n m *
rm
t23
SBS
, i
o 1
Tel
Este in p u t typ e fu n cio n a, al igual que Number, p e rm itie n d o ingresar
un n m ero de telfon o en el cam po. Reco rdem os que la a c tiv a c i n del
teclad o n u m rico slo fu n cio n a en sm artp h o n e s en m odo v e rtic a l y, a
d ife re n cia de Number, h ab ilita los caracte re s * y #.
www.redusers.com
126
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
am
*oc
OH.
5 MI
ron
ru v
MMO
/X V Z
Date
A tra v s de input type= date p odrem os in g re sa r una fecha
fo rm atead a com o d a/m es/ao. Debem os tener en cuenta que este
in p u t typ e se v is u a liz a de form a d istin ta en los d ife re n te s m otores
de naveg ad o res w eb; p or lo tanto, en d e te rm in a d a s o casio n es este
tip o de cam po fu n c io n a r slo com o un TextBox ms.
www.redusers.com
127
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
Them es
jQ u e r y M obile in co rp o ra u n a serie de temas
en su p la n tilla CSS. Si u tiliz a m o s u n a v e rs i n
antigua, d isp o n ib le hasta la 1.3.2, podem os
H A ST A LA V E R S IO N
1.3.2, JQ U E R Y M O B IL E
IN C O R P O R A B A
CINCO T E M A S
D IF E R E N T E S
f : ijQuer/
O
to d ,
S atn p l
n d
R * t OOl, ft t f | 'N *
* * K l o n ly lnH K n
Im k r d H ll r o
Rm o o n l r II** m
O
lln k r d fc * ! II m i
O IU<ku
O R-
ihrkbo
( h c ik b a i
j |
0 11
OVIMMI1
IN P U T T Y P E D A TE
In p u t T y p e D a te v a ra su visualizacin segn el n a v e g a d o r w e b que utilice el u su ario de nuestra W ebA pp;
por lo tanto, otra alternativa se r utilizar, d e fo rm a independiente, un cam p o p ara el da, otro p a ra el m es
y o tro p ara el ao, p a ra que el u su ario c a rg u e p o r se p a ra d o e l va lo r d e la fech a en c a d a uno.
www.redusers.com
128
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
Ejercicio integrador
N u evam en te nos e n co n tram o s con u n e je rc ic io in te g rad o r que nos
a y u d a r a re p asar alg u n o s co n cep to s hasta aho ra visto s y a co n o cer
m e jo r el resto de las b on d ad es que JQ M pone a n u e stra d isp o sici n .
V o lvem o s a u tiliz a r el e je rc ic io re a liz a d o en el Captulo 3, que
a d ap tare m o s lig eram en te para que pueda v is u a liz a rs e de m anera
d ife re n cia d a en tab lets. D escarguem os, e n to nces, el c d ig o de
e jem p lo de este e je rc ic io desde p re m iu m .re d u se rs.c o m para
p o d er m o d ificar su estru ctu ra .
LA E X P E R IE N C IA DE
NAVEGACIN C A M BIA
Adaptacin a las
pantallas de tablets
Com o bien sabem os, las p a n ta lla s de tablets
R O T U N D A M EN T E E N T R E
Y S E IS P U LG A D A S
telfon o m vil.
Si d isp o n em o s de un d is p o s itiv o de hasta
cin co pulgadas, la u s a b ilid a d de una W ebApp
ser no rm al y se ig u alar a cu a lq u ie r otra
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
div data-role= fo o te r .
Luego a b rim o s un a co p ia de n uestro p ro ye cto a n te rio r y editam os
el a rch ivo index.htm l. Entre <div data-role= page > y
www.redusers.com
130
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
</ul>
</div>
<div d a ta -ro le = "h e a d e r" d a ta -th e m e = "c " a lign = //center//>
Men
G R E E N B E R R IE S
Wc
F A R M IN G
H is to ria
P ro d u c to s
>
Sb o w ro o m
>
C o n ta cto
>
B e n v c iio o s G r c e n & B e r r ic s F a r m in g
N u estra co m p aa s e e sp e cia liz a e n te o tan lad o n . c o se c h a y distrito!
rojos y p ro d u cio s re te c o ra c o s
A d ife re n c ia d e o t ra s firm a s p ro d u c to ra s . G r e e n ^ B e r ie s p n s e e d o s
o rg n ic o s , s e m b ra d o s y c o s e c h a d o s b o fi to s p rin c ip a le s e s t n d a re s ;
fK if o p o m c o s . g u o c u m p le n
con s u
otqo !a o rg m c a .
pero c o n
d e s a b o lla d o s In te g ra m e n te b a jo e s is te m a d e h t ro p c n a
www.redusers.com
te rtt
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</div>
</div>
id= im agenLogo y alin eacin centrada. Para crear un botn que perm ita
d esp legar el w id g et Panel, debem os agregar antes de id= im agenLogo
un h ip e rvn c u lo fo rm atead o con los siguientes atributos:
www.redusers.com
132
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
data-icon= bars
data-corners= false
data-iconpos= n o te xt
Los atributos recin listados nos perm iten establecer un icono
del tipo barra, del estilo del men u tiliz ad o en la m ayora de las
apps actuales, sin bordes redondeados. Al no u tiliz a r el atributo
</div>
</div>
index.htm l
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</dv>
<ul d a ta -ro le = yylistvie w /y data-the m e = yyayy>
< l x a h re f= yy#yy class=y/ui-btn -a ctive u i-sta te -p e rsisty/> H istoria</
a></li>
< l i x a h re f= y/pro d u ctos.h tm ry>Productos</a></l>
< l x a h re f= /ysh o w ro o m .h tm l"> S h o w ro o m < / a x/ li>
< l i x a h re f= y/con tacto.htm l/y>Contacto</a> </li>
</ul>
</div>
< d iv d a ta -ro le = y/headeryy d a ta -th e m e = "c ">
<a h re f= yy# panelM enuyy data-icon = yybarsyy d a ta -c o rn e rs = "fa ls e "
d a ta -ic o n p o s= "n o te xtyyx / a >
<div id= /ym a ge n Lo g o " a lig n = y/ce n te ry/>
<m g src=yyim a ge n e s/Lo g o 8 0 0 xl5 0 .gifyy style = yyw d th :8 0 % ;m a x w d th :4 0 0 p xy/a lt= y/G reenberres L o g o " lo n gd e sc= "G re en b errie s Farm ing L o g o yy>
</div>
</dv>
< d iv d a ta -ro le = yycontentyy data-the m e = yydyy>
<p>B ienvenido a < b > G re e n & B e rrie s Farmng</b>.</p>
< p>N uestra com pa& n tilde;& iacute;a se especializa en la
plantaci& oacute;n, cosecha y distribuci& oacute;n por m ayor y m enor de frutos rojos
www.redusers.com
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
y productos relacionados.</p>
<p></p>
< p > A diferencia de otras firm as productoras, G re e n & B e rrie s po
see dos l& iacute;neas de productos: Frutos rojos org& aacute;nicos, sembrados
y cosechados bajo los principales est& aacute;ndares de calidad, y Frutos rojos
hidrop& oacute;nicos, que cum plen con su etiqueta o rg& aa cu te;n ica, pero con la d ife
rencia que estos son sem brados y desarrollados & iacute;ntegram ente bajo el sistema
de hidroponia.</p>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n ^ 'fix e d " data-them e= //c//>
< h 4 > C o p yrig h t 2014 - Fernando Luna</h4>
</div>
</div>
</body>
</html>
< n *o * w * * c
w> r
MMWII
riflurUO*
t*M MH
rMgiwnmu
Copy
t e n ^ ia u
t lum
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
<head>
< title > G re e n b e rrie s Farm ng</title>
<m eta nam e=//v ie w p o rt// c o n te n t^ 'w id tl^ d e v ic e -w id th , in itia l-s c a le = l">
<lnl< re l= "s ty le s h e e t" h re f= //http://code.jquery.com/m obile/1.3.2/jquery.
m obile -1 .3 .2 .m in.css" />
< script src= //http://code.jquery.com /jquery-1.9.1.m in.js//></script>
< script s r c = " http://code.jquery.com /m obile/1.3.2/jquery.m obile-1.3.2.m n.
js " x / s c r ip t >
</script>
</head>
<body>
<dv d a ta -ro le = "p a g e " id = "p ro d u c to s" data-the m e = //d//>
< dv d a ta -ro le = "p a n e l" id = "p a n e lM e n u " d a ta -d is p la y = "re v e a l" datapositon=,/le f t" d a ta -th e m e = "a ">
<dv id=//titu lo M e n u " a lig n = "c e n te r">
<p> M en& uacute; </p>
<p> </p>
</div>
< ul d a ta -ro le = "lis tv ie w // d a ta -th e m e = "a ">
d i x a h r e f= "in d e x .h tm r > H is to n a < / a x / li>
< l i x a h r e f = " # " cla ss= "u i-b tn -a ctve ui-state -pe rsist"> P ro d u cto s< /
a x / li>
< l i x a h re f= "sh o w ro o m .h tm l,/> S h o w ro o m < / a x / li>
< l i x a h re f= "co n ta c to .h tm l//>Contacto</a> </li>
</lll>
</dv>
<div d a ta -ro le = "h e a d e r"d a ta -th e m e = "c " algn = //center'/>
<a h re f= "# p a n e lM e n u " d a ta -ic o n = "b a rs " d a ta -c o rn e rs = "fa ls e " dataco np o s= "no te xt//x / a >
< d iv d = "m a g e n L o g o "a lig n = "c e n te r">
<im g s rc = "im a g e n e s / L o g o 8 0 0 xl5 0 .g if" s ty le = "w d th :8 0 % ;m a x w id th :4 0 0 p x "a lt= "G re e n b e m e s L o g o " longde $ c= "G re e nb em e s Farm ing L o g o ">
</div>
</dv>
www.redusers.com
136
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
</div>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n = "fixe d " data-the m e = //c//>
< h 4 > C o pyrigh t 2014 - Fernando Luna</h4>
</div>
</div>
</body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
s h o w ro o m .h tm l
www.redusers.com
USEFtS
4 C O M P O N E N T E S D E J Q U E R Y M O B IL E
</div>
</dv>
< d iv d a ta -ro le = "c o n te n t" d a ta -th e m e = "d ">
< h4 > Aten ci& oacute;n al público</h4>
<div d=//m apa// a !ig n = "c e n te r">
< m g b o rd e r= "2 " style = 'b o rd e r-c o lo r:# 6 9 C ' s rc = "http://maps.
googleapis.com /m aps/api/staticm ap?center=-34.618747,-58.842229&zoom =16&
s ize = 3 5 0 x2 0 0 & m a rk e rs = s ize :m d % 7 C c o lo r:b k ie % 7 C la b e l :G % 7 C -3 4 .618747,5 8.8 42 22 9& sensor=true" />
</div>
< p > Lo invitam os a conocer nuestro Show room ubicado en
< stron g> Au topista del Oeste, K M . 44.500, L a R eja, Buenos Aires</strong>.</p>
< p > A qu & acu te; encontrar& aacute; todos nuestros productos envasados y
listos para llevar. Com uníquese previam ente por te l& eacu te;fon o para coordi
n ar una cita : <strong>02321-234-9876</strong></p>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n = "fixe d " d a ta -th e m e = "c ">
< h 4 > C o p yrigh t 2014 - Fernando Luna</h4>
</div>
</dv>
</body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
c o n ta c to .h tm l
}
</script>
</head>
<body>
< d iv d a ta -ro le = "p a g e " id = "p ro d u c to s" d a ta -th e m e = "d ">
< d iv d a ta -ro le = "p a n e l" id = "p a n e lM e n u " d a ta -d is p la y = "re v e a l" datap o s itio n = "le ft" d a ta -th e m e = "a ">
<div id = "titu lo M e n u " a lig n = //c e n te r,/>
<p>M en& uacute;</p>
<p> </p>
</div>
www.redusers.com
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
</div>
</dv>
< d iv d a ta -ro le = ;/c o n te n t" d a ta -th e m e = "d ">
< h 4 > Fo rm u lario de contacto</h4>
<form id = "e m a il" m e th o d = "p u t"
action= //e n v ia rE m a il()// >
c in p u t ty p e = "e in a il" d = "c o rre o "p la c e h o ld e r= "s u correo
e le c tr& o a c u te ;n ic o " />
c in p u t t y p e = " t e x t" id = "a s u n to " n a m e = "a su n to "
p la ce h o ld e r= " A s u n to " />
c d iv c la s s = "u i-fie ld -c o n ta in ">
c te x ta re a n a m e = "m e n sa je " d=//mensaje//
p la c e h o ld e r= "M e n sa je " ro w s = "1 0 " c o ls = "5 0 " > c/textarea>
c in p u t ty p e = "b u tto n // id = "e n v ia r" v a lu e = "E n v ia r"
o n c lc k = "s e n d M a IO " d a ta -in lin e = "tru e "/ >
c/form >
c/div>
c / d iv >
www.redusers.com
141
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
R ESU M EN
H as ta aqu h em o s c o n o c id o los co m p o n e n tes de jQ u e ry M obile que n o s perm iten d e s p le g a r un de
sarro llo w e b mvil c o n m uy p o co esfu e rzo y. a su ve z, o b te n e r resu ltado s re a le s en tiem po rcord.
Pu d im o s
tam b in
verifica r
c m o
n u estra
app
se
c o m p o rta
en
platafo rm as
m viles
www.redusers.com
142
USEFtS
4 . C O M P O N E N T E S D E J Q U E R Y M O B IL E
Actividades
T E S T DE A U TO E V A L U A C I N ______________________
1
10
E JE R C IC IO S P R C TIC O S_________________________
1
www.redusers.com
* n
\\\\\\\\\\\\\\\
///////////////
Interaccin con
el hardware de
comunicaciones
Este c a p itu lo n o s tra s la d a r al te rre n o de las c o m u n ic a c io n e s
a tra v s de los d is p o s itiv o s m v ile s : v id e o c o n fe re n c ia s ,
lla m a d a s v a S k y p e , lla m a d o s te le f n ic o s y m e n sa je s d e te x to .
Estas so n a lg u n a s de las o p c io n e s q u e a p re n d e re m o s a
in te g ra r en n u e stra s a p lic a c io n e s w e b m v ile s : c o n o c e re m o s
c m o in v o c a rla s y c m o se c o m p o rta ca d a una d e ellas
c u a n d o el d is p o s itiv o n o p o se e a lg u n a c a ra c te rs tic a .
Invocar llamados
v mensaies de te xto ....
168
Resumen........................... .......173
71z 1
144
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
La Web y el hardware
de los dispositivos mviles
Con el a va n ce te cn o l g ico de las co m u n ica cio n e s y la m asificaci n
a n iv e l m u n d ia l de las co m p u ta d o ra s, in te rne t, los te l fo n o s m vile s
y las tab lets, entre o tros d isp o sitiv o s, h o y co n tam o s con un
s in n m e ro de o p cio n es para co m u n ica rn o s co n n u e stro s pares.
Y lo m e jo r de todo es que, g racias a la in teg raci n de los se rv icio s
de datos en los telfono s m vile s y tablets, pod em os h acer uso de
casi todas estas fo rm as de co m u n ica ci n desde n uestro d is p o s itiv o
m v il. T am p o co pod em os d e ja r de re co n o cer que hubo una fuerte
p en etraci n de la red in te rn e t en los sm artp h o n e s y tablets, lo cual
h iz o e v o lu c io n a r fa vo ra b le m e n te los e st n d are s web, p ara que estos
ltim o s se in te g raran con las d iv e rs a s o p cio n e s de co m u n ica ci n con
las que co n tam o s hoy.
C uand o h ab lam os de sistem as de comunicacin, debem os
s e p a ra r el co n cep to en tres m e to d o lo g as d istin tas:
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
145
LA R E D D E T E L E F O N A
C L S IC A YA NO
E S UN R E Q U IS IT O
IN D IS P E N S A B L E P A R A
H A B L A R CON OTRO S
www.redusers.com
146
l/SERSl
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Hipervnculos en jQ u e ry Mobile
En los p rim ero s cap tu lo s de esta obra cono cim o s la etiq ueta lin k ,
la cual nos perm ite estab lecer un h ip e rv n c u lo hacia otra pgina web
o e n v ia r un co rreo electrn ico. En los navegadores web m vile s se
extendi esta fu n cio n alid ad , a l agregar la capacidad de in vo ca r a
eventos de llam ad a telefnica, SMS, Skype, entre otros. El uso de lin k
se rea liz a a travs del tag <a h re f= u r l > . En jQ u e ry M obile podem os
u tiliz a rlo de d iversas form as, com o, p or ejem plo, a travs de un botn:
<a h re f= "w w w .m is itio .c o m "d a ta -ro le = "b u tto n " d = "m B o to n "> Ir al sitio web</a>
Tam bin podem os utilizarlo con un sim ple texto que contenga una URL:
<a h r e f = " w w w .m isitio .co m " id= //m L in k //> lr al sitio web</a>
O a tra v s d e l u so de listas:
U R IS C H E M E S
S e denom ina U R I s c h e m e s a la s e s p e c ific a cio n e s d e c a ra c te re s re s e rv a d o s que perm iten e s ta b le c e r un
hipervnculo a una funcin e s p e c ific a dentro d e un siste m a o p era tivo o h acia alguna a p lica ci n en particular.
S o n m uy utilizadas en internet, y c a d a v e z m s e m p re s a s de so ftw a re sum an e s ta s c a ra c te rs tic a s
a la W e b actual.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B S S a
147
<a href=//tel:54911-1234-5678'/>Llmame</a>
www.redusers.com
148
5. IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Formato numrico
El nm ero de te l fo n o que agregam os en el h ip e rv n c u lo puede
esta r escrito de m anera estndar, si es que la llam ad a a re a liz a r se
en cu en tra en una pgina que solo v is u a liz a n u su ario s de la m ism a
regin y lo calidad .
Para las pginas que son u tiliz a d a s a n iv e l in te rn a c io n a l, se debe
e sta b le ce r el c d ig o de pas seg u id o del cdigo de rea. Esto p erm itir
re a liz a r la llam a d a d esde un pas o lo ca lid a d d ife re n te de d on d e se
e n cu en tre ub icad o fsicam e n te el usuario.
K .
r 1
L" a
USO
DE
EN
HI O
V V
v U
1N
1 U
V M
l ' I tER
l l V OS
W
LDE
S I T
1E
U L
L iE
U F
I O
V N
i l O
V
b
l l IIP
I
1
V IN
l UE
L o s sitios w e b que carg an p g in as donde figura un nm ero telef n ico utilizando el n a v e g a d o r w e b Safari
para iPhone form atean auto m tica m en te el n m ero p a ra que p o d a m o s llam ar co n solo presionar
so b re
www.redusers.com
te . Y -
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
C D IG O S T E L E F N IC O S P A R A L A C IU D A D D E B U E N O S A IR E S
FORMATO NUMRICO
T VALOR
REGIN
Cdigo de pas
54
Arge n tin a
Arge n tin a
Cdigo de rea
11
Buenos A ire s ( A M B A )
<a h re f= "te l:+ 5 4 9 1 1 -1 2 3 4 -5 6 7 8 /' d a ta -ro le = "b u tto n " id= ,/m iB o to n /,x i m g
src= "im gen es/phone-icon .pn g" />+54911-1234-5678</a>
com o se p a ra d o r en el nm ero de te l fo n o no
Skype Cali
C uand o se p o p u la riz la p lata fo rm a Skyp e, la firm a ento nces duea
de este p ro d ucto instaur , en el m ercad o web, los d en o m in ad o s
S k y p e B u t t o n s . Esto s b oto nes se p o d an in te g ra r en p ginas web
p ara que el u su ario que tu vie se Sk yp e en su co m p u tad o ra p u d iera
co n ta cta r a una em presa que b rin d a a te n ci n a tra v s de esta v a
con solo p re s io n a r este botn.
www.redusers.com
150
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
A l p re s io n a r el b ot n donde figure un n o m b r e d e u s u a r io S k y p e
v lid o , se e je cu ta r la p lata fo rm a de m e n sa je ra y se in icia r la
co m u n ica ci n con el d e s tin a ta rio esp ecificad o usuariodeskype.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
www.redusers.com
152
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
<a href= "Fa ce tim e :+ 5 4 9 1 1 2 3 4 5 6 7 8 9 " d a ta -ro le = "b u tto n " d a ta -ic o n = "s k y p e "
id = "m B o to n F T im e "> L l m a m e p o r Facetime</a>
J U an pari
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
<a h re f= "F a c e tim e :m yA p p le ID @ m ye m a il.co m " d a ta -ro le = "b u tto n " dataic o n = "s k y p e " id = "m iB o to n F T m e "> L l m a m e p o r Facetme</a>
<a h ref= "sm s:+ 5 4 9 1 1 2 3 4 5 6 7 8 9 " d a ta -ro le = "b u tto n " d a ta -c o n = "s k yp e "
d = "m B o to n S M S "> E n v ia r SM S</a>
< a href= "sm s:+ 5 4 9 1 1 2 3 4 5 6 7 8 9 ?b ody= H ola" d a ta -ro le = "b u tto n " dataic o n = "s k y p e " id = "m iB o to n S M S c o n T e x to "> E n v a r S M S conTexto</a>
www.redusers.com
154
5. IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
j k
9 ,m *
-=>
C2D
c5>
u i i n A P T r
r i i
i r n u
i j
ii
L o s w id g ets incluidos en jQ u e ry M o b ile tienen una infinidad d e funciones, atributos y even to s que pueden
s e r in vo ca d o s tan to d e s d e el H T M L co m o a tra v s de Ja v a S c r ip t . E s con ven iente c o n o c e r to d a su
cap a c id a d recu rrien d o a la d o cu m entaci n oficial: h ttp :/ / a p i.jq u e r y m o b ile .c o m / c a t e g o r y / w id g e t s .
www.redusers.com
It e d & i
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
155
<a href= "bbm ://2 9 9 4 9 AD 3 ?chat" d a ta -ro le = "b u tto n " id = " b t n B B M " x m g
src= "m agen es/bb m -con .pn g" w d th = ''1 8 p x " h e g h t= "1 8 p x"/ > B la c k b e rry M essenger</a>
Limitacin de BBM
B la c k B e rry M essenger p erm ite e stab le ce r un a co m u n ica c i n con
o tro PIN solo cu an d o am bos in te rlo cu to re s se a ce p taro n p re viam e n te
con los u su a rio s. Por ello, cu an d o in vo q u e m o s un chat hacia un PIN
de B la c k B e rry que no figura com o co ntacto, se a b rir d irectam en te
la v e n ta n a de in v ita c i n de BBM.
APIS DE COMUNICACION
A lo largo del crecim ie n to d e las p la ta fo rm a s m viles, m s y m s sitios w e b , a p p s nativas y platafo rm as
de servicio w e b incluirn U RI s c h e m e s dentro de la funcionalidad m obile. E s bueno re c o rre r los b u sca d o res
w e b d e fo rm a p eri d ica p a ra c o n o c e r a fo nd o los a v a n c e s en e s te terreno.
www.redusers.com
156
l/SERSl
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Comunicacin a travs
de redes sociales
En base al im p a cto de las redes so ciales y al uso co tid ia n o que
todos les dam os, sum ad o a que casi to d as las em p resas co n sig u iero n
nuevos can a le s de co m u n ica ci n d ire cta con sus clie n te s a tra v s de
estas, las p lata fo rm a s m s p o p u la re s lle va ro n su p ro p io U RI schem e
a los naveg ad o res de e s crito rio y m viles.
<a href= "tw itter://u ser?screen _nam e= m oblepadaw an " d a ta -ro le = ,/button//
d = "b tn T w itte r//>@ m oblepadaw an en Tw tter< /a>
T a m b i n co n ta m o s co n la p o s ib ilid a d de in ic ia r un m e n sa je con
un texto p re d e fin id o , de la m ism a m a n e ra qu e lo h acem o s con un
e-m ail o SMS:
<a
Kef=//tw itte r:/ /p o s t? m e s sa g e = G e n ia l% 2 0 e l% 2 0 s tio % 2 0 V id a % 2 0 M o b ile % 2 0
http://w w w .vida m o bile .com .ai7 .% 2 0 P o w e re d% 2 0 by% 2 0 & # 6 4 m ob ilep adaw a n "
d a ta -ro le = "b u tto n " d = //b tn P o stT w itte r//> P o stea r U R L e nTw itte r< /a>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
<a h ref= //fb://profile/1363874497// d a ta -ro le = "b u tto n " id = "b tn F B P ro file "> < irrig
src= "im agen es/fb-con .p ng" w id th = "1 8 p x " he ight= /T 8 p x ///> P e rfil de Facebook</a>
www.redusers.com
158
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Llam ad o telefnico .
Llam ad o p or Skype.
V id e o c o n fe re n c ia con FaceTim e.
E n v ia r SMS.
www.redusers.com
It e d & i
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
159
Y Facebook Messenger?
En el caso p u n tu a l de los U RI sch em es d e sa rro lla d o s para
Facebook, cuand o d eseem os in ic ia r un chat u tiliz a n d o esta tecnologa,
el d is p o s itiv o m vil d e te rm in a r si el eq u ip o tiene o no in stalad o
F a c e b o o k M e s s e n g e r . Si so lo tie n e la app de Facebook, se in ic ia r el
ch at a tra v s de esta; si existe Faceb oo k M essenger en el d isp o sitivo ,
se a b rir y se in ic ia r la co m u n ica ci n p or chat desde esta p lata fo rm a .
a n i
n f "
/\/\a m
i ki
i r 'r n
A P I DE C O M U N IC AC IO N FAC EB O O K
www.redusers.com
160
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
D E B E M O S C O N S ID E R A R
Q U E T W IT T E R SOLO
P E R M I T E P U B L IC A R
M E N S A J E S D E 140
CARACTERES
</head>
<body>
< dv d a ta -ro le = "p a g e " d=,/lstas,/ d a ta -th e m e = "d ">
<div d a ta -ro le = /,header// d a ta -th e m e = "c ">
< h4 > C ap& acute;tulo 05</h4>
</dv>
< d iv d a ta -ro le = //content//>
<h4> Com entarios en 140</h4>
< p>D & eacute;janos tus com entarios p o rT w itte r:< /p >
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
</div>
</body>
</html>
www.redusers.com
162
l/SERSl
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
>
else {
strR e sto .style.co lo r = 'ftOOOOOO';
}
}
La va ria b le intCuenta posee un v a lo r in ic ia l en O, la v a ria b le ntTotal
un v a lo r in ic ia l de 140. intCuenta se ir in crem e n ta n d o a m ed id a que
agregam os ca ractere s en txtC om en tarios. Luego, intResultado te n d r el
v a lo r de intTotal m enos intCuenta, y lo m o s tra r en el d iv Resto.
LLA M A D O S M E D IA N TE W TA I
Al igual que la s d iv e rs a s fun cio n es p a ra realizar llam ad o s, p o d e m o s a p ro vech ar
la funcionalidad
W T A I:/ / , que nos perm ite g e n e ra r llam ad o s q u e incluyan las cod ifica cio n e s d e to n o s c o n o c id a s
co m o D T M F . t s t o p ro ve er so p o rte para co m u n ica rn o s a n m ero s telef n ico s en los que el con testad o r
auto m tico n o s atien d e en una prim era instancia.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
vwvWa-(Wercr,a-VoMcv'j| ^
C c m * n t a i o i * n 140
On*'K>fr<js(on<e<iiiupo<i <*!**
o*comconensepodwwsretlalr un
>o t i* c n m n m x f c h a i ' o
t W M i t a en
App
S o o n o s * s ! 3 i x b i - c a r f m e n s i j e . p re i(C *n *>
nensaies
reensaco
q w
f g
*0
j k
prewrartio
q w
presionan DresonnOjIa
he k h m
e r t y u
mm a r k
0 Pi
1
m
t3 1
ca
O-
*-*
nn
f
x
g
c
U B I
j k ,
h
v
CU
dT
function e n v ia rT w itO {
var ntCuenta = d o cu m e n t.g e tE le m e n tB yld ('txtC o m e n ta rio s').va lu .le n g th ;
var com entarios = d o c u m e n t.g e tE le m e n tB yId ('txtC o m e n ta n o s ').va lu e ;
if (in tC u en ta > 140) (
w in d o w .a le rt('M e n sa je e xte n so /);
}
else {
var msj = co m e n ta ro s.re p la c e (" " , " % 2 0 " ) ;
lo caton .href= "tw tter://post?m essage= " + msj;
return;
}
}
www.redusers.com
164
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
LA V A R IA B L E
C O M E N T A R IO S
T O M A E L V A L O R DE
LO IN G R E S A D O EN
T X T C O M E N T A R IO S
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
F ig u ra 11. Una vez escrito el mensaje, solo nos resta presionar el botn
E n v i a r para finalizar su publicacin desde la app nativa de Twitter.
Comportamientos de los
eventos segn el dispositivo
Com o hem os v is to hasta aho ra, el uso de U RI schem es nos p erm ite
e je cu ta r d ive rsa s m aneras de co m u n ica c i n desde los d isp o s itiv o s
m vile s. Pero vale a cla ra r n u e vam en te que, d ep e n d ie n d o del
d is p o s itiv o m v il, algunas de estas tareas no se podrn lle v a r
a cabo de la m anera habitual.
Veam os, a co n tin u a ci n , cm o responde cada uno de los
d isp o s itiv o s m vile s a los even to s a tra v s de U RI schem es.
www.redusers.com
166
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
SO LO SE PUEDE
IN V O C A R E L L L A M A D O
A F A C E T IM E D E S D E
U N A W E B M V IL
C A R G A D A E N IOS
fu n cio narn sin problem a alguno desde cu alq u ier d isp o sitivo m vil,
tablet o sm artphone y prcticam ente desde cu alq u ier sistem a operativo
m vil, siem pre y cuando la app est instalada en el d ispositivo.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
F ig u ra 13. El iPad,
al no poder realizar
un llamado, ofrece
copiar el nmero,
guardarlo com o contacto
o enviar un mensaje
va iM e ssa g e.
Si no tenem o s o p ci n de n in g u n a p lata fo rm a de co m u n ica ci n en la
tablet, solo nos m o strar la o p ci n de agregar el n m ero de telfon o a
un co n tacto n u evo o existen te de nu estra lib re ta de d ire ccio n e s.
www.redusers.com
168
l/SERSl
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Invocar llamados y
mensajes de texto
A co n tin u aci n , re a liz a re m o s u n e je rc ic io d on d e d elin earem o s
un p erfil de u su a rio y agregarem os en l los b oto nes necesario s para
in ic ia r una co m u n ica ci n a trav s de d istin to s m edios. Para poder
lle v a r a cabo el e je rc ic io , d eb erem os d escarg ar el a rc h iv o Cap05.
<href="av:+numerodetelefono>.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
A im vto d *
n i D ilu ir r u i n a d a n u a a t i t r i c e i M d l
clnt#
** alln n u a a lii p i t n o p a l a i| a w o * i|ualar>*4
cintactc d i# ri r o n *1 c u a io o
m #4ko
* u n o dx ton
M nn ln iln
p w p lw iifw .p o f lo tanto in a u n * un
rt|in . I* r<t|in:iii*ntogiin qua partA atendw
q u u s trl
n c a lt a A b i fi# c o r r o n a c a n u a m r o * JM r o a d *
i l u d m it o a l c u p o n # a a u p o f l K O n m M i r o a
e ip e c ia l i u i con u n tm a d ir* c iA p ra
aWndnrii
I I v n lr n ia
O nunrmiWMA
O
C D N IC A M E D IC A
www.redusers.com
170
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Listview que nos p erm itir in clu ir una im agen y contenidos ms extensos.
M od ifiquem os e n to nce s el a rc h iv o endocrino.htm l ub icad o dentro
de la ca rp e ta del p ro ye cto d escargado. A l ab rirlo , solo en co n trarem o s
una pgina v a c a sin co n te n id o en el ap artad o content. Agreguem os
lo siguiente:
<p a lig n = "c e n te r"x s tro n g > E n d o c rin o lo g a c / s tro n g > c / p >
<div cla ss= "con te n t-p rm a ry":>
<ul d a ta -ro le = "lis tv ie w " d a ta -c o rn e rs = "tru e ">
c l i x a h re f= "d rn c o .h tm l" d a ta -re l= "D ia lo g ">
c im g src= //im agenes/drnico.png///>
ch3 >D r. N icol& aacute;s M oreno</h3>
< p > E sp ecia lista en endocrinologa</p>
< / a x / l>
</ul>
<ul d a ta -ro le = "lis tv ie w " d a ta -corn e rs= //tru e //>
c l i x a h re f= "d rju ly .h tm l" d a ta -re l= "D ia lo g ">
c im g src= "im agen es/drju ly.png'7 >
ch3 >D r. Ju li& a a cu te ;n Contec/h3>
cp > E sp e cia lista en endocrin ologa infantilc/p>
c/a>c/li>
c/ul>
c/div>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
< !D O C T Y P E h tm l>
< htm l>
<head>
< title > D o c to r Assistance - P rofesionales E ndocrinologa< /title>
<m eta n a m e = "v ie w p o rt" content= /,w id th = d e vice-w id th / in itia l-s c a le = l">
<lnl< re l= "s ty le s h e e t" h re f= //http://code.jquery.com/m obile/1.3.2/jquery.
m o b ile -l.3 -2 .m in .c s s " />
< script src= /,h ttp ://co d e .jq u e ry.co m /jq u e ry-1 .9 .1 .m in .js"x/scrip t>
< script s r c = " http://code.jquery.com /m obile/1.3.2/jquery.m obile-1.3.2.m n.
js " x / s c r ip t >
</head>
<body>
< d iv d a ta -ro le = "p a g e " id = "c o n te n id o " d a ta -th e m e = "c ">
<div d a ta -ro le = "h e a d e r" >
<p a lig n = "c e n te r">
< strong> D r. N icol& aacute;s M oreno - Endocrin& oacute;logo</strong>
</p>
</div>
< d iv d a ta -ro le = //content// id = "c o n te n id o ">
<div id = "im a g e n // a lig n = ;/c e n te r"> < im g src= "im agen es/drn ico.pn g"/> < /
dv>
<a h re f= "te l:+ 5 4 9 1 187654321" d a ta -ro le = "b u tto n " datac o rn e rs = "fa ls e "> < m g src= "im agen es/phone-icon .pn g" w id th = "1 8 p x "
h e ig h t= "1 8 p x " /> Tel& eacu te;fon o mvil</a>
<a h ref= "sm s:+ 5 4 9 1 1 8 7 6 5 4 3 2 1 " d a ta -ro le = "b u tto n " datacorners=//f a l s e " x i m g src= "m agenes/sm s-icon.png" w id th = "1 8 p x " h e ig h t= "1 8 p x "
/> S M S al mvil</a>
</div>
</div>
</body>
</html>
www.redusers.com
S E R
5.
< !D 0 C T Y P E htrnl>
<htm l>
<head>
< title > D o c to r Assistance - P rofesionales E ndocrinologa< /title>
c m e ta nam e=//v ie w p o rt// content=//w id th = d e vice -w id th / in itia l-s c a le = l//>
c lin k re l= "style s h e e ty' h re f= //http://code.jquery.com/m oble/1.3.2/jquery.
m obile -1 .3 .2 .m in.css" />
< script src= /' http://code.jquery.com /jquery-1.9.1.m n.js/'>< /script>
< script src= //http://code.jquery.com /m oble/1.3.2/jquery.m oble-1.3.2.m n.
js"> < /scnpt>
</head>
<body>
<div d a ta -ro le = "p a g e " id = "c o n te n d o " d a ta -th e m e = "c ">
< d iv d a ta -ro le = //header// >
<p a lig n = //center/y>
< strong> D r. Ju l& a a cu te ;n Conte - E ndocrn & oacu te;logo nfantil</
strong>
</p>
</div>
<div d ata-ro le rr^co nten t77id = /ycontenido/7>
< d iv id= //im agen// a lign = /yce n te r/,x i m g src= y/im agenes/drjuly.png/y/></
www.redusers.com
C E2 Z3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
173
div>
<a h re f= "s k y p e :e c h o l2 3 ? c a H " d a ta -ro le = //button// d a ta c o r n e r s = " f a ls e " x im g src= //im agenes/skype-icon.png// w id th = "1 8 p x "
h e ig h t= "1 8 p x " />
L la m a r por Skype</a>
<a h r e f^ 'b b m V / B B M P IN T c h a t"d a ta -ro le = "b u tto n "d a ta c o r n e r s = " f a ls e " x im g src= //m agenes/bbni-icon.png// w id th = "1 8 p x " he ight= //18px//
/> B la c k b e rry Messenger</a>
</div>
</dv>
</body>
</html>
www.redusers.com
174
USEFtS
5 . IN T E R A C C I N C O N E L H A R D W A R E D E C O M U N IC A C IO N E S
Actividades
T E S T DE A U TO E V A L U A C I N
1
E JE R C IC IO S P R C TIC O S
1
www.redusers.com
///////////////
Lenguajes de
programacin
A lo la rg o de este c a p tu lo re p a sa re m o s el p ro c e s o
d e c re a c i n d e W e b A p p s d in m ic a s a p ro v e c h a n d o
el p o te n c ia l q u e n os b rin d a n los le n g u a je s de p ro g ra m a c i n
w e b . A tra v s d e e s to s , a p re n d e re m o s a tra b a ja r con
in fo rm a c i n a lm a c e n a d a en una b a se d e d a to s , a g ra b a r
re g is tro s y a g e n e ra r p a n ta lla s d in m ic a s in te g ra n d o
los w id g e ts d e jQ u e r y M o b ile d e sd e el le n g u a je PHP.
Integrar PHP
con jQuery M obile........ ........199
7 1z 1
176
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
Evolucin
A lo largo de la h isto ria de la inform tica, los lenguajes de
p rog ram acin ju g aro n un papel im p ortante y fueron adaptndose,
d u rante las n u evas generaciones, a los avances en esttica,
al fu n cio n am ien to de los sistem as o p erativo s y a la integracin
de nuevos servicio s, com o lo fue el n acim ien to de la WWW.
Los p rim ero s lenguajes de p rog ram acin u tiliz ab a n ed ito res bsicos
(generalm ente, los m ism os ed ito res de texto), y luego para desplegar
un p rogram a se re cu rra a co m p ilad o res especficos para cada sistem a
o perativo . El m und o evo lu cio n , y con la llegada de W in d o w s se
integraron d iversas p latafo rm as que brind aban un ID E com pleto
que reco noca errores en la escritu ra de sentencias, fu n cio n es y
d eclaraci n de variab les. Estos IDE, adem s, p erm itan el desarrollo
de las in terfaces visu a le s de u n a m anera m ucho ms am igable.
Luego, con la lleg ad a de la Web, los ID E ms p o p u lare s debieron
read ap tarse para so p o rta r m ltip le s len g u ajes de p ro g ram acin y, a
su vez, poder in te g ra rlo s en una n ica so lu ci n . Esto es lo que o cu rri
con los e d ito re s de cdigo com o Eclipse, Netbeans, D ream w eaver,
que daban so po rte para d e sa rro llo de so lu cio n e s b asad as en Web.
Estos e d ito re s d eb ieron ad ap tarse, de fo rm a n a tiv a o a tra v s de
p lu g in s, p ara d e te c ta r y so p o rta r cdigo HTML, CSS, JavaScript,
PHP, C#, V isual Basic, VBScript, Ajax, CGI y otros tantos lenguajes
m s que ho y se u tiliz a n a d ia rio en el d e sa rro llo web.
La importancia de lo dinmico
En m u ch o s caso s, la Web p ro m e d io fue o rie n ta d a a lo c o rp o ra tiv o ;
p o r lo ta n to , los ca m b io s q ue en esta o c u rrie ro n fu e ro n m n im o s
y, h asta en m u c h o s caso s, n u lo s. Pero co n el n a c im ie n to , hace
casi una d cad a, de la lla m a d a W e b 2.0, de los b lo g s y de la
in te g ra c i n de c o n te n id o m u ltim e d ia en los s itio s , m u ch as p g in as
w eb, h a s ta in c lu s o las m s s e n c illa s , d e b ie ro n m u d a r su co m o d id a d
e s t tic a h a cia la g e n e ra ci n de c o n te n id o d in m ic o , lo que p erm ite
a s e g u ra r que los u s u a rio s v o lv e r n re ite ra d a s ve ce s en b u sc a de
n u e v o s co n te n id o s .
T am b in las redes so ciale s se in te g ra ro n a las w eb s p a rticu la re s.
De esta m anera, se generan co n te n id o s co m p a rtid o s, tanto en una
www.redusers.com
D E2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
177
. o - o - v i-
.>
b ie s
3 I* * * * . l
www.redusers.com
178
l/SERSl
6.
L E N G U A JE S D E P R O G R A M A C I N
A S P .N E T EST
ASOCIADO A S Q L
S E R V E R , M IE N T R A S
QUE P H P EST
ASO CIADO A M Y SQ L
Qu es PHP?
PH P es un lenguaje de p ro g ram acin de uso general que
p ro p o rcio n a la co d ificaci n de so lu cio n e s del lado del servid o r.
Fue cread o en 1995 p or Rasmus L e r d o r f p ara uso p ersonal. Se
d ise co n el fin de p ro v e e r co n te n id o web d in m ico , y fue p ensado
desde sus in icio s para p o d er v is u a liz a r la in fo rm a c i n s o lic ita d a al
s e rv id o r d entro del co n te n id o H T M L sin n ecesidad de te n e r que llam ar
a un a rc h iv o o lib re ra externo que procese los datos so licitad o s.
PR IM ER AS V E R S IO N E S DE PHP
Dado que P H P n aci de un d esarro llo p ersonalizado, las p rim eras ve rs io n e s de e s te len guaje ace p ta b a n
tanto las ex ten sio n e s de archivo term in a d a s en .P H P c o m o las ex ten sio n es d e archivo .P H P 2 o .PHP3,
donde originalm ente se indicaba co n qu versi n del lenguaje h ab a sid o desarro llad a. A partir de la
ve rsi n 4 .0 , e s to q u ed o bsoleto.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
PHP5.6.0beta3 Released
T h t PHP d w o la p m e * ! le n t
ib M a y 2 0 K
o l W iP VC -Q oti5. *
1M I i j U i
trewvwilti Octal, ita ib * aO ugfu-aiv role**. M irtwniof PHPaa* w ouf*g*4 lo lo a thh vMtiton ctttt& U and
U w ia d k iB t o P M P
C d n e im e * Q A n g (ot
T H I S I i A D E V I I O W U N T W f / I I W O O N O T U S f I T !N M O O U C T I O T
I o m o ro I n t a n w t io a a b o u i tito n c * lo a lu i- r y o n i a n c h w k o u l Ih o v w r
p c t g i e O x ir n ie n ia t t o n o r y o u t a n
i a d i r * f u l l U n o l t u n g o s n n w h W S fil c o n u i i w r i i n r i m l a rc h iv e .
U p c o o ilu g
coflMCMU
MidQn,pnp>nH/Qai.
Ou lu w tti a n l O.ial a v io m u ll *lin * u| o Ih n W u< May
U s c i G ro u p E v n t s
PHP5.6.0beta2 Released
U M a v lO U
T h * M P c jiv t o p m o n t t e a m a n n r i u K V a u ii m m H l a t e d w iila W ly o l P HP S A 0 lM la 2 . A s w v e r t v r e d (h e le a m e
( i c e r e w U l i b r l a l , I I m U m w l i A l f l H n t u i U a h f e l / a m ijjO .m ly
S p o d a l Ih a n b
M I u s m u l O l P a i e r n c o u id e il l o u - j
11*,Hull*_IKli,>
0>
lT_ar*tm
iPn T>
l-fuit|nf *VV*ni.
Simpleza en su sintaxis
PH P posee u n a sin taxis sim p le y m u y f cil de im p le m e n ta r en
cu a lq u ie r d e s a rro llo web. La sintaxis p ro p ia de PH P puede integ rarse
sin p ro b lem a s d en tro del cdigo H T M L que co m p o n e una pgina.
A su ve z , el m ism o lenguaje puede generar cdigo H TM L d in m ico ,
d efin i n d o lo entre sus sen tencias, para v is u a liz a r los resu ltad o s
so lic ita d o s con la m en o r co m p le jid a d posible.
www.redusers.com
180
l/SERSl
6. L E N G U A J E S
D E P R O G R A M A C I N
IN T R O D U C IR P H P EN
UN D E S A R R O L L O W E B
IM P L IC A C A M B IA R LA
E X T E N S I N H T M L PO R
LA E X T E N S I N P H P
ED ITO R E S DE CODIGO
KD
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
<body>
<div id = "m iT e x to P H P ">
<? Echo " H o la mundo. E sto es P H P ! " ; ?>
</div>
</body>
Declaracin de variables
A d ife re n c ia de o tro s len g u ajes, P H P p erm ite la d eclara ci n
de va ria b le s de m anera lib re, s in un tipo esp ecfico . Por lo tanto,
es p osib le que u n a m ism a va ria b le pueda co n te n e r tanto nm ero s
com o letras o valo res booleanos. Al d e fin ir una va ria b le , se debe
a n te p o n e r el sm b o lo ($) en su nom bre.
Veam os un e je m p lo de esto:
<?
$intN um ero = 3;
$ strA lfa = " E s to es un te x to ";
echo SintN um ero;
echo "< b r/ > ";
echo $ strA lfa ;
?>
www.redusers.com
182
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
Sentencia If
La se n te n c ia if p e rm ite d e fin ir que una c o n d ic i n se c u m p la y,
de se r a s, se e je cu te d e te rm in a d a p o rc i n de c d igo . V eam o s un
e je m p lo de ello:
<?
If ($ ntN um e ro = 3 ) {
Echo " E s te es el nm ero tre s/';
}
?>
If - Else
La s e n te n c ia If Else p e rm ite d efin ir, a tra v s de if, la e je c u c i n
de u n a p o rc i n de c d ig o ante u n a d e te rm in a d a c o n d ic i n y, a
tra v s de else, o tra p o rc i n de c d ig o , si la c o n d ic i n d e fin id a en if
no se cu m p le .
<?
if ($ ntN um e ro = = 3 ) {
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
>
?>
Do - While
La sen tencia do p erm ite e je cu ta r una d e term in ad a acci n hasta
que w h ile cu m p la co n una co n d ic i n d eterm in ad a. M ientras w h ile
no cu m p la la co n d ic i n , do seguir e je cu tan d o la p o rci n de cdigo
que tien e d efin id a. En esta exp resi n, la v a lid a c i n que fin a liz a la
e je cu ci n de do se rea liza al final.
<?
$j = 0;
Do {
$j ++;
echo " E l va lor de la variable $j es m enor a m il/ ';
echo " < b r > " ;
} W h ile ($ j < 9 9 9 );
?>
'. I W V
F ig u ra 4 . El bucle Do - W h il e en accin,
escribiendo cada recorrido realizado en la pgina HTML.
www.redusers.com
184
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
While
Esta sen tencia genera un b ucle que e jecu ta d eterm in a d o cdigo
m ie n tra s una co n d ic i n esp ecfica no se cu m p la. Al m om ento en
que se cum ple, el b ucle finaliza.
<?
$f = 0;
While ($f <= 100) {
Echo $f++;
}
echo "L a variable $j alcanz el valor Cien.";
?>
For
La sen ten cia fo r trabaja, igual que en el lenguaje C, e va lu a n d o tres
c o n d icio n e s. La p rim e ra co n d ic i n se e je c u ta al in ic io del b ucle de
m an era in c o n d ic io n a l. C u an d o v u e lv e a e m p e zar el ciclo , se eval a
la segun d a co n d ici n , la cu a l d e v u e lv e un v a lo r T R U E para que el ciclo
co n tin e , o, de lo co n tra rio , el b ucle finalizar.
La te rce ra co n d ic i n es e va lu a d a cada v e z que fin a liz a la eje cu ci n
de cad a b ucle co n te n id o en for. Veam os un e jem p lo de esta sentencia:
<?
For ($f = 0; Sf <= 100; $f++) <
Echo $f;
)
?>
El cdigo de e jem p lo in d ic a que la v a ria b le $f posee un v a lo r in icia l
de 0 (cero). El ciclo fo r se e je cu tar m ien tras la va ria b le $f sea m enor o
ig u a l a 100, sum and o, en cad a iteraci n , un a u n id ad a $f a tra v s de la
tercera expresin.
Funciones en PHP
A l igual que en otros lenguajes, PH P p erm ite e sta b le ce r fu ncio nes
p ara que p ued an ser u tiliz a d a s en ms de u n a secci n de la pgina
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
185
Function C a lc u la rO
$f = i;
$j = 2;
$n = $f + $j;
return $n;
}
Estas fu n cio n e s p ued en o no re c ib ir uno o ms p arm etro s para
ser p ro cesad o s d entro de la fu n ci n , y estos p arm etro s, a su vez,
p u ed en d e v o lv e r un re su ltad o . Veam os cm o hacerlo:
{
/A/aldamos re c ib ir nm eros para poder re a liza r la suma
I f (is _ n u m e ric ($ p a ra m e tro l) & & s_nu m e ric($ param e tro2 )) {
$n = $ p a ra m e tro l + $param etro2;
>
$n = $ p a ra m e tro l + $ param etro2;
Return $n;
>
Include
La sen tencia in c lu d e p erm ite agregar a rc h iv o s con co n te n id o puro
en PH P a la pgin a web actual para, de esta m anera, u tiliz a r d icho
co n te n id o y as p o d e r re a liz a r d eterm in ad as operacio nes.
KD
C R EA R P A G IN A S W E B E N P H P D ES D E CERO
P H P e s un lenguaje de p ro g ram aci n q u e, m ediante la sen ten cia echo, p u ed e reprod u cir sin problem a
cualquier sintaxis d e tipo H T M L o Ja v a S c r ip t . A su ve z. e s ta ltima tam bin puede invocar sintaxis de P H P
a tra v s d e su funcionalidad in n e r H T M L .
www.redusers.com
186
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
L A S B A S E S DE
DATOS SON
FUNDAM ENTALES
E N LA CR EA C IO N DE
SIT IO S W E B D IN M ICOS
<?
//Archivo variables.php
$ fruta = "A r n d a n o s '';
$ color = " A z u l" ;
?>
<htm l>
<? nclude 'v a ria b le fru ta .p h p '; ?>
<head>
< ! - contenido de header ~ >
</head>
<body>
< d iv id = "fru ta d e s c rip c io n ">
< p > F ru ta : <? echo $ fru ta; ?></p>
< p > C o lo r: < ? echo $ co lo r; ?></p>
</div>
</body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
Require
La se n ten cia require es id n tica a la sen tencia include, con la
d ife re n cia de que la p rim era d eten d r la carga de la pgina si
el a rc h iv o que se desea in c lu ir no existe fsica m e n te en la ruta
esp ecificad a. Include solo v is u a liz a un e rro r en la ln e a que procesa
la in c lu s i n del a rch ivo , pero p erm ite seguir e je cu ta n d o el resto
del cdigo PH P que se e n cu e n tra en la pgina.
La se n te n cia de require es la siguiente:
Base de datos
En la creacin de sitios web dinm icos, las bases de datos juegan
un papel fundam ental, alm acenando gran parte del contenido que suele
m ostrarse en estos sitios. A continuacin, haremos una breve introduccin
a M y S Q L , un sistem a de base de datos relacional que es el fiel compaero
de PHP en casi todos los sitios donde este lenguaje es protagonista.
www.redusers.com
188
l/SERSl
6. L E N G U A J E S
D E P R O G R A M A C I N
M ySQL
M ySQ L es un sistem a de g esti n de bases de datos re lacio n a l
d e sa rro lla d o p or la em p resa MySQL AB, que d esde en ero de 2008
es una s u b s id ia ria de Sun Microsystem s, la cual pertenece,
a su ve z , a O racle C orporation desde p rin c ip io s de 2010.
El d e sa rro llo de M ySQ L est b asado en u n a lic e n c ia GNU GPL,
excepto para las em p resas que re q u ie ra n in c o rp o ra r esta base
de datos para d is trib u irla co n p ro d u cto s cerrad o s o lice n ciad o s,
para las cu ales s se re q u iere el pago de una lice n cia p or su uso.
Entre los sitio s w eb ms p o p u la re s que
u tiliz a n este m o to r de base de datos d estacam os
M YSQL P O S E E SO P O R T E
P A R A CASI TODOS LO S
S IS T E M A S OPERATIVO S
M S P O P U L A R E S , COMO
L IN U X Y W IN D O W S
PHPMyADMIN, que nos p erm ite m a n ip u la r todas las tareas hab itu ales
en una base de datos, de m anera grfica. La m a y o ra de los se rv id o re s
w eb que p restan so po rte p ara PH P y M ySQ L tie n e n in stala d o , por
d efecto , el gestor de base de datos PH PM yA D M IN .
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
M y S Q L 5 1 R e fe re n ce Manual
In c lo d ii'g M > G Q L M
NOO GX/7 X R e fe re e
libros.asp?categoria=php.
www.redusers.com
190
l/SERSl
6.
L E N G U A JE S D E P R O G R A M A C I N
\\\
A D M IN IS TR A D O R E S M YSQL
M y S Q L no so lo e s a d m in istrab le v isu a lm e n te a t r a v s de la h erra m ie n ta P H P M y A D M IN . Tam bin existen
o tr a s a p lic a c io n e s in s ta la b le s en
s is te m a s o p e ra tiv o s
c o m o W in d o w s que
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
&
Bi
www.redusers.com
192
USERS
6 . L E N G U A J E S D E P R O G R A M A C I N
EESH
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
create D A T A B A S E usershop;
C r e a r T a b la .
Presio n am o s sobre l y se
SUCURSALES
COLUM N A
T IP O
L O N G IT U D /
VALO RES
Id
B ig in t
N o m b r e d e lo c a l
V a rc h a r
50
D o m ic ilio
V a rc h a r
100
L o c a lid a d
V a rc h a r
50
T e l fo n o
V a rc h a r
15
E - m a il
V a rc h a r
50
U b ic a c i n
V a rc h a r
100
M o to r de
M y IS A M
IN D IC E
P rim a r y
A U T O IN C R E M E N T O
T ru e
a lm a c e n a m ie n t o :
C o t e ja m ie n t o :
L a t in l_ s p a n is h _ c i
www.redusers.com
USEFtS
6 . L E N G U A J E S D E P R O G R A M A C I N
p b p M u A d m ln
H E nroca
* u-
W *.-> < n r *a o W
WX
<
*>' biMOa.
E a|noi
i n i t i c ( o c o l o n u i l 1 1 lOmuAi w l i
y * O p . . r l. - . ..
4 M O t+ j
5ELKT
ttU w n K s
IM IT O
|E* . a | | e i l H
a C o tam o a
1U
Jd u B k l k >
1 lo tlM s I
3 S h M
;
t _
T
' u i i
M k jim m
T ipo
C rn -jo m i n
-* >
E*B .
*c
M JT O JB C nE * *?< r
No
to m a 9
" A l,
______ l i . ____
? __
___ Ot
-
tto
ra
No
| n p r\ i
H
-'flu n o
r U m tM .
fe
ta p M
No
g ro o
h
r.u-..m
ranpura
Un
rio
BtnoMr U t o *
Ih i m i 9 C i m a r M i
' .
-
No
Faunmot
C anN oi
O F ti^ a a
'n rn o u
tu * o cooiM Tn
4 V H 3 * I - B iu in M i Kamtarwmo to a r n o a i m o c a
rnuiiwW-. o** * r .
" i
Indices. _
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
PHP y MySQL
PH P d isp o n e de una fu n ci n in te rn a que nos p erm ite co n ectarn os
a las b ases de datos, ya sea M ySQ L o c u a lq u ie r o tra de las so p o rtad as
p or este lenguaje. En esta p lata fo rm a , cada v e z que d eb em os leer
el co n te n id o de una o ms tablas, p rim e ro se debe in vo ca r la
ap ertu ra de la base de datos y luego se re a liz a la le ctu ra de las tab las
co rresp o n d ie n tes.
Para p o d er a v a n z a r con los e je rc ic io s co rres p o n d ie n te s a
este ca p tu lo , d e sarro lla re m o s a co n tin u a ci n un a rc h iv o .P H P que
d isp o n d r de las fu n cio n es que p re cisem o s p ara co n e cta rn o s a la base
de datos y re a liz a r las o p e ra cio n e s n ecesarias sobre sus tablas.
Lo que harem os ah o ra es cre a r un a rch ivo n u evo al que llam arem o s
c n .p h p . N otem os que, a d ife re n cia de lo v is to en ca p tu lo s anterio res,
<?
?>
D entro de esta lla ve , p ro p ia del le n g u aje PHP, d efin ire m o s todas
las fu n cio n es y v a ria b le s que u tiliz a re m o s . Lo p rim ero que harem os
ser d e c la ra r una se rie de v a ria b le s que co n ten d rn : el n o m b re del
servid o r, la base de datos, la tabla, el u su ario y la co n tra se a que
u tiliz a re m o s p ara acce d e r a ella.
www.redusers.com
196
USEF*S\
6. L E N G U A J E S
D E P R O G R A M A C I N
Funciones mysql_connect()
y myql_select_db()
Por el m o m ento , u tiliz a re m o s estas v a ria b le s . La p rim e ra de
e lla s c o n tie n e el n o m b re del s e rv id o r d o n d e est a lo ja d a la base
de d ato s M ySQ L. C o m o PH P es un c d ig o que se e je c u ta en el
se rv id o r, d eb em o s d e fin ir localhost com o v a lo r p o r d e fe cto . La
se g u n d a v a ria b le c o n tie n e el n o m b re de u su a rio ; la te rce ra , la
c o n tra s e a u tiliz a d a para M ySQ L; la cu a rta , el n o m b re de la tab la
a la cu a l q u ere m o s acced er; la q u in ta , el n o m b re de la base de
d ato s a la que d e se a m o s co n e c ta rn o s ; y la ltim a est v a c a , pero
ser la que c o n te n d r la c o n s u lta SQ L que re c u p e ra r los d ato s que
d ese e m o s v is u a liz a r.
Seguido a la creacin de variables, crearem os la conexin a la base de
datos y la lectura de la tabla Sucursales. Este cdigo estar a continuacin
de la declaracin de variables realizada. Vemoslo:
P A C K A G E S 0 S P E N M YSQL
S to re d
Los
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
197
Visualizacin de datos
Ya cream o s el cdigo del lado d e l s e rv id o r que nos p erm ite acced er
a la base de datos y c o n s u lta r su co n te n id o . Com o este lo realiz am o s
sobre un a rch ivo co n ex tensi n PHP, al ser un lenguaje de servid o r,
si a lg u ie n conoce este a rc h iv o y lo llam a de m an era in d e p e n d ie n te a
tra v s de la U R L de un n a ve g ad o r w eb, no podr v is u a liz a r el cdigo
u tiliz a d o , dado que este se e je cu ta en el s e rv id o r y d e v u e lv e una
pgin a en fo rm ato H TM L, que es lo que recibe el n a ve g ad o r web.
LIM ITA R LO S R EG IS TR O S O B TE N ID O S
C a d a con su lta en M y S Q L p u ed e lim itar la can tid ad de re g is tro s q u e se d e s e a obtener. E s to s e puede
realizar co n el c o m a n d o L iM IT x, y, el c u a l lim itar co n x el reg istro inicial y co n y el reg istro final
a m o strar. E s t a funcionalidad se utiliza al final de la se n te n c ia SQ L.
www.redusers.com
198
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
Ver cdigo fuente, solo ob ten d rem os una pgina en b lanco. Si esta
co n tien e g eneraci n de H TM L a tra v s de la sen tencia echo de PHP,
solo ve re m o s un H TM L esttico com o re su ltad o , p ero nunca verem o s
va ria b le s , fu n cio n e s y sen te n cia s SQ L escrita s d entro de PHP.
Para fin aliz a r la prueba realiz a d a hasta ahora, crearem os una sim ple
pgina con extensin .P H P que nos perm ita m o strar los registros
obtenid os de la co n su lta realiz a d a a la tabla Sucursales. La llam arem os
<?
//V isu a liza r resultados en H T M L
requ ire 'en.php';
echo "< ta b le > \ n ";
w h ile ($ lin e = m ys q L fe tc h .a rra y S re s u lt, M Y S Q L _ A S S O C )) {
echo "\ t< tr> \ n ";
foreach ($ lin e as $ col_value) {
echo "\t\t<td>$col_value</td>\n/;;
}
echo "\t< /tr> \n";
}
echo "< /table> \n ";
rn ysq l_fre e _re su lt($ re su lt); //Liberar la tabla
m ysq l_ close($ lin k); // C e rra r la conexin M yS Q L
?>
< /body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
2242
L o c a lid a d e s
www.redusers.com
200
USEFtS
6 . L E N G U A J E S D E P R O G R A M A C I N
Proyecto: libreras
A co n tin u a ci n , d e sa rro lla re m o s u n n u e vo e je rc ic io que co n sis tir
en re p re sen ta r la web m vil de una cad en a de lib re ra s. La a p lica ci n
p e rm itir v is u a liz a r un lista d o de su cu rs a le s ag ru p ad as por localidad ,
donde, al se le c cio n a r u n a lo ca lid a d , p od rem o s e n tra r a v e r todas
las su cu rs a le s que existen en ella. Luego, p odrem os seleccio n ar
una su cu rsa l y v e r en d etalle la in fo rm aci n , ju n to co n u n m apa de
su u b ica ci n fsica , el cual se crear de fo rm a d in m ica u tiliz a n d o
las co o rd e n ad as (la titu d y lo n g itu d ) del local.
Para p o d er lle v a r a cabo este eje rcicio , debem os haber realizad o
el e je rc ic io anterior, ya que u tiliz a re m o s M ySQ L com o base de datos
de las su cu rsale s y PH P para acce d e r a esta in fo rm aci n d in m ica y
v is u a liz a rla en pantalla.
23:23
BOOK
T IU * 4 *
ia ie m tU *
S t d 's S s S / ! S l
Imeio
C iir u ic a la c
Toda.
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
Preparar el entorno
Para p o d er lle v a r a cabo este e je rc ic io , d escarg arem o s de la seccin
(hom e.php), una carp eta (images) con las im genes que u tiliz a re m o s en
el e je rc ic io y los a rc h iv o s bsicos de PH P p ara co n e cta rn o s a M ySQ L
y p o d e r acce d e r al co n te n id o de la tabla Su cursales.
El cdigo a m o d ifica r del a rc h iv o cn.php es el siguiente:
sucursales.php:
< !D 0 C T Y P E htm l>
<htm l>
< head>
www.redusers.com
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
<script src=77http://code.jquery.com/mobile/1.3.2/jquery.moble-1.3.2.min.
js77x/ s c rip t>
<?
</script>
</head>
<body>
<div data-role=77page77id=//index// data-theme=//d//>
<div data-role=77header77data-theme=7'c77data-position=/7fixed77>
<div id="im agenLogo" align=77center">
<mg src="mages/Logo250x42.png" style=//max-width:250px;minwidth:250px//alt=', USER Book Store77longdesc=77USER Book Store77>
</dv>
</dv>
<div data-role=7/content7/data-theme=/'d/7>
<p algn=/7center7'><strong>Sucursales USER BOOK STORE</strong></
P>
<br>
<P>
<?
//Cdigo PHP
?>
</p>
</div>
<div data-role=77footer77data-position=77fixed77data-theme=7/c77dataposition=77fixed77>
<div data-role="navbar,7>
<ul>
d i x a href=77home.php7/ data-icon=7/home77> Inicio< /ax/li>
< l i x a href=77#77data-icon=77search77>Sucursales</ax/li>
< l i x a href=77#77data-icon=77plus77>Profesionales</ax/l>
</ul>
</div>
</div>
</div>
</body>
</html>
www.redusers.com
ES2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
203
Esto nos p erm ite te n er el cdigo base p ara la pgin a que lis ta r
las lo ca lid a d e s. D entro de la se cci n content de jQ u e r y M obile,
re se rva m o s el espacio co rre sp o n d ie n te para e scrib ir el cdigo PH P
que crear, de m anera d in m ica , el L is tV ie w que nos m o strar todas
las lo ca lid a d e s existen tes en la tab la, to m n d o las del cam p o localidad
de la tab la Su cursales.
A n te s de e s c rib ir el cdigo co rresp o n d ie n te , cre arem o s un nuevo
a rc h iv o lla m a d o selectsuc.php, d onde in clu ire m o s la co n su lta SQL
co rre sp o n d ie n te que nos p e rm itir filtra r las lo ca lid a d e s de form a
in d iv id u a l cargad as en cada reg istro de la tabla Sucursales.
El cdigo de este a rc h iv o es el siguiente:
<?
$ q u e rylib re ria s = 'S E L E C T D IS T IN C T R O W (lo ca lid a d ) A S localidad
F R O M sucursales L I M I T O ,3 0 ';
$ result = m ysq l_ q u e ry($ q u e rylib re ria s) o r d ie ('F a ll la c o n s u lt a :'. m ys q L
e rro rO );
?>
require 'en.php';
require 'selectsuc.php';
www.redusers.com
204
l/SERSl
6.
L E N G U A JE S D E P R O G R A M A C I N
Ahora solo nos resta escrib ir d entro del cuerpo p rincip al de la pgina
el cdigo PHP que nos listar, a travs de un w idget ListView, el conjunto
de localidades que tienen una o ms libreras. Ubicam os el cdigo PH P
iniciado cuando cream os la pgina y elim inam os la lnea correspondiente
al com entario. En su lugar, agregam os la siguiente sentencia:
<?
echo " < u l d a ta -ro le = /listvie w / d a ta -in s e t= 'tru e '> ";
w h ile ($ ro w = m ysql_fetch_assoc($ result))(
$ filtrolocalid ad = $ ro w ['lo c a lid a d '];
S filtro lib re ria s = "lib re ria s .p h p ? l= /'.$ filtro lo ca ld a d ;
echo " c l i x a h ref= //L $ filt r o lib r e n a s " V L $ r o w ['lo c a lid a d /].//< / a x / li> ,/;
}
echo "< / u l> ";
?>
L A S E N T E N C IA
E C H O S E U T ILIZ A
PARA C REAR
D E F O R M A D IN M IC A
UN W ID G E T L IS T V IE W
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
fp r
205
- . . , 3 3,1
C IQ
BOOK
S u u u M l n U S E R BO O K ST O R E
C iu d a d d e B u e n o s A ire s
S a n C a rio d e B a rilo e h e
Crdoba
U iuyuuy
o
F ig u ra 14. La pgina
s u c u r s a l e s .p h p ya
visualiza las localidades
o
imoo
radas
Sicuraates
O
^
d D O C T Y P E h t m l>
<?
//obtener lib rera s segn la localidad seleccionada
www.redusers.com
S E F tS
6.
LENGUAJES DE PROGRAMACIN
?>
</script>
</head>
<body>
< d iv d a ta -ro le = "p a g e " d=//index// d a ta -th e m e = "d ">
<dv d a ta -ro le = "h e a d e r" d a ta -th e m e = "c " d a ta -p o s to n = "fixe d ">
<div id = "im a g e n L o g o " a lig n = //ce n te r//>
< m g src= "im a ges/Logo2 5 0 x4 2 .p n g" style = "m a x-w id th :2 5 0 p x ;m in w id th :2 5 0 p x" a lt = " U S E R Book S to r e " lo n g d e s c = "U S E R Book S to re ">
</div>
</div>
< d iv d a ta -ro le = "c o n te n t" d a ta -th e m e = "d ">
<p a lig n = "c e n te r"xs tro n g > L o c a lid a d : <? //filtro aplicado ?> < /strongx/p>
<br>
<P>
<?
//Listar las sucursales obtenidas
?>
</p>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n = "fixe d " d a ta -th e m e = "c " d a ta p o s itio n = "fix e d ">
< d iv d a ta -ro le = "n a v b a r">
<ul>
< l i x a h re f= "h o m e .p h p " data-icon = //h o m e"> In icio< /a> < /li>
< l i x a h r e f = " # " d ata-icon = "search"> S ucu rsales< /a> < /li>
< l i x a h ref= //# // data-icon = //plus"> Profesionales</a> </li>
</ul>
</div>
</div>
</div>
<^body>
</html>
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
E2 S2 Z 3
207
}
else {
$sqlquery = " S E L E C T nom bredelocal, dom icilio F R O M sucursales
W H E R E localidad = w/.$ filtrolocalid ad /,/ L I M I T 0 ,1 0 0 " ;
}
require 'selectlocalidad.php';
SEGN EL
R E S U L T A D O D E L IF,
S E C O N S U L T A R PO R
TODOS O P A R T E DE
LO S R E G IS T R O S
www.redusers.com
208
USEFtS
6 . L E N G U A J E S D E P R O G R A M A C I N
echo $ filtrolocaldad ;
www.redusers.com
B s s a
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
209
}
e c h o "< / u l> ";
www.redusers.com
210
USERS
6 . L E N G U A J E S D E P R O G R A M A C I N
Ifc in g
b5
S= -
,iw
wTii*. M
.I
twrlh.W i " * M
M
I.H1
.*
.1
claves necesarias para utilizar los mapas de Bing desde nuestra aplicacin.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B s s a
211
<?
//Obtener sucursal a visualiza r
?>
</head>
<body>
< d iv d a ta -ro le = //page// id = "in d e x " d a ta -th e m e = "d ">
<div d a ta -ro le = "h e a d e r" d a ta -th e m e = "c " d a ta -p o s ito n = "fixe d ">
<div id= //im a ge n Logo // a lig n = //ce n te r//>
<im g src= "im ages/Logo2 5 0 x4 2 .pn g" s ty le = "m a x-w id th :2 5 0 p x ;m in w id th :2 5 0 p x " a lt= " U S E R Book S to r e " lo n g d e s c = "U S E R Book S to re ">
</div>
</d v>
< d iv d a ta -ro le = "c o n te n t" d a ta -th e m e = "d ">
<?
//M ostrar el detalle de la sucursal
?>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n = "fix e d " d a ta -th e m e = "c " da ta p o s ito n = "fixe d ">
<div d a ta -ro le = "n a v b a r">
<ul>
c l i x a h r e f= "# " d a ta -re l= "b a c k " data-icon = "b ack,,> V o lv e r< / a x / li>
< l i x a h ref= "su cu rsa le s.p h p " data-icon = "se arch "> S u cu rsale s< /
www.redusers.com
212
USEFtS
6. L E N G U A J E S
D E P R O G R A M A C I N
a></li>
c l i x a h re f= "lib re n a s .p h p ? $ l= " d a ta -c o n = "g n d //>Todas</a></l>
</ul>
</div>
</div>
</div>
</body>
</html>
re q u ire 'c n .p h p 7;
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
B S S 3
213
rorO);
?>
w e b ";
echo " < a h ref= /" .$ lin k / " d a ta -ro le = 'b u tto n ' d a ta -co rn e rs= 'fa ls e '> E n via r
consulta x e m a ik / a > ";
www.redusers.com
214
USEFtS
6 . L E N G U A J E S D E P R O G R A M A C I N
c o
BOOK
BOOK
D w m d te
A H r ra lu v ta tZ X I
u
CAA
*-
ii * * - m i im M r a t
www.redusers.com
C E2 Z3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
215
RESUMEN
A lo largo d e e s te captulo, realizam o s una rpida introduccin al lenguaje P H P y al siste m a de b a se d e datos
M y S Q L . C o n o c im o s h erra m ie n ta s c o m o X A M PP, q u e nos perm ite c o n ta r c o n un siste m a w e b m o n tad o en
n u estra co m p u ta d o ra p ersonal, re p a s a m o s la herram ienta P H P M yA D M IN , con el fin d e ad m inistrar M y S Q L
de form a visu al, y realizam o s un ejercicio com p leto que n o s p erm iti com b in ar H T M L5 , Ja v a S c r ip t , jQuery
M obile, P H P y M y S Q L para g e n e ra r un p o rtal d inm ico q u e a p ro vech e la s c a ra c te rs tic a s d e una b a se
d e d ato s, e l sistem a de co m u n ica c io n e s de los telfo n o s m viles y los m a p a s e s t tic o s que B in g M ap s
pone a n u estra d isposicin.
www.redusers.com
216
USEFtS
6.
L E N G U A J E S D E P R O G R A M A C I N
Actividades
T E S T DE A U TO E V A L U A C I N _________________
1
Qu significa PHP?
E JE R C IC IO S P R C TIC O S
1
www.redusers.com
* n
\\\\\\\\\\\\\\\
///////////////
Almacenamiento local
y aplicaciones offline
En e s t e capitulo r e p a s a r e m o s las di fer en tes p r o p u e s t a s de
HTML5 para a l m a c e n a r sitios y d a t o s en los di s p o si ti vo s del
usuario. A tr a v s del a lm a c e n a m ie n to local, p o d r e m o s g u a rd ar
d e s d e informacin simple has ta una b a s e de d a t o s en el
n a v e g a d o r w e b mvil. Tambin c o n o c e r e m o s las aplicaciones
offline que permiten d e s c a r g a r una WebApp co m p le ta
y utilizarla sin ne c e s i d a d de e s ta r c o n e c t a d o s a internet.
Almacenamiento local............218
Aplicaciones offline.................233
Ejercicio prctico:
Resumen.................................... 237
7 1 Z1
Actividades................................238
218
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L IC A C IO N E S O F F L IN E
Almacenamiento local
El co nglom erado de ca ra cte rsticas que HTML5 trajo al m undo web
y a la Web m vil in clu ye, tam bin, cam bios im p o rtantes en cuanto
a alm acenam ien to local del lado del cliente. Desde los in icio s de la
Web -tal com o la conocem os hoy-, todo tip o de alm acenam iento de
in fo rm aci n en las com p utadoras del clien te se llev a cabo u tiliza n d o
el m todo de cookies. Este im p arta la creaci n de una especie de
a rch ivo que oficiaba de va ria b le en el equipo cliente, en el que se
alm acenab a in fo rm aci n im p o rtante que s e rv ira para re u tiliz a r
en el sitio web d u ra n te todo el tiem po de navegacin de un usuario.
La inform acin de datos alm acenada en cookies poda estar o no atada
a una fecha de ven cim iento especfica. Si, p or ejem plo, le preguntam os
al usuario de una pgina web su nom bre cuando ingresa por prim era
vez, el valo r ingresado por el usuario puede alm acenarse en u n a cookie
y reutilizarse todas las veces que este vu e lva a ingresar a al sitio web,
o bien elim inarse luego de un perodo de tiem po determ inado.
Sin em bargo, con la e vo lu ci n del lenguaje H TM L, desde el
m odelo im p uesto p or HTM L5, se p lan te una m ejora en cuanto a
a lm acenam iento de la in fo rm aci n en los equipos del usuario, que
b rin d a una alte rn a tiv a ms co m p leta a las clsicas cookies, desde
la caracterstica de alm acenam iento lo cal (o, en ingls, local storage).
..............
>n i M
a w
o M -W
iw ii,T m u
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
USEKS
219
Local storage
El a lm a ce n a m ie n to local, co n o cid o com o local storage en HTM L5,
nos p erm ite g u ard ar una ca n tid ad m ucho m ayo r de datos en el
eq u ip o del clie n te que lo que h a b itu a lm en te p erm ite g u a rd a r una
cookie. Lo cal storage nos o frece u n a cap acid ad de 5 m e g a b y te s de
alm a ce n am ie n to local, co n tra los 4 kilobytes m xim os que perm ite
g u ard ar cada cookie.
O tra de las v e n ta ja s d estacad as del
alm a ce n am ie n to lo cal es que cada sitio web
que u tiliz a cookies en el equipo clie n te e n va
los datos de esta p or cada p etici n clie n te /
L O C A L S T O R A G E NOS
P E R M IT E GUARDAR
M S DATOS Q U E U N A
CO O KIE E N E L EQ U IPO
D E L C L IE N T E
i/ i/ i/
W EB S TO R A G E EN H TM L5
Tanto local sto ra g e c o m o s e ssio n s to ra g e so n im p le m e n ta cio n e s que n a c e n de la A P I W e b S t o r a g e
d eta lla d a en la e s p e c ific a c i n de H T M L5 . L a c re a c i n d e e s to s e le m e n to s se re aliz al c o n c e b irlo s
c o m o a trib u to s d el ob jeto W in d o w , p re s e n te en J a v a S c r ip t, p a ra el m an ejo d e d ife ren tes funcionali
d a d e s d en tro de un sitio w e b .
www.redusers.com
220
l/SERSl
7 . A L M A C E N A M IE N T O L O C A L Y A P L IC A C IO N E S O F F L IN E
C O M P O N E N T E S D E L A M E T O D O L O G A D E A L M A C E N A M IE N T O
CLAVE
TIPO
( J )
DESCRIPCIN
Getltem(key)
Mtodo
Setltem(key, valu)
Mtodo
Removeltem(key)
Mtodo
Length
Atributo
Key(index)
Atributo
Clearf)
Mtodo
LO S DATOS
G UA RD A D O S M E D IA N T E
LOCALSTORAGESON
A L M A C E N A D O S DE
M A N E R A IN D EF IN ID A
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
221
www.redusers.com
222
R H I5 3
7 . A L M A C E N A M IE N T O L O C A L Y A P L IC A C IO N E S O F F L IN E
www.redusers.com
223
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
S^ihut i M rn tc n Uaro
</scnpt>
www.redusers.com
224
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L IC A C IO N E S O F F L IN E
</head>
<body>
< dv d a ta -ro le = "p a g e " d = "n d e x// d a ta -th e m e = "d ">
<div d a ta -ro le = "h e a d e r" d a ta -th e m e = "c ">
< h4 > Alm acenam iento lo ca k/h 4 >
</div>
< d iv d a ta -ro le = "c o n te n t" d a ta -th e m e = "d ">
V e rific a r si el equipo tien e com patibilidad.
< br>
< d iv d a ta -ro le = "b u tto n " o n C Ic l< = "ja va sc rip t:co m p ro b a r$ o p o rte W S ();">
Verificar</div>
</div>
< d iv d a ta -ro le = //footer// d a ta -p o s itio n = "fixe d " d a ta -th e m e = "c " d a ta p o s itio n = "fix e d ">
C o p yrig h t 2014 - Fernando Luna
</div>
</div>
</body>
</html>
www.redusers.com
H Eg g al
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
225
Ejercicio prctico:
almacenamiento local
A co n tinuaci n, realizarem os un pequeo fo rm u la rio que har uso
del alm acenam iento local de los datos cargados en los resp ectivo s
cam pos. Para ello, agregarem os cuatro cam pos y dos botones. En los
cam pos guard arem os datos de tipo texto, y los botones in vo carn dos
funciones. Una de ellas alm acenar en el naveg ad o r web del cliente
los datos cargados p reviam en te en los cam pos, y la otra p erm itir
recu p e ra r los datos alm acenados m ediante local storage.
Veam os el cdigo HTML:
function g u a rd a rO {
v a r clave = "n o m b re ";
var v a lo r = d ocu m e n t.ge tE le m e n tB yd t'n o m b re 7).valu;
storage.setItem (clave, v a lo r);
var clave = "a p e llid o ";
v a r v a lo r = d o c u m e n t.g e tE le m e n tB yId ('a p e llid o ').va lu e ;
storage .setlte m clave , v a lo r);
var clave = "c o r r e o " ;
var v a lo r = docu m e n t.ge tE le m e n tB yld O co rre o O .va lu e ;
storage.setltem CcIave, v a lo r);
var clave = "te le fo n o ";
www.redusers.com
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L I C A C I O N E S O F F L IN E
function re c u p e ra r) (
v a r v a lo r = sto ra g e .g e tlte m ('n o m b re ');
d o c u m e n t.g e tE le m e n tB yld ('n o m b re ').va lu = valor;
v a r v a lo r = sto ra g e .g e tlte m ('a p e llid o ');
d o c u m e n t.g e tE le m e n tB yld C a p e llid o 'L va lu e = va lo r;
v a r v a lo r = s to ra g e .g e tlte m ('c o rre o ');
d o c u m e n t.g e tE le m e n tB yld O co rre o 'L va lu e = va lo r;
v a r v a lo r = sto ra g e .g e tlte m ('te le fo n o ');
d o c u m e n t.ge tE le m e n tB yld O te le fo n o 'Lva lu e = va lo r;
)
</script>
</head>
<body>
< d iv d a ta -ro le = //page// d = "in d e x " d a ta -th e m e = "d ">
<dv d a ta -ro le = "h e a d e r" d a ta -th e m e = "c ">
< h4 > Alm acenam iento locak/h4 >
</div>
< d iv d a ta -ro le = //content// d a ta -th e m e = "d ">
<form d = " e m a r m e th o d = "p u t" a c tio n = "e n v ia r" >
<nput typ e = //te x t// d=//nom bre// nam e=//nom bre//
p la c e h o ld e r= "N o m b re " />
<nput ty p e = " te x t" d = "a p e llid o " n a m e = "a p e lld o "
p la ce h o ld e r= " A p e llid o " />
c in p u t ty p e = "e in a il" id=//co rre o //placeho lde r= //su correo
e le c tr& o a c u te ;n ic o " />
< input ty p e = " te x t" id= //te le fo n o // n a m e = "te le fo n o "
placeholder= //Telefono// />
< d iv a lg n = "c e n te r">
< br>
< d iv d a ta -ro le = "b u tto n " d a ta -th e m e = "b " o n C Ick= "ja va scrip t:g u a rd
a r ( ) ;//>Guardar</div>
< br>
www.redusers.com
227
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
< dv d a ta -ro le = "b u tto n " o n C lic k = "ja v a $ crip t:re c u p e ra r();"> R e c u p
erar</div>
</div>
</form>
</div>
< d iv d a ta -ro le = "fo o te r" d a ta -p o s itio n = "fix e d " d a ta -th e m e = "c " da ta p o s ito n = "fixe d ">
C o p yrig h t 2014 - Fernando Luna
</dv>
</div>
</body>
</html>
Este fo rm u lario sim ple posee dos funcio nes. La p rim era, llam ada
www.redusers.com
228
R H I5 3
7 . A L M A C E N A M IE N T O L O C A L Y A P L IC A C IO N E S O F F L IN E
D ad a la diferen cia q u e Internet Exp lorer siem pre m antuvo co n re sp e c to a su s princip ales com p etid o res,
re co m e n d a m o s co n su lta r e l
sitio w e b
h t t p :/ / s t a t u s . m o d e r n .ie
www.redusers.com
p a ra
explorar la d o cu m entaci n
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
229
E N A P L IC A C IO N E S
W E B , E L U SO DE W E B
SQ L D E B E R E A L IZ A R S E
M E D IA N T E CDIGO
JA V A S C R IP T
d e s a rro llo de base de datos -com o ser SQL Server, O racle o MySQL
tam b in p o d r ser e je cu ta d a co n tra la base de datos Web SQ L, de
fo rm a lo cal, sin im p o rta r que esta sea un Update, Create, Delete o Insert.
Sistemas operativos
que soportan Web SQL
A ctu a lm en te , los sistem as o p e ra tivo s m vile s que so po rtan
la im p le m e n ta ci n de Web SQ L son aq u e llo s que p ued en co rrer
un n a ve g ad o r w eb b asado en WebKit, com o lo son Google C hrom e,
Sa fa ri (d e sk to p y m o b ile), O pera, O pera M ini, A n d ro id B ro w se r y
C h ro m e para A n d ro id .
P o r lo tanto, desde la p e rs p e c tiv a de generar a p lic a cio n e s web
m vile s, los sistem as o p e ra tivo s m s p o p u la re s q ue so po rtan esta
ca ra c te rs tic a son A n d ro id , iOS y W in d o w s 8.x.
La m en tab lem en te, al m om ento de e s c rib ir esta obra, los
n aveg ad o res web In te rn e t Explorer, In te rn e t E x p lo re r m ob ile, M o z illa
Firefox, M o z illa Fire fo x m o b ile, M o z illa Firefo x p ara A n d ro id y
B la c k B e rry B ro w ser no so p o rtan la im p le m e n taci n de Web SQL.
B LA C K B E R R Y BR OW SER Y W EB S Q L
S i bien B la c k B e rry B ro w s e r e s t b a s a d o en W e b K it, por e l m om en to W eb S Q L no fue incluido en e l so p o rte
de e s ta p lataform a. D e b e m o s te n e r m uy en cuenta e s ta inform acin al m om en to d e d ecid ir si v a m o s a
realizar una ap licaci n w e b m vil d e s c o n e c ta d a q u e utilice una b a s e d e d a to s W e b SQ L.
www.redusers.com
230
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L IC A C IO N E S O F F L IN E
W e b S Q L D a ta b a se a
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
v a r webdb = {};
webdb.db = nuil;
webdb.open = function(opciones)
{
I f (typ e o f openDatabase = = "u n d e fin e d ") return;
var opciones = options || 0 ;
opciones.am e = opciones.am e ||'nom bredelabbdd';
opciones.m b = opciones.m b || 5;
opciones.desription = opciones.description ||'Descripcin de la base
de datos';
opciones.version = opciones.version || '1 .0 ';
v a r dbSize
>
Hasta aqui solo definim os cules son las caractersticas de la base de
datos que estam os creando. Le asignam os un nom bre, una descrip ci n,
el tam ao in icial en m egabytes y la versi n (in icialm en te, 1.0).
Ahora nos queda a b rir la base de datos. Veam os el cdigo
co rresp o nd ien te para su apertura:
www.redusers.com
232
USEFtS
7 A L M A C E N A M IE N T O L O C A L Y A P L IC A C IO N E S O F F L IN E
>,
fu n c tio n (tx/ e ){
a le r t ( u Se ha producido un e rro r al intentar
cre ar la ta bla: "e.m e ssage );
;
Este sim p le bloque de cdigo cre a u n a ta b la en la base de datos
p re v ia m e n te a b ierta, lla m a d a T A B L A D E E JE M P L O . D entro de la tabla
se define un cam po ID , del tip o in te g e r, al cual le estab lecem os la
p ro p ied ad de clave p rim a ria (o Prim ary K ey). Luego d efinim o s un
cam po Texto, d el tip o Text, y un terce r cam po lla m a d o Fecha alta,
d el tip o D A T E T IM E . A h o ra, nos resta agregar un registro de pruebas.
Veam os, a co n tin u a ci n , el cdigo para agregar reg istros m e d ian te la
se n te n cia IN S E R T
>,
fu n c tio n tx, e ){
a le r t(" S e produjo un e rro r en el a l t a : 77+ e.m essage);
w w w .re d u s e r s .c o m
233
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Indexed Database
In d e x e d D B es un nuevo mtodo de alm acenam iento de datos en
HTML5. Las bases de datos web, al igual que en Web SQL, son alm acenadas
y actualizadas en el navegador web del usuario. Esto perm ite que los
desarrollaclores creen aplicaciones en las que, a travs de sim ples
consultas SQL, se puedan visu a liz ar datos en el navegador de usuario ms
rpidam ente. Haciendo uso de algunas funcionalidades de control offline
y online de una conexin a internet, estas bases podrn actualizarse de
m anera transparente para el usuario que navega por la pgina web.
Inritnreliw >
4+ 3.5*
2 3 *
4*
4*
10.5* 8*
10*
1S *
3 .1 *
1 0 .5 *
3.2*
2.1
4 .4 *
___
3 .2 *
2 .1 *
11.5+
22
H .S *
Aplicaciones offline
Otro de los grandes cam bios in clu id o s en H T M L 5 es que se puede
trab ajar con ap licacio nes offline. Dado que el nm ero de aplicacio nes
web crece da a da, y teniendo en cuenta todas las cap acid ades que
este lenguaje de m arcado d esarro ll a lo largo de su ltim a versin,
solo faltaba in c lu ir un soporte que le p erm itie ra al usuario de una
W ebApp p o d er segu ir trab ajan d o desconectado, ya sea cuando pierde
la conexin a internet, o sim p lem ente para a p ro ve ch ar el aho rro de
datos en los equipos m viles.
www.redusers.com
234
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L I C A C I O N E S O F F L IN E
AppCache
El cach de ap licaci n o AppCache que se genera cuando
desarrollam os una aplicacin que trabaja sin conexin perm ite que
el desarrollad or especifique si todos los archivo s que com ponen una
W ebApp o solo una parte de ellos deben alm acenarse en el cach del
navegador web, para que estn a disp osicin de los usuarios que eligen
trabajar sin conexin en nuestro sitio.
Como ventaja, podem os destacar que cualquier aplicacin que genere
un cach local perm itir, por ejem plo, que el usuario navegue por este
sitio sin conexin a internet. Tam bin perm itir que pueda acceder a los
recursos, imgenes o contenido de texto ms rpido, dado que estarn
alm acenados en su equipo y no en la red. Otra ventaja es que se generar
una m enor carga en el servidor, por lo que el navegador web slo se
ocupar de descargar del servidor aquellos recursos que hayan cambiado.
www.redusers.com
H S2 Z 3
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
235
Archivo de manifiesto
Veam os, a co ntinuaci n, un ejem plo de cm o debem os co n fo rm ar
el a rch ivo de m anifiesto que perm ita descargar el co ntenido de una
web al cach del naveg ad o r local del usuario.
El p rim er cam bio que debem os in co rp o ra r es en el tag <html> de la
pgina web p rin cip a l del sitio w eb o W ebApp, p ara que el naveg ad o r
id en tifiq ue dnde se en cu en tra el arch ivo de configuracin de la cach.
El cdigo a u tiliz a r es el siguiente:
c h tm l m a n ife s t= "h ttp://w w w .m isitiow eb .com .arM ebA pp/exam ple.m f" >
</html>
C A C H E M A N IF E S T
CACHE:
index.htm l
stylesheet.css
www.redusers.com
236
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L I C A C I O N E S O F F L IN E
mages/logo.png
m a g e s / im g t o o lb a r l.p n g
im ages/im gtoolbar2.png
m ages/im gtoolbar3.png
scripts/funcionesJS.js
scnpts/variablesJS.js
Archivos online
Si n e ce sita m o s que la W ebApp est co n ectad a para, p or ejem plo,
id en tifica rn o s en una red con un nom bre de u su ario y co ntrasea,
p o d em o s d esta ca r esto d entro del a rch ivo de m anifiesto de la
sig u ie n te m anera:
N ETW O RK :
login.php
/myapi
http://api.facebook.com
En caso de falla
Si necesitam os que algn contenido se co n su lte de m anera online,
y la red donde corre nuestra W ebApp no lo perm ite, podem os in clu ir
en el a rc h iv o de m aniesto un apartado que contem p le esto y m uestre
una pgina o sen tencia Ja v a S c rip t alternativa:
FALLBACK:
/login.php /staticE iror.h tm l
m ages/large/online.jpg im ages/offline.jpg
www.redusers.com
C E2 Z3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
237
c *
a i a- a
m m lii
neoo
j
A u d io tract*
TIO-
V id e o tracks
|
| O
Blob
n o -
R ESU M EN
L a s d ife ren tes o p cio n e s de alm a ce n a m ien to local m e d ian te c la v e s , c o o k ie s , b a s e s d e d a to s indexadas
o b a s e s de d a to s W e b S Q L co n vierte n a H T M L5 en el lenguaje p e rfe cto , que perm ite a una W ebA pp
trabajar en lnea y tam bin sin conexin a internet. C on algu n o s a ju stes b sic o s a n uestras ap lica cio n es
y el a p ro vech am ie n to del alm a ce n a m ien to local, p o d rem o s con tro lar en d etalle el com p o rta m ien to d e
n uestras W e b A p p s, para q u e nunca dejen al usuario d esorientad o a n te un e rro r o im p revisto no con tro lad o
durante la n av eg a ci n w eb.
www.redusers.com
238
USEFtS
7 . A L M A C E N A M IE N T O L O C A L V A P L I C A C I O N E S O F F L IN E
Actividades
T E S T DE A U TO E V A L U A C I N ________________________
1
2
3
Qu es Indexed DB?
E JE R C IC IO S P R C TIC O S___________________________
1
Desarrolle una funcin JavaScript que permita recuperar los datos almacenados
en Web SQL para listarlos en pantalla.
P R O FESO R EN LIN E A
Si tiene alguna consulta tcnica relacionada con el contenido, puede contactarse
con nuestros expertos: profesor@redusers.com
www.redusers.com
* n
\\\\\\\\\\\\\\\
///////////////
WebApps
para iOS
En e ste c a p itu lo , e x p lo ra re m o s las e n tra a s d e l siste m a
o p e ra tiv o p a ra m v ile s y ta b le ts de A p p le , O S. C o n o c e re m o s
a lg u n o s se cre to s q u e n o s p e rm itir n e x p lo ta r al m x im o las
fu n c io n a lid a d e s del n a v e g a d o r w e b S a fa ri, para q u e u n a w e b
m v il p u e d a ve rs e c o m o una a p lic a c i n n a tiva , in sta la d a
en el s iste m a o p e ra tiv o d e A p p le .
Resumen.................... ...............257
7 1 z1
240
USEFtS
8. W E B A P P S
P A R A IO S
www.redusers.com
241
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Rm S E R S I
n a
F ig u ra 1. El navegador
S a fa ri M ob ile , disponible
tanto en iPhone com o en
Pad y Pod Touch.
www.redusers.com
242
l/SERSl
8. W E B A P P S
P A R A IO S
Viewport
I.a etiq ueta view port p erm ite e stab le ce r el tam ao de v is u a liz a c i n
de una pgina web cu an d o esta se carga en el n aveg ad o r web Safari
para iOS. Este meta tag nos fa c ilita esta b le ce r el ancho y la escala
in ic ia l co n la cual se v is u a liz a una pgina w eb en este navegador,
recib ie n d o un p arm etro in ic ia l y uno final, que p ued en d ife r ir o ser
iguales. As, pod em os e sta b le ce r el aju ste del ancho de una pgina
web para v is u a liz a rs e en el b ro w se r y e sta b le ce r una esca la de zoom
o no. Veam os un ejem p lo :
cm eta ame = "v ie w p o rt" content = "w idth = 320, nitial-scale = 2.3, user-scalable = no">
La etiq ueta view port d eclara d a e stab lece un ancho de 320 pixeles.
La pgina se cargar a p lic a n d o un zoom in ic ia l de 2.3 veces
lo e sta b le cid o p or d efecto . Po r ltim o , el atrib u to user-scalable=no
im p id e re a liz a r un zoom sobre d icha pgina. Si d icho atrib u to
e s tu vie ra e stab le cid o en yes, el v is ita n te de la pgina p o d ra re alizar
zoom sobre el co n te n id o web visu a liz a d o .
L E N G U A JE DE PR O G R AM A C I N P A R A MAC
El d esarro llo d e ap lica cio n es nativas para OS-X y iO S se realiza s lo d esd e la plataform a OS-X a tra v s de
la a p lica ci n X C O D E , siendo e s te e l entorno de d esarro llo oficial q u e p ro ve e Apple. El len guaje a utilizar
en la co d ifica ci n e s O b je c tiv e - C .
www.redusers.com
E2 S2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
243
www.redusers.com
244
8. W E B A P P S
USEFtS
P A R A IO S
Format Detection
La p latafo rm a iOS, esp ecficam en te en Phone, d etecta de m anera
a u to m tica todos los nm ero s de te l fo n o v is u a liz a d o s en una
p gina web. Lo s tra n sfo rm a al h ip e rv n c u lo tel:5 4 9 1 1 4 2 3 4 4 5 6 7 , que
p erm ite, con un sim p le toque en la pantalla, in ic ia r la llam ad a a ese
n m e ro de tel fo n o . Este p arm etro tam b in puede se r co n tro lad o
de m anera a u to m tica p or n u estra a p licaci n , d e sh a b ilitan d o d icha
fu n c io n a lid a d e sta b le cid a p or defecto en Safari M obile. Esto se rea liza
de la sig u ien te m anera:
TODA E M P R E S A ,
PRO D U C T O 0 S E R V IC IO
D E B E T E N E R UN
ISOLOGO E S P E C F IC O ,
T A M B I N E N IOS
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
USEKS
245
T A M A O S IN D IC A D O S P A R A ICO N O S
DISPOSITIVO APPLE
57 x 57 pixeles
72 x 72 pixeles
iPad (Retina)
\\\
N A C IM IE N TO D E P H O N E G A P
E l fra m e w o rk m s p o pu lar p a ra e l d e s arro llo de a p lic a c io n e s hbridas, P h o n e G a p , n aci de un co n c u rso
o rg an iz ad o o rigin alm en te p o r A p p le p a ra p o ten ciar, c o n d e te rm in a d a s h e rra m ie n ta s, las W e b A p p s
d e s a rro lla d a s p a ra la p la ta fo rm a iO S , ex p lo ta n d o al m x im o lo s m e ta ta g s q u e o freca el n a v e g a d o r
S a fa ri M obile.
www.redusers.com
246
8. W E B A P P S
USERS
P A R A IO S
A tr h w e
% i
r iIriftn
i
1
Va
TVto
to n .***
r> M
V o tU m
AyuiM
i b * * * * . ! !
B
v k u p i * vw
1 :- IM U n y s l
tD J o p ia
E B 4 io i w 1
M w M i
QP
\
wtir.<
a.
.A
G #
l?. *
&
tolden
y 5?
*
p.
i k9
v*
IODO
OQ.
/ o o i o o
lia n .
El navegador Chrome en OS
El n ave g ad o r G oogle C hrom e tiene su p ro p ia ve rs i n para el
sistem a o p e ra tiv o iOS. Pero, segn las p o ltic a s de A p ple, puede
www.redusers.com
247
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
M U C H A S D E LA S
F U N C IO N A L ID A D E S DE
G O O G LE C H R O M E NO
ESTN D IS P O N IB L E S
C h ro m e p ara iO S es la in s ta la ci n y eje cu ci n
EN IOS
IfcwJU BH *
w w w ,fo d i* e f.c o m
EBOOKS
C O L E C C IO N E S
INI
FU
DIGITAL
www.redusers.com
248
8. W E B A P P S
USEFtS
P A R A IO S
Ejercicio integrador:
Add to home screen
A co n tin u a ci n , a d ap ta re m o s el e je rc ic io re a liz a d o en los p rim ero s
ca p tu lo s de este lib ro , G reen & B erries Farming, para que pueda
s e r in sta la d o en los d isp o s itiv o s iOS, in d e p e n d ie n te m e n te del tipo
de p a n ta lla que estos tengan. Si ya d isp o n em o s de los a rch ivo s
de este e je rc ic io , d escarg ad o s desde el p ortal https://prem ium .
**
KM
w .
G#
B
M mn
n *-
J fertud.
m i-w"i
G #
n i*
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
USEKS
249
Este cdigo ya nos p erm ite d efin ir que nu estra W ebA pp es un sitio
web ap to para in sta la rse d en tro de la p a n ta lla p rin cip a l del sistem a
o p e ra tivo iOS. Luego d efin im o s que la b arra de tareas s u p e rio r de iOS
sea tra n sl cid a. Po dem os o p tar tam b in p or que sea negra o del co lo r
p or d efecto del sistem a o p erativo .
c lin k re l= "a p p le -to u c h -ic o n " s iz e s = "5 7 x 5 7 " h ref= //gb -lo go -5 7 x5 7 .p n g// />
c lin k re l= "a p p le -to u c h -c o n " sze s = "7 2 x7 2 " h re f= "g b -lo g o -7 2 x 7 2 .p n g " />
N A V E G A D O R E S W E B P A R A IOS
T o d o s los n a v e g a d o re s w e b que existen actu alm e n te p a ra la platafo rm a iO S utilizan c o m o m o to r
www.redusers.com
250
8. W E B A P P S
USEFtS
P A R A IO S
< link re l= "a p p le -to u c h -ic o n " s iz e s = " 1 1 4 x ll4 " h r e f= "g b -lo g o -1 1 4 x ll4 .p n g "/>
c lin k re l= "a p p le -to u c h -ic o n " s iz e s = "1 1 4 x l4 4 " h re f= "g b -lo g o -1 4 4 x l4 4 .p n g "/ >
Iconos prediseados
H ASTA LA V E R S I N
6.X DE IOS, A P P L E
IN C L U A TANTO ICONOS
C O M U N E S COMO
P E R S O N A L IZ A D O S
w w w .re d u s e r s .c o m
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
c lin k re l= "a p p le -to u c h -ic o n " S zes= /,5 7 x5 7 // href= "gb -lo go -5 7 x5 7 -p reco m p o se d .
p n g "/ >
www.redusers.com
252
l/SERSl
8. W E B A P P S
P A R A IO S
M O B IL E -W E B -C A P A B L E
El u so d e la s W e b A p p s que p rescin den d e to d a s las fun cio n alid ad es d el n a v e g a d o r w e b en los dispositivos
m viles se fue p ro p ag an d o hacia e l re s to de los n aveg a d o res m viles de la s platafo rm as Android,
Sy m b ian y B la c k B e rry 10, tom and o la prem isa im p uesta p o r A p ple d esd e el ao 20 0 7 .
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
253
F ig u ra 6. Ya
tenemos todas
las variantes
de imgenes
splash screen
listas para
incorporar
a nuestra
WebApp.
www.redusers.com
254
8. W E B A P P S
USEFtS
P A R A IO S
G reen & B erries Farming, p ara que este resp o n d a com o una
a p lic a ci n n ativa cu an d o sea agregada a
la p antalla p rin c ip a l de un d isp o s itiv o iOS.
C R EA R EM O S UNA
IM A G E N P O R CADA
R E S O L U C I N
REPRESENTADA
EN E L E JE M P L O
< link re l= "a p p le -to u c h -sta rtu p -im a g e " m edia=//(device-w idth : 768px) and (o rentation: landscape) and (-w e b k it-d e vice -p ixe l-ra tio : 2 )"h re f= "lo g o -g b -2 0 4 8 x l4 9 6 .
p n g ">
www.redusers.com
255
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
01
seleccione la opcin A a d i r a l
02
www.redusers.com
256
03
8. W E B A P P S
USEFtS
G R E E N B E R R IE S
&
04
P A R A IO S
FARMING
www.redusers.com
257
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
05
Finalm ente, ya podr u tiliza r su W eb App como si fuese una aplicacin instalada
localm ente en OS, sin necesidad de visu a liza r la b arra de herram ientas o barra
de direcciones del navegador web S a fa ri M obile.
www.redusers.com
258
USEFtS
8. W E B A P P S
P A R A IO S
Actividades
T E S T DE A U TO E V A L U A C I N ______________________
1
10
www.redusers.com
///////////////
z 17 1z1
260
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
261
KitKat 14.4.3]
Froyo (2. 2)
Gingerbread [2.3]
Honeycomb [3.X]
www.redusers.com
262
l/SERSl
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
Particularidades de la funcionalidad
en Chrome Mobile
Com o d e s a b o lla d o re s web, debem os tener en cu e n ta que
Ch rom e M ob ile, a p a rtir de la v e rs i n 31.0, ad op t una serie de
fu n c io n a lid a d e s p ro p ias que lo d ife re n cia n de lo que se puede
re a liz a r en iO S con Safari M obile ten iendo una W ebA pp fu n cio n an d o
a p a n ta lla co m p leta. Entre otras d ife re n cias, pod em os d esta car que
las a p lic a cio n e s w eb in sta lad a s en la p a n ta lla p rin c ip a l de A n d ro id
trab ajan exactam ente igual que com o lo h aran al eje cu ta rse d en tro
del n a ve g ad o r web C hro m e M obile. AI u tiliz a r el m o to r de re n d e rizad o
N O V E D A D E S D E LO S N A V E G A D O R E S M OVILES
T o d o s los n a v e g a d o re s w e b m viles disponen de inform acin de la s A P Is y la m eto d o loga de d esarrollo
de sitios y a p lica c io n e s w e b en la s p g in as princip ales de su s fa b rica n tes. L a inform acin so b re C h ro m e
para Android p o d e m o s en co n tra rla en la U R L : h ttp s :/ / d e v e lo p e r .c h r o m e .c o m / d e v to o ls / in d e x .
www.redusers.com
263
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
F ig u ra 2. En el cambiador
de aplicaciones de Android
podemos distinguir cules
son nativas y cules son
WebApps.
Al m om ento de e s c rib ir esta o bra, Google C hro m e no ha
in co rp o ra d o tam p oco la cap acid ad de in teg rar una im agen del tipo
s p la s h s c r e e n a las W ebA pps que in stalem o s en la p an ta lla p rin cip a l
de A n d ro id . Por lo tanto, cu an d o e jecu te m o s una W ebApp a p a n ta lla
co m p leta, en el in icio de esta se m o strar una p a n ta lla b lan ca hasta
tanto se cargue la pgina p rin cip a l de la web.
URL externas
Com o m ed id a de seguridad d estacable p or sobre la fu n cio n a lid a d
im p le m e n ta d a en iOS, A n d ro id p erm ite co n o cer cund o una W ebApp
nos lle v a a un sitio w eb externo: pod em os v is u a liz a r, en el extrem o
s u p e rio r de la p antalla, la U R L hacia la cual n u estra W ebA pp a p antalla
co m p le ta re d irig i el n ave g ad o r del usuario. Esto se im p le m e n to para
n o tifica r al u su ario del telfon o m vil cu n d o u n a W ebApp carga una
pgin a w eb a jena a la U RL o rig in a l desde donde se in sta l el acceso
d ire cto en la p a n ta lla de A n d ro id .
www.redusers.com
264
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
[ u p a
m tacebook co m
Men
Historia
>
Productos
>
A f W n i d o r * o n a h o ra
:>!>owTOom
Contacto
>
Cn
jro K / v l
cu rCtKPuooK
\
9
Lg m v ra m c s
u b .c a tto e n A *
Rea. B u e n o s
A q u enconara
ervasados / (
previamente i
02321 2 3 4 9 J
www.redusers.com
265
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
mm
taam
3ri.it.
loo Co
y v
'n
n*
QP
%/
y y
4<f.
y 4.
/ i.
QA
A
9.
QB
/ /.
.
ez*
n r .n r
BOOKs
r. r o n g
i
_ rs 531
ik.m .
ljr.IT :
BOOKs
r.rnr.n.
53
oa
i la.ia
ibd\
www.redusers.com
266
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
<HEAD>
www.redusers.com
267
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
Com o podem os ver, el meta tag es sim ilar al que escribim os para
iOS, con la diferencia de que no incluye la sigla
a p p le -
al inicio. Ya con
01
BOOK
U UM o 4* life*/ Ufenufttto*
www.redusers.com
268
02
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
p r i n c ip a l o Add
to
ppal
A g re g a r
w * i U f r o b i a con m
--.tdwl
C i c a d a s i a le Jom partir,
Eniriavaread
podTTKi5d*slac
c u b f c n lo d il v
olif
p *o < r> m a c O n l
03
Se desplegar una ventana que o frece r cam biar el ttu lo de la aplicacin. Por
defecto, tra e r lo especificado en el tag < t i t i e > del encabezado de la pgina
H T M L del sitio web. Una vez aceptado o cam biado dicho ttu lo, presione A g r e g a r
www.redusers.com
269
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
04
BOOK
' - . i i - . i l " - . i t m R O M UTCWI
www.redusers.com
270
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
271
www.redusers.com
272
USEFtS
9 . W E B A P P S P A R A A N D R O ID Y O T R O S D IS P O S IT IV O S
Actividades
TEST DE AUTOEVALUACIN____________________
1
Cules son las dimensiones para los iconos que debemos crear para Android?
10
Existen meta tags especficos para W indows Phone que permitan realizar
esta ltima tarea?
www.redusers.com
*
\\\\\\\\\\\\\\\
///////////////
PhoneGap
En e s te capitu lo , nos a c e r c a r e m o s a Ph on eG ap , c o n o c id o
ta m b i n c o m o A p a c h e C o rd o v a , un fr a m e w o r k m obile
m ultip latafo rm a q u e nos perm ite con vertir n u estro sitio
w e b p a ra m viles en una aplicacin in stalable en te lfo n o s
in teligentes y ta b le ts. T am bin h a re m o s un re p a so por las
p rin cip ales ca ra c te rstic a s d e e s ta librera q u e nos perm ite
f cilm e n te a p r o v e c h a r d iv e r s o s re c u rso s d e h a rd w a re de
los d isp o sitiv o s m viles.
Cm o tra n sform a r
una W e b A p p en hb rid a ..... .....277
A c tiv id a d e s .................
j
7 1 z1
274
USEKS
10. PH O N EC AP
Introduccin
P h o n e G a p naci con la p rem isa de p erm itir el d esarro llo de
a p licacio nes m vile s para m ltip le s p latafo rm as partiend o desde
un nico d esarro llo englobado p or las tecnologas HTML5, CSS y
Ja v a S crip t. La p ropagacin de la tecnologa en m ateria m vil hizo
que un p ro g ram ad o r o e m p resa deba ad ap tarse a las necesidades
de su cliente, que -g lo b aliz aci n m ed iante- puede estar situado
en cu alq u ier rinc n del m undo.
Sum ada a esta variab le , la tendencia de uso de d isp o sitiv o s m viles
en el rincn donde este clien te se encuentre puede ser com pletam ente
d istin ta a la tendencia m arcada en el pas donde reside el program ador;
p or lo tanto, este ltim o tendr que co n tar con los co no cim iento s
n ecesarios que lo h ab iliten para poder d esarro llar un a a p lica ci n m vil,
y a sea para A n d ro id , com o para iOS, W in d o w s Phone o Black Berry, entre
otras p latafo rm as populares.
PhoneG ap busca, desde las bases del d esarro llo web, aco rtar lo
m s posible las d iferen cias que existen entre las d istin tas plataform as
d isem inad as p or los m ercados de todo el m undo. A travs de una
lib rera creada en Ja v a S c rip t, propone acced er a las caractersticas
p rin cip a le s de cada equipo m vil, com o ser el GPS, acelcrm etro,
cm ara o alm acenam iento local, entre otras funcionalid ades.
A d ab e P h o n e G ap C n ia p c n e
T h e P t i n e G 9 D e v e l o p e f M P
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
E2 S2 Z 3
275
Arquitectura
PhoneG ap a p ro vech a la arq u ite ctu ra
PH O N EG A PC REA
U N A A PL IC A C I N
Q U E E X P L O T A LA S
C A R A C T E R S T IC A S
L O C A L E S D E L S.O.
www.redusers.com
276
EEH 3
1 0 . PH O N EG A P
rn
E L FR A M EW O R K P H O N E G A P
P h o n eG ap n o solo n o s perm ite com p ilar una W e b A p p hacia la s platafo rm as m viles; tam bin nos
brinda una s e rie de h erram ientas, m ed iante la A P I, q u e utilizando Ja v a S c r ip t n o s perm itirn explotar
las c a ra c te rs tic a s p rin cip a les d el h ardw are d e los dispositivos m viles.
www.redusers.com
USEKS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
277
As fue com o, desde la versin 5.5 de esta herram ienta, D ream w eaver
com enz a d ar soporte para PhoneGap. Aun as, Nitobi, el creador de
este m aravillo so fram ework, puso com o condicin que PhoneGap fuera
de cdigo libre: por esta razn, se desprendi una ve rsi n libre bajo
licen cia Apache, com nm ente conocida com o Apache Cordova.
Adobe se qued con el derecho de PhoneG ap y PhoneG ap Build;
A pache C ordova, p or o tro lado, es d istrib u id o de form a gratuita
entre quienes q u ieren d esarro llar ap licacio n e s m vile s hbridas,
m anteniendo la filosofa o riginal con que Nitobi cre PhoneG ap.
A P A C H E COR DOVA
www.redusers.com
278
USEFtS
10. PH O N EG A P
www.redusers.com
279
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
A L IN G R E S A R A
P H O N E G A P B U IL D
V E R E M O S TO D A S LA S
A P L IC A C IO N E S Q U E
H E M O S IDO C R EA N D O
www.redusers.com
280
USEFtS
10. PH O N EG A P
Modificacin de index.html
Al cdigo de la ap licaci n slo debem os re aliz arle una sim ple
m o d ificaci n en su a rch ivo p rin cip a l, index.htm l. Para esto, lo editam os
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
E2 S2 Z 3
281
PH O N EG A P PRO VEE
E L ARCH IVO
P H O N E G A P .JS
P A R A CADA S IS T E M A
O P ER A T IV O M VIL
el cual perm ite com pilar una aplicacin. Esto lo har la plataform a de
m anera transparente para el desarrollad os evitando as varios dolores de
cabeza, com o tambin la necesidad de subir una copia de nuestro cdigo
fuente por cada plataform a a la que deseamos com p ilar nuestro proyecto.
Veam os, a co ntinuaci n, cm o queda el cdigo fuente de la pgina
p rin cip al:
d D O C T Y P E htm l>
<htm l>
<head>
c title > D o c to r Assistance</title>
js"></scrpt>
cscript src="Phonegap.js" ></script>
c/script>
c/head>
www.redusers.com
USEFtS
10. PH O N EG A P
.3. S'~
ISIoctor
C p E s s is ta n c e
\/
f
JA
#
O"
a
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
283
www.redusers.com
284
G 2H S
1 0 . PH O N EG A P
lj
- 1 ^
---------------------------
3
uTT*
___________ d i \
F ig u ra 10. El icono creado para identificar nuestra app tambin puede ser
subido desde el portal PhoneGap Build en el momento de crear el proyecto.
C O N F IG U R A C IO N D E T A L L A D A D E L P R O Y E C T
P h o n eG ap d ispone d e un archivo d enom inad o c o n fig .x m l, en donde s e podrn configurar, d e m a n era deta
llada, la s pantallas d e inicio, ico n o s y s e rvicio s del m vil que nuestra a p p utilizar. El archivo p u ed e su m arse
en la c a rp e ta raz de nuestro p ro y e c to H TM L, o p o d e m o s d eja r que P h o n e G a p lo g en e re autom ticam ente.
www.redusers.com
285
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
;::r 3 A
B<J
**rv
Deo
fe |
S*W>1
-
Doctor Assistance
&
v*
www.redusers.com
286
USEFtS
10. PH O N EG A P
re
www.redusers.com
P O R T A L E S P A R A S U S C R IP C I N D E D E S A R R O L L A D O R E S
PLATAFORMA
287
USERS
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
iO S
h ttp s :/ / d e v e lo p e r.a p p le .c o m / p ro g ra m s / io s
A n d ro id
W ind ow s 8 /
h ttp ://d e v .w in d o w s .c o m /e n -u s/ jo in
W ind ow s Phone
B la c k B e rry
N o kia (p la ta fo rm a s
d ife re n te s a W P h one )
a n d _S u b scrib e
C E R TIF IC A D O S DE D ES A R R O LLA D O R
L o s distintos ve n d e d o res d e la s p la ta fo rm a s m viles im plem entan un certificad o d e d e s a b o lla d o r
p erso nalizado segn la p latafo rm a. En N o kia e iO S , por ejem plo, d e b e m o s g estio n a r un ID nico p ara
c a d a app q u e c re a m o s, m ientras q u e M icro so ft s lo valida a tra v s de un D e v e lo p e r ID nico.
www.redusers.com
288
USEFtS
10. PH O N EG A P
S I E L NAVEGADOR
N O S P R E G U N T A SI
Q U E R E M O S D ES C A R G A R
E L ARCH IVO A PK ,
A C EP T A M O S
www.redusers.com
289
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
D o c tc * A T O s tn n c * -o * ) u g apfc
D o c to r A s t is t a n c e
D M M m u l a r la p l c ^ . o o -
D o c to r A t s r t a n c
nr
a to M o v w n t*
aoc0
0P9 , li
&
|W
R ESU M EN
Ph o n eG a p /A p a ch e C o rd o va nos p erm ite r p id a m e n te tran sfo rm ar un sitio w e b en una app p a ra dispositivos
m viles, co n m uy p o c o esfuerzo. C om b inan d o e s te fra m e w o rk con el servicio de P h o n e G a p B uild lograrem os,
en tiem p o rco rd , portar cualquier W e b A p p h acia el m undo de la s ap lica cio n es in stalab les en Android,
iO S , B la c k B e rry . W in d o w s P h o n e o los d ispo sitivo s Nokia b a s a d o s en Sym b ian y S 4 0 .
www.redusers.com
290
USEFtS
10. PH O N EG A P
Actividades
T E S T DE A U TO E V A L U A C I N _____________________
1
Qu es PhoneGap?
Podemos utilizar PhoneGap slo para com pilar WebApps a apps hbridas?
o
De qu forma podem os instalar una app compilada en PhoneGap Build?
10
www.redusers.com
///////////////
P rog ra m a ci n nativa
para B la c k B e rry 1 0 ............ ......292
7 1 z1
E m u la r W e b A p p s
en la c o m p u ta d o ra ....................302
292
USEFtS
A P N D IC E A . B B I O, W IN D O W S P H O N E Y E M U L A D O R E S W E B
Programacin nativa
para BlackBerry 10
Si bien iPhone es el producto ms d estacado en el terren o m obile
y fu e el que cam bi rotund am ente la m anera de u tiliz a r u n celular,
debem os reco nocer que gran parte del m rito en los avances de
n aveg ad ores y sistem as de m ensajera avanzad os, d entro del terreno
m vil, lo tiene, desde m ucho tiem po antes, la p latafo rm a BlackBerry.
Esta p latafo rm a realiz cam bios sig n ificativo s en el terreno m vil,
dado que ad op t las bondades que la em presa P a lm haba puesto en
el m ercado de la telefona m vil y la co m p utaci n p ersonal porttil
desde fines de la dcada del 90. As fu e com o B lack B e rry condecor
esta p latafo rm a con un sistem a de n aveg acin p or web y actu alizaci n
de las no ticias p resentadas en nuestros sitio s o blogs ms reconocidos
m ed iante el sistem a RSS.
BlackBerry tam bin inici, en parte, el terreno de la mensajera
instantnea m vil desde su plataform a BBM ( B la c k B e r r y M e ss e n g e r).
Incorpor un sistem a de chat sim ilar al que nos present IC Q e n los
inicios de la Web de escritorio, que evitaba que tuviram os que darles
nuestro nm ero de telfono a los interlocutores con los que chatebamos.
El sistem a de m ensajera BBM es, hasta hoy, m uy querido y deseado
p or m iles de u su ario s en todo el m undo. Por esto, B la ck B e rry decidi,
a p a rtir de 2014, lle v a r su sistem a BBM a las p latafo rm as iOS y A ndroid,
a pesar de que los laureles en el terreno los tenga ahora W h a ts A p p .
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
USERS
293
La generacin BB10
La llegada de B la ck B e rry 10 al m ercado m undial
CON B L A C K B E R R Y 10,
B B P R O P U S O UN
N U EV O S.O. CON
M U L T IT A R E A EN
T IE M P O R E A L
Desarrollo nativo
Las herram ientas de desarrollo nativo perm iten crear apps para BB10
de dos m aneras: directam ente, u tilizand o cdigo C++, o com binando
D E S A R R O LLO P A R A B LA C K B E R R Y
En e s to s ltim os m e s e s , B la c k B e rry d ecid i c o m p le m en ta r el d esarro llo nativo, b a sa d o en W e b W o r k s ,
d irecta m e n te co n el com p ilad o r A p a c h e C o r d o v a , porque e s te ltimo resu elve c asi to d o el a c c e s o al
h ardw are que los equipos B B exigen.
www.redusers.com
294
USEFtS
A P N D IC E A . B B I O, W IN D O W S P H O N E Y E M U L A D O R E S W E B
www.redusers.com
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
295
H T M L 5 WeBW.
n
SU* e > w
- * - v n !h na S
La interfaz BB en HTML5
Para p o d er d esarro llar ap licacio nes h b rid as que lu z ca n igual que la
in te rfa z n ativa de BB10, tam bin contam os con una ve rsi n a lte rn a tiv a
para integrarse con j Q u e r y M o b ile y asi f cilm e n te crear la in terfaz de
BB desde CSS y Ja v a S c rip t: B B U I.js .
www.redusers.com
2%
A P N D IC E A . BB1 O, W IN D O W S P H O N E Y E M U L A D O R E S W E B
El gran simulador
Todo gran ento rno de desarrollo debe tener un gran sim u lad or
para co m p letar el am b iente p erfecto de cdigo y testing. BB10 no
es la excepcin, ya que desde sus in icio s el am b iente de desarrollo de
esta p latafo rm a puso a d isp o sici n de los p ro g ram ad o res un excelente
am biente de testing. Este est com puesto por VM W are Player
'
* A
11
10 D r n i m a t e
M u j> _ tn u m
'
11*
i1
El cliente de em ulacin V M W a r e
operativos d e B la c k B e rry , sino que tam bin p erm ite c re a r m q u in as virtuales p a ra instalar, por ejem plo,
el siste m a o p erativo W in d o w s 8, en tre otros.
www.redusers.com
E2 S2 Z 3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
297
Redm ond tuvo una p articip aci n p revia con W ind ow s Mobile.
Ju n to con la llegada de W in d o w s Phone, un sistem a o p e ra tivo
m vil co m p letam ente renovado en cuanto
a fu n cio n alid a d e s e in te rfa z grca, lleg la
ad ap taci n de sus herram ientas basadas en
D ESD E SU
V E R S I N 2010,
V IS U A L ST U D IO P O S E E
SO PO RTE PARA
W IN D O W S P H O N E
Windows Phone 7 y 8
M icrosoft firm u n co n ve n io con Nokia para el lan z am ien to m asivo
de la p latafo rm a W in d o w s Phone. Este acuerdo traa una serie de
ven tajas para am bas em presas, ya que N okia fue, d urante m uchos
aos, p ionera en m ateria de equipos celu lares por su gran calidad
de hardw are y softw are, y M icroso ft -si bien segua gozando de la
p op u larid ad m und ial del sistem a o p erativo W in d o w s en los e scrito rio s
de ms del 90 % de los equipos- necesitaba recuperar rpidam ente
el terren o m vil ced id o a sus p rin cip a le s com petidores.
www.redusers.com
298
l/SERSl
A P N D IC E A . B B 1 0 , W IN D O W S P H O N E Y E M U L A D O R E S W E B
SD K P A R A W IN D O W S P H O N E 8
S i utilizam os la ltim a ve rsi n del ID E V is u a l S t u d io 2 0 1 3 en su versi n profesional, n ecesitarem o s
c o n ta r co n un siste m a o p era tivo W in d o w s 8 p rofesional o superior. W in d o w s 7 no so p o rta los em ulad o res
W P de la ve rsi n 2 0 1 3 de V isual Studio.
www.redusers.com
299
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
www.redusers.com
S E F tS
A P N D IC E A . BB I O, W IN D O W S PH O N E Y EM U LA D O R ES W EB
Figura 7. Visual Studio para W P nos permite tener una vista previa
de nuestro desarrollo y, a su vez, crea r los com ponentes tanto en modo
cdigo com o arrastrndolos desde la barra de herram ientas.
www.redusers.com
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
tym
(mli MtOM
www.redusers.com
302
USEFtS
A P N D IC E A . B B I O, W IN D O W S P H O N E Y E M U L A D O R E S W E B
Emular WebApps
en la computadora
Existen tam bin co m p lem en to s para naveg ad o res web que sirven
para e m u la r ap licacio nes web d entro de un b ro w ser instalado en
n u estra com putadora. Desde hace un tiem po, Google in clu ye en su
p ortal de ap licacio nes y extensiones para Chrom e un com plem ento
llam ad o R ipple Emulator, el cual nos ayuda a em ular fcilm en te
W ebApps y as p o d er v e r cm o lucen estas en las p antallas de
d isp o sitiv o s m viles, ya sea tablets
o sm artphones.
E L E M U L A D O R DE
W E B A P P S R IP P L E
EM U L A T O R E S UN A
w ebstore/detail/ripple-em ulator-beta/geel
D E L A S E X T E N S IO N E S
PARA CHROM E
R ip p le E m u la to r (B e ta )
n v w iiM t
www.redusers.com
303
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
01
c o m e to
www.redusers.com
304
02
USEKS
A P E N D IC E A . B B I O, W IN D O W S P H O N E Y E M U L A D O R E S W E B
A r* y o * r s a t f) to r ih * ? ! 7 l
5553
t o r Ibis s p ecih c l * U
f r a s e s d w t O pMrtnrm 'm nW wr y t u * s n lo
t r t l l k j TtTl
AM d c
r -i u .
to .
1 (to M O ii 11o 01
e a d H C w O ju a p O )
t o a e m io m n in r u iD O ]
M M o n tC U M
t o w n
03
*M 0 M q a m
www.redusers.com
Ite d & i
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
04
305
El aporte de Firefox
El naveg ad o r web M o z illa F ir e f o x de e scrito rio in clu ye , desde sus
ltim as version es, la p o sib ilid ad de ad ap tar una web a un tam ao de
p antalla p red eterm inad o . Para v is u a liz a r esta opcin, prim ero debem os
cargar en una pestaa la pgina deseada y luego p re sio n ar CTRL +
EM U LA D O R E S IOS
Lam en tab lem en te,
Apple
nunca
puso
disposicin
e m u la d o res
de
su
sistem a
o p era tivo
mvil
para la platafo rm a W in d o w s o Linux, y a q u e la s h erram ie n tas que ellos exigen utilizar para d esarrollo
slo d ispo n en de una versi n que p u ed e in s ta larse y ejec u ta rs e en OS-X.
www.redusers.com
306
A P N D IC E A . BB1 0 , W IN D O W S P H O N E Y E M U L A D O R E S W E B
P a ra
d esarro llar
em ular
co n
h erram ie n tas
Apple
o ficiales,
podem os
c o n tra ta r
el
se rvicio
www.redusers.com
///////////////
Firefox OS
Este a p n d ic e n o s b rin d a una r p id a in tro d u c c i n
ai m u n d o de F ire fo x O S , un n u e v o ju g a d o r en el te rre n o
m o b ile q u e a p u n ta a a c e rc a r la te le fo n a m v il d e los
m e rc a d o s e m e rg e n te s al p a ra d ig m a del d e s a rro llo
w e b , b a sa n d o to d a su in te rfa z en la te c n o lo g a H T M L 5 .
E sto p e rm itir q u e c u a lq u ie r d e s a b o lla d o r o d is e a d o r w e b
p u e d a in te g ra r sus p ro d u c to s r p id a m e n te en esta p la ta fo rm a .
Un nuevo jugador
71Z1
Distribucin
en el ecosistema mvil
308
El simulador
312
de aplicaciones
31f
308
USEFtS
A P N D IC E B. F IR E F O X O S
Un nuevo jugador
en el ecosistema mvil
La Fundacin M ozilla lleva m s de una d cada desarrolland o
d iversas ap licacio nes bajo la filoso fa open source. Su p rin cip al
m isi n es m antener una selecci n de p ro d ucto s que ponen
a d isp o sici n del usuario una n u e va a lte rn a tiv a en el ecosistem a
de ap licacio nes de e scrito rio y -ahora- m viles.
D entro de sus p rin cip ales estrellas, podem os destacar a Firefox
y T h u n d erbird , naveg ad o r w eb y clien te de correo electrnico,
re sp ectivam en te. Toda la lnea de p ro d ucto s de M ozilla est d isp o nib le
de m anera gratuita, ya que son de cdigo ab ierto y m ultip latafo rm a,
lo que nos perm ite u tiliz a r el m ism o producto en W indow s, Linux,
BSD y OSX, sin existir d iferen cias entre estas plataform as.
Con los aos, el fuerte crecim iento de las plataform as m viles hizo
que M ozilla lanzara una versin m vil de su navegador web para casi
todas las plataform as existentes. H oy podem os usar Firefox tanto en las
com putadoras de escritorio com o en las tablets y celulares ms populares.
www.redusers.com
npggz a
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
309
Gm ail com o co rreo ele ctr n ico basado en web y, ms tarde, Chrom e
com o naveg ad o r web, M o z illa d ej de re c ib ir apoyo de esta com paa.
A un as, con la fin an ciaci n de otros interesados, pudo seguir
m an ten iendo hasta ho y su lnea de productos.
La llegada en 2012 de T elefnica de Espaa
F IR E F O X OS E S UN
S IS T E M A O PER A T IV O
DE CDIGO A B IE R T O
D E LA FU N D A C I N
M O Z ILLA
Arquitectura de Firefox OS
Firefox OS d iv id e su arq u ite ctu ra en tres com ponentes:
Las ap licacio nes que corren bajo Firefox O S estn im p lem entadas
bajo el estnd ar HTM L5, CSS3 y Ja v a S c rip t. Estas alcanzan, as, una
in terfaz que se e jecu ta co rrectam en te en este sistem a operativo.
www.redusers.com
USERS
A P N D IC E B. F IR E F O X O S
W ebA pps: todas las ap licacio nes de este S.O. estn basadas
en web (HTM L5, CSS, JS ). No existe ho y un fram e w o rk que perm ita
co d ificar y co m p ila r las ap licacio nes de m anera nativa. A un as,
las ap licacio nes son ejecutadas de m anera nativa, sin dep ender
del naveg ad o r web. A tra v s de un a rch ivo especfico, el S.O.
lee las ca racte rsticas que tiene cada ap p y las e jecu ta en pantalla
com pleta.
www.redusers.com
C E2 Z3
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
311
rWmOS(n4M
,-
If7 51
- 2 2 48
54911331+8854 3
P a a f S4B1133IQ68&4~|
E iw f
3o.
6o
9 ,
o.
4*
e
D n a ip ilM
SS
f t r c in n c p w til liM w tf i M
o v in
Codificando apps
Com o b ie n d ijim o s en el in ic io de este a p n d ice , F ire fo x OS
p ro m u e v e el d e s a rro llo de a p lic a c io n e s n te g ra m e n te basadas
en te cn o lo g a s w eb, lo que p e rm ite que c u a lq u ie r p erso n a con
c o n o c im ie n to s b sico s en e sta s te cn o lo g a s p u ed a r p id a m e n te cre a r
u n a app c o m p a tib le p ara este siste m a o p e ra tiv o . Esto nos p e rm ite
| P A N E L DE A D M IN IS TR A C IO N
__________________________________________
Firefox b ro w se r nos pone a dispo sici n A p p M a n a g e r , el panei de adm inistracin principal de Firefox O S ,
d e s d e donde p o d e m o s adm inistrar la s a p lica c io n e s del dispositivo, d e te c ta r un telfono fsico, e je c u ta r el
sim ulador e instalar ap lica cio n es, entre o tra s c o s a s . S e a c c e d e d esd e e s ta U R L: a b o u t r a p p - m a n a g e r
www.redusers.com
312
USEF*S\
A P N D IC E B. F IR E F O X O S
El simulador
Para poder in stalar el sim u la d o r Firefox OS, solo debem os
contar co n el naveg ad o r web Firefox. El sim u lad or se instalar
com o un co m p lem ento de este y se ejecutar de m anera fcil
desde la in terfaz del navegador.
Para in sta la rlo , debem os acce d e r al
PAR A IN STALAR EL
SIMULADOR FIREFOX
OS SOLO NECESITAMOS
EL NAVEGADOR WEB
FIREFOX
FIR E F O X O S K N O W L E D G E D A TA B A S E
Para seguir al pie de la letra la correcta instalacin de Firefox OS y conocer con mayor profundidad
sus caractersticas, podemos ingresar al link: www.developer.mozilla.org/es/docs/Mozilla/
Firefox OS/Using the App Manager, donde encontraremos un instructivo completo y detallado.
www.redusers.com
313
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
Ajustes
Desde el m en de a p lica cio n e s, pod em os acce d e r a los ajustes
gen erales del sistem a o p e ra tivo , d on d e p od rem o s co n fig u rar opciones
com o: id io m a, pas, ho rario , fecha, etctera. Una v e z co nfiguradas
las o p cio n e s p or d efecto de n u e stro sim ulad or, p od rem o s acced er
a la d escarga de a p lic a cio n e s d esd e F irefox M arketplace o co m en z ar
a a d ap ta r n uestras W ebA pps p ara d is trib u irla s en esta p lataform a.
11 o
www.redusers.com
314
USEFtS
A P N D IC E B. F IR E F O X O S
Firefox OS Ul Style
De este rep o sito rio debem os tom ar los a rch ivo s ubicados en la
carp eta /JS/ y en la carp eta / S T Y L E / . El resto de las carp etas posee
otros com ponentes, aunque an estos se encuentran en modo
b orrado r y no se recom ienda u tiliz arlo s.
Los a rch ivo s CSS poseen clases definidas para esta interfaz, sim ilares
a las de jQ u e ry M obile, con lo cual al e scrib ir un a rch ivo HTML,
p odrem os in vo ca r tags com o < d a ta -ro le = d ia lo g d a ta -ty p e = c o n firm >,
y as obtend rem os una ve n ta n a de dilogo que vis u a liz a r los botones
de co n firm aci n para ejecu tar otras accio nes y/ o cerrarse.
D entro de los sk in s o tem as que Firefox OS nos pone a disp o sicin,
se in clu ye n actu alm en te dos tem as especficos, a los cu ales accedem os
a trav s de las siguientes lneas de cdigo:
Ul alternativo
Igualm ente, si no q uerem os in vo lu crarn o s de lleno con el desarrollo
de ap licacio nes que u tilice n el estilo n ativo de Firefox OS, podem os
re c u rrir a la lib re ra de jQ u e ry M obile, sin que esto sea un im p edim ento
para d is trib u ir apps en M ozilla M arketplace.
www.redusers.com
315
D E S A R R O L L O W E B P A R A D IS P O S IT IV O S M V IL E S
Manos a la obra
Veam os a co n tin u aci n cm o podem os ad ap tar nuestra app
Manifest.webapp
El a rch ivo Manifest.webapp es el p rin cip al objeto al que Firefox OS
apunta cuando e jecu ta una aplicaci n. En este, el sistem a o p erativo
m vil e n co n trar toda la in fo rm aci n referente a la aplicaci n, para
poder in stalarla en el sistem a o p erativo , m o strar su co rresp o nd iente
icono e identificar, entre otras cosas, el ttu lo y qu fu n cio n alid ad es
del so ftw are o h ard w are u tiliz a r al m om ento de ejecutarse.
Para ello, d entro del a rch ivo en cuestin, debem os vo lca r el
siguiente contenido, que in clu ye los com andos a travs de los cuales
id en tifica r las ca ra cte rsticas m encio nad as de nuestra app. Antes
crearem os, d entro del d ire cto rio raz de nuestro p royecto, un archivo
con este nom bre. A co ntinuaci n, escribirem o s el siguiente cdigo:
{
"v e rs i n ": " 1 .0 " ,
" a m e " : "G re e n & B e rrie s F a rm in g ",
"d e s c rip tio n ": "E je m p lo funcional de A p p para Fire fox OS - by Fem ando L u n a ",
"la u n c h _ p a th ": "/ n d e x.h tm l",
" ic o n s ": {
" 4 8 " : "/im agenes/gb-48.png",
" 6 0 " : "/im agenes/gb-O.png",
" 1 2 8 " : "/im agenes/gb-128.png"
"d e v e lo p e r": {
" a m e " : "F e rn a n d o L u n a ",
" u r l " : " http://w w w .vidam obile.com .ar"
www.redusers.com
316
l/SERSl
A P N D IC E B. F IR E F O X O S
w*//
l
"lo c a le s 7': {
"e n ":{
" d e s c r ip tio n " :" Ejem plo funcional de A p p para F ire fo x OS - by Fernando
L u n a ",
"d e v e lo p e r": {
" a m e " : "Fe rn a n d o Ornar L u n a ",
" u r l " : " http://w w w .vidam obile.com .ar"
}
}
>,
" d e fa u lt jo c a le " : " e s " ,
"p e rm iss io n s ": O,
"fu lls c re e n ": " t r u e "
D A S H B O A R D DE FIR E F O X OS
D e sd e el Panel de control d e Firefox O S p o d e m o s no solo c a rg a r ap p s d e s d e su c a rp e ta con ten ed o ra,
sino tam b in, a tra v s de una U R L, validarla, ed itar el archivo m anifestw ebapp, y actu alizar e l p a c k a g e del
sim ulador si c a m b ia m o s algu n o en e l pro yecto , e n tre o tra s co s a s.
www.redusers.com
317
D E S A R R O L L O W E B P A R A D I S P O S IT IV O S M V IL E S
www.redusers.com
318
USEFtS
A P N D IC E B. F IR E F O X O S
Distribucin de aplicaciones
Por ltim o, para d is trib u ir nuestras ap licacio nes en M ozilla
M arketplace, debem os in scrib irn o s com o d e s a b o lla d o re s de la
p lataform a. Y para subir nuestras ap ps debem os crear, p reviam ente,
un a rch ivo Zip con la carp eta que co n tien e todo el proyecto.
M ozilla e n via r nuestra app para su co rresp o nd ien te certificacin
y, al cabo de unos das, recibirem o s el OK de la im p lem en taci n
de esta d entro del M arketplace, o el co rresp o nd ien te KO con los
co m entario s que in d ica n por qu fue rechazada nuestra app.
Si q uerem os d is trib u ir ap licacio nes por p rim era vez, M ozilla
M arketplace es la m ejor opcin para in d u cirn o s en el fascinante
m undo del d esarro llo de las ap licacio nes m viles, tanto por su
sim p leza y costo cero, com o por otras tantas bondades prop ias
de la p lataform a.
www.redusers.com
A
*
77
* EN ESTE L IB R O A P R E N D ER :
P l a t a f o r m a s y t e c n o l o g a s m v ile s : sistem as operativos mviles. Diferencias
entre WebApp. App nativa y App hbrida. Tecnologas de la web actual.
H T M L 5 : navegadores, sistem as operativos y motores de renderizado.
Declaraciones y metatags. HTML5 para aplicaciones mviles. Geolocalizacin.
j Q u e r y M o b ile : definicin. Uso local o remoto. Configuracin de una WebApp.
i W
Componentes y estructura.
W e b A p p s p a r a iQ S y A n d r o id : diseo. Prestaciones de Safari y de Google
Chrome mobile. Visualizacin de una WebApp como nativa.
S O B R E E L AUTO R
F e m a n d o L u n a es a n a lis ta fu n c io n a ! de
s is te m a s y c u e n ta c o n u n a d ip lm n a tu ra
Es c o la b o ra d o r de la s re v is ta s Power
P r o g r a m a c i n n a t iv a p a r a B l a c k B e r r y 1 0 y W in d o w s P h o n e : herramientas
de desarrollo. Emulacin de WebApps en la computadora con Ripple Emulator.
N I V E L D E U S U A R IO
In te r m e d io
BBC
OQp
C A T E G O R A
D e s a rr o llo / In te r n e t / M o b ile
Eli
IS B N : 9 7 8 - 9 8 7 - 1 9 4 9 - 8 3 - 0
- i
RU
R E O U S E R S .c o m
P R O F E S O R E N L N E A
A n te c u a lq u ie r co n s u lta t c n ic a re la cio n a d a
re la c io n a d a s y ta m b i n p a rtic ip a r de la c o m u n id a d
expertos: p ro fe s o r@ re d u s e rs .c o m .
9871 949830