SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
Please enable JavaScript
                 to view this page properly




Saturday, May 14, 2011
Bruno Oliveira
                         @abstractj




             http://gitshelf.com



Saturday, May 14, 2011
Desenvolvimento
        Indolor com JQuery
              Mobile
Saturday, May 14, 2011
Obrigado!



Saturday, May 14, 2011
Mobilidade




Saturday, May 14, 2011
~ 205 M
                         de aparelhos celulares
                               ~ 85 M
                           de computadores
                               (teleco/sercomtel)




Saturday, May 14, 2011
Valor agregado



Saturday, May 14, 2011
Plataformas



Saturday, May 14, 2011
O cowboy!


               Java      Windows   Android   iOS
                ME        Mobile




Saturday, May 14, 2011
Java ME




                         JavaFX #FAIL


Saturday, May 14, 2011
Windows Mobile




Saturday, May 14, 2011
Saturday, May 14, 2011
Android




Saturday, May 14, 2011
DOX
                         Desenvolvimento
                            Orientado
                                a
                               XML
Saturday, May 14, 2011
iOS




Saturday, May 14, 2011
#comofaz?




                                     FAX?!

Saturday, May 14, 2011
Objective C




Saturday, May 14, 2011
Simples?!
#import <Foundation/Foundation.h>

int main(int argc, const char argv[])
{
! NSAutoreleasePool *anAutoreleasePool = [[NSAutoreleasePool alloc]
init];
!
! NSLog(@"Hello World");
!
! [anAutoreleasePool drain];
! return 0;
}




Saturday, May 14, 2011
Problemas?



Saturday, May 14, 2011
$$$$$$$$$$$$$$$$$$$$$$$$$$




Saturday, May 14, 2011
Saturday, May 14, 2011
Saturday, May 14, 2011
Entregar valor > preciosimo




Saturday, May 14, 2011
Wizards são tão
                            simples!


Saturday, May 14, 2011
As aparências
                           enganam!




Saturday, May 14, 2011
Alguém precisa pensar
            por você?


Saturday, May 14, 2011
Solução?!




Saturday, May 14, 2011
Pra que aplicações
                          nativas?


Saturday, May 14, 2011
Call me
                    JQuery   titanium
                    Rocks!      guy!




Saturday, May 14, 2011
O que todo celular
                          tem em comum?


Saturday, May 14, 2011
Browser



Saturday, May 14, 2011
Safari      Opera




              Android
                            Browser           BlackBerry




                         Palm      Symbian




Saturday, May 14, 2011
Saturday, May 14, 2011
JavaScript

Saturday, May 14, 2011
MVC



Saturday, May 14, 2011
MVC



Saturday, May 14, 2011
MVC



Saturday, May 14, 2011
Não seja cowboy!




Saturday, May 14, 2011
JQuery Mobile




Saturday, May 14, 2011
Desenvolvedores




                             29 devs JQuery
Saturday, May 14, 2011
Saturday, May 14, 2011
O que eu preciso?
                              JQuery 86 KB (minified)



                         JQuery Mobile JS 66 KB (minified)



                         JQuery Mobile CSS 45 KB (minified)



                                  Total = 197 KB




Saturday, May 14, 2011
Multiplataforma
                          Cross Device


Saturday, May 14, 2011
Estrutura básica
<!DOCTYPE html>
<meta charset="utf-8">
<head>
! <title>Brazil JS</title>
! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/
jquery.mobile-1.0a4.1.min.css" />
! <script type="text/javascript" src="http://code.jquery.com/
jquery-1.5.min.js"></script>
! <script type="text/javascript" src="http://code.jquery.com/mobile/
1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
! <script type="text/javascript" src="experiments/themeswitcher/
jquery.mobile.themeswitcher.js"></script>
</head>



Saturday, May 14, 2011
Estrutura básica
<!DOCTYPE html>
<meta charset="utf-8">
<head>
! <title>Brazil JS</title>
! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/
jquery.mobile-1.0a4.1.min.css" />
! <script type="text/javascript" src="http://code.jquery.com/
jquery-1.5.min.js"></script>
! <script type="text/javascript" src="http://code.jquery.com/mobile/
1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
! <script type="text/javascript" src="experiments/themeswitcher/
jquery.mobile.themeswitcher.js"></script>
</head>



Saturday, May 14, 2011
Estrutura básica
<!DOCTYPE html>
<meta charset="utf-8">
<head>
! <title>Brazil JS</title>
! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/
jquery.mobile-1.0a4.1.min.css" />
! <script type="text/javascript" src="http://code.jquery.com/
jquery-1.5.min.js"></script>
! <script type="text/javascript" src="http://code.jquery.com/mobile/
1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
! <script type="text/javascript" src="experiments/themeswitcher/
jquery.mobile.themeswitcher.js"></script>
</head>



Saturday, May 14, 2011
Estrutura básica
<!DOCTYPE html>
<meta charset="utf-8">
<head>
! <title>Brazil JS</title>
! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/
jquery.mobile-1.0a4.1.min.css" />
! <script type="text/javascript" src="http://code.jquery.com/
jquery-1.5.min.js"></script>
! <script type="text/javascript" src="http://code.jquery.com/mobile/
1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
! <script type="text/javascript" src="experiments/themeswitcher/
jquery.mobile.themeswitcher.js"></script>
</head>



Saturday, May 14, 2011
Saturday, May 14, 2011
Corpo da página




Saturday, May 14, 2011
Corpo da página

!   <body>
!   ! <div data-role="page" id="foo">
!   ! !
!   ! ! <div data-role="header">
!   ! ! ! <h1>Header</h1>
!   ! ! </div>
!   ! !
!   ! ! <div data-role="content">!
!   ! ! ! <p>Conteúdo</p>! !
!   ! ! </div>
!   ! !
!   ! ! <div data-role="footer">
!   ! ! ! <h4>Footer</h4>
!   ! ! </div>
!   ! </div>! !
!   </body>

Saturday, May 14, 2011
Corpo da página

!   <body>
!   ! <div data-role="page" id="foo">
!   ! !
!   ! ! <div data-role="header">
!   ! ! ! <h1>Header</h1>
!   ! ! </div>
!   ! !
!   ! ! <div data-role="content">!
!   ! ! ! <p>Conteúdo</p>! !
!   ! ! </div>
!   ! !
!   ! ! <div data-role="footer">
!   ! ! ! <h4>Footer</h4>
!   ! ! </div>
!   ! </div>! !
!   </body>

Saturday, May 14, 2011
Corpo da página

!   <body>
!   ! <div data-role="page" id="foo">
!   ! !
!   ! ! <div data-role="header">
!   ! ! ! <h1>Header</h1>
!   ! ! </div>
!   ! !
!   ! ! <div data-role="content">!
!   ! ! ! <p>Conteúdo</p>! !
!   ! ! </div>
!   ! !
!   ! ! <div data-role="footer">
!   ! ! ! <h4>Footer</h4>
!   ! ! </div>
!   ! </div>! !
!   </body>

Saturday, May 14, 2011
Corpo da página

!   <body>
!   ! <div data-role="page" id="foo">
!   ! !
!   ! ! <div data-role="header">
!   ! ! ! <h1>Header</h1>
!   ! ! </div>
!   ! !
!   ! ! <div data-role="content">!
!   ! ! ! <p>Conteúdo</p>! !
!   ! ! </div>
!   ! !
!   ! ! <div data-role="footer">
!   ! ! ! <h4>Footer</h4>
!   ! ! </div>
!   ! </div>! !
!   </body>

Saturday, May 14, 2011
Corpo da página

!   <body>
!   ! <div data-role="page" id="foo">
!   ! !
!   ! ! <div data-role="header">
!   ! ! ! <h1>Header</h1>
!   ! ! </div>
!   ! !
!   ! ! <div data-role="content">!
!   ! ! ! <p>Conteúdo</p>! !
!   ! ! </div>
!   ! !
!   ! ! <div data-role="footer">
!   ! ! ! <h4>Footer</h4>
!   ! ! </div>
!   ! </div>! !
!   </body>

Saturday, May 14, 2011
Touch Layout




Saturday, May 14, 2011
<!DOCTYPE html>
<meta charset="utf-8">
! <html>
! ! <head>
! ! ! <title>Brazil JS</title>
! ! ! <link ... />
! ! ! <script src="..."></script>
! ! </head>
! ! <body>
! ! ! <div data-role="header" data-theme="b">
! ! ! ! <h1>Sábado</h1>
! ! ! </div>
! ! ! <div data-role="page" id="listing">
! ! ! !
! ! ! ! <div data-role="content">
! ! ! ! ! <ol data-role="listview">
! ! ! ! ! ! <li>7h00! Credenciamento</li>
! ! ! ! ! ! <li>7h50! Abertura</li>
! ! ! ! ! ! <li>8h00! Keynote David Herman </li>
! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o
Engine, o servidor Javascript do ERP da UNUM.</li>
! ! ! ! ! ! <li>10h00!Coffee Break</li>
! ! ! ! ! ! ! ! ....
! ! ! ! ! </ol>
! ! ! ! </div>
! ! ! </div>
Saturday, May 14, 2011
<!DOCTYPE html>
<meta charset="utf-8">
! <html>
! ! <head>
! ! ! <title>Brazil JS</title>
! ! ! <link ... />
! ! ! <script src="..."></script>
! ! </head>
! ! <body>
! ! ! <div data-role="header" data-theme="b">
! ! ! ! <h1>Sábado</h1>
! ! ! </div>
! ! ! <div data-role="page" id="listing">
! ! ! !
! ! ! ! <div data-role="content">
! ! ! ! ! <ol data-role="listview">
! ! ! ! ! ! <li>7h00! Credenciamento</li>
! ! ! ! ! ! <li>7h50! Abertura</li>
! ! ! ! ! ! <li>8h00! Keynote David Herman </li>
! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o
Engine, o servidor Javascript do ERP da UNUM.</li>
! ! ! ! ! ! <li>10h00!Coffee Break</li>
! ! ! ! ! ! ! ! ....
! ! ! ! ! </ol>
! ! ! ! </div>
! ! ! </div>
Saturday, May 14, 2011
<!DOCTYPE html>
<meta charset="utf-8">
! <html>
! ! <head>
! ! ! <title>Brazil JS</title>
! ! ! <link ... />
! ! ! <script src="..."></script>
! ! </head>
! ! <body>
! ! ! <div data-role="header" data-theme="b">
! ! ! ! <h1>Sábado</h1>
! ! ! </div>
! ! ! <div data-role="page" id="listing">
! ! ! !
! ! ! ! <div data-role="content">
! ! ! ! ! <ol data-role="listview">
! ! ! ! ! ! <li>7h00! Credenciamento</li>
! ! ! ! ! ! <li>7h50! Abertura</li>
! ! ! ! ! ! <li>8h00! Keynote David Herman </li>
! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o
Engine, o servidor Javascript do ERP da UNUM.</li>
! ! ! ! ! ! <li>10h00!Coffee Break</li>
! ! ! ! ! ! ! ! ....
! ! ! ! ! </ol>
! ! ! ! </div>
! ! ! </div>
Saturday, May 14, 2011
Forms




Saturday, May 14, 2011
!   !      !      !      <div data-role="content">
!   !      !      !      !
!   !      !      !      ! <form id="frmLogin">
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="email">
!   !      !      !      ! ! ! ! <em>* </em> Email: </label>
!   !      !      !      ! ! ! <input type="text" id="email"
!   !      !      !      ! ! ! name="email" class="required email" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="password">
!   !      !      !      ! ! ! ! <em>* </em>Senha: </label>
!   !      !      !      ! ! ! <input type="password" id="password"
!   !      !      !      ! ! ! name="password" class="required" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div class="ui-body ui-body-b">
!   !      !      !      ! ! ! <button class="btnLogin" type="submit"
!   !      !      !      ! ! ! ! data-theme="a">Login</button>
!   !      !      !      ! ! </div>
!   !      !      !      ! </form>
!   !      !      !      !
!   !      !      !      </div>

Saturday, May 14, 2011
!   !      !      !      <div data-role="content">
!   !      !      !      !
!   !      !      !      ! <form id="frmLogin">
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="email">
!   !      !      !      ! ! ! ! <em>* </em> Email: </label>
!   !      !      !      ! ! ! <input type="text" id="email"
!   !      !      !      ! ! ! name="email" class="required email" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="password">
!   !      !      !      ! ! ! ! <em>* </em>Senha: </label>
!   !      !      !      ! ! ! <input type="password" id="password"
!   !      !      !      ! ! ! name="password" class="required" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div class="ui-body ui-body-b">
!   !      !      !      ! ! ! <button class="btnLogin" type="submit"
!   !      !      !      ! ! ! ! data-theme="a">Login</button>
!   !      !      !      ! ! </div>
!   !      !      !      ! </form>
!   !      !      !      !
!   !      !      !      </div>

Saturday, May 14, 2011
!   !      !      !      <div data-role="content">
!   !      !      !      !
!   !      !      !      ! <form id="frmLogin">
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="email">
!   !      !      !      ! ! ! ! <em>* </em> Email: </label>
!   !      !      !      ! ! ! <input type="text" id="email"
!   !      !      !      ! ! ! name="email" class="required email" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div data-role="fieldcontain">
!   !      !      !      ! ! ! <label for="password">
!   !      !      !      ! ! ! ! <em>* </em>Senha: </label>
!   !      !      !      ! ! ! <input type="password" id="password"
!   !      !      !      ! ! ! name="password" class="required" />
!   !      !      !      ! ! </div>
!   !      !      !      ! !
!   !      !      !      ! ! <div class="ui-body ui-body-b">
!   !      !      !      ! ! ! <button class="btnLogin" type="submit"
!   !      !      !      ! ! ! ! data-theme="a">Login</button>
!   !      !      !      ! ! </div>
!   !      !      !      ! </form>
!   !      !      !      !
!   !      !      !      </div>

Saturday, May 14, 2011
Saturday, May 14, 2011
Validação




Saturday, May 14, 2011
Validação
                            $("#formLogin").validate({
!                          submitHandler: function(form) {
! !                           //Chamada pra alguma action
!                          }
                         });




Saturday, May 14, 2011
Sliders




Saturday, May 14, 2011
<div data-role="fieldcontain">
! <label for="slider2">Beer mode:</label>
!
! <select name="slider2" id="slider2" data-role="slider">
! ! <option value="off">Off</option>
! ! <option value="on">On</option>
! </select>
</div>

<div data-role="fieldcontain">
! <label for="search">Search beer:</label>
! <input type="search" name="search" id="search" value=""   />
</div>


<div data-role="fieldcontain">
! <label for="slider">Grau alcoólico:</label>
!
! <input type="range" name="slider" id="slider" value="0" min="0"
max="100" />
</div>



Saturday, May 14, 2011
<div data-role="fieldcontain">
! <label for="slider2">Beer mode:</label>
!
! <select name="slider2" id="slider2" data-role="slider">
! ! <option value="off">Off</option>
! ! <option value="on">On</option>
! </select>
</div>

<div data-role="fieldcontain">
! <label for="search">Search beer:</label>
! <input type="search" name="search" id="search" value=""   />
</div>


<div data-role="fieldcontain">
! <label for="slider">Grau alcoólico:</label>
!
! <input type="range" name="slider" id="slider" value="0" min="0"
max="100" />
</div>



Saturday, May 14, 2011
<div data-role="fieldcontain">
! <label for="slider2">Beer mode:</label>
!
! <select name="slider2" id="slider2" data-role="slider">
! ! <option value="off">Off</option>
! ! <option value="on">On</option>
! </select>
</div>

<div data-role="fieldcontain">
! <label for="search">Search beer:</label>
! <input type="search" name="search" id="search" value=""   />
</div>


<div data-role="fieldcontain">
! <label for="slider">Grau alcoólico:</label>
!
! <input type="range" name="slider" id="slider" value="0" min="0"
max="100" />
</div>



Saturday, May 14, 2011
Transição de
                            páginas
<div data-role="content">
! !         <a href="transition-success.html" data-role="button" data-
rel="dialog" data-transition="slide">slide</a>
</div>




Saturday, May 14, 2011
Saturday, May 14, 2011
slidedown               slideup   fade   flip   pop



Saturday, May 14, 2011
Thumbnails
<div data-role="content">
! <ul data-role="listview">
! ! <li><a href="index.html">
! ! ! <img src="images/album-bb.jpg" />
! ! ! <h3>Broken Bells</h3>
! ! ! <p>Broken Bells</p>
! ! </a></li>
! </ul>
</div>



Saturday, May 14, 2011
Thumbnails
<div data-role="content">
! <ul data-role="listview">
! ! <li><a href="index.html">
! ! ! <img src="images/album-bb.jpg" />
! ! ! <h3>Broken Bells</h3>
! ! ! <p>Broken Bells</p>
! ! </a></li>
! </ul>
</div>



Saturday, May 14, 2011
Experimentais




Saturday, May 14, 2011
Datepicker




Saturday, May 14, 2011
Google Maps




Saturday, May 14, 2011
Obrigado!
                             @abstractj
                         http://gitshelf.com




Saturday, May 14, 2011

Más contenido relacionado

Similar a Desenvolvimento Indolor com JQuery Mobile

Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
 
Introduction to JavaScriptMVC
Introduction to JavaScriptMVCIntroduction to JavaScriptMVC
Introduction to JavaScriptMVCPedro Pimentel
 
Koss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsKoss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsEvil Martians
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THISMononcQc
 
Discussing Java's Future
Discussing Java's FutureDiscussing Java's Future
Discussing Java's FutureRay Gauss
 
The Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentThe Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentNikolai Onken
 
Edted 2010 Dicas de Web
Edted 2010 Dicas de WebEdted 2010 Dicas de Web
Edted 2010 Dicas de WebFabio Akita
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptMoses Ngone
 
Building Mobile Apps in WordPress - WordCamp Toronto 2011
Building Mobile Apps in WordPress - WordCamp Toronto 2011Building Mobile Apps in WordPress - WordCamp Toronto 2011
Building Mobile Apps in WordPress - WordCamp Toronto 2011Trevor Mills
 
JavaScript por debaixo dos panos
JavaScript por debaixo dos panosJavaScript por debaixo dos panos
JavaScript por debaixo dos panosDouglas Campos
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegekadieterdm
 
2011 The Year of Web apps
2011 The Year of Web apps2011 The Year of Web apps
2011 The Year of Web appsJungHyuk Kwon
 
Accessibility Lightning Talk
Accessibility Lightning TalkAccessibility Lightning Talk
Accessibility Lightning TalkRussell Heimlich
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android DevelopmentJosé Ferreiro
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshopjtimberman
 
Movable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionMovable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionSix Apart KK
 
Wordpress accessibility enhancements
Wordpress accessibility enhancementsWordpress accessibility enhancements
Wordpress accessibility enhancementsTed Drake
 
Wordpress accessibility enhancements
Wordpress accessibility enhancementsWordpress accessibility enhancements
Wordpress accessibility enhancementsTed Drake
 

Similar a Desenvolvimento Indolor com JQuery Mobile (20)

Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"Rendering Views in JavaScript - "The New Web Architecture"
Rendering Views in JavaScript - "The New Web Architecture"
 
Introduction to JavaScriptMVC
Introduction to JavaScriptMVCIntroduction to JavaScriptMVC
Introduction to JavaScriptMVC
 
Koss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser appsKoss, How to make desktop caliber browser apps
Koss, How to make desktop caliber browser apps
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THIS
 
Discussing Java's Future
Discussing Java's FutureDiscussing Java's Future
Discussing Java's Future
 
The Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentThe Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile development
 
Edted 2010 Dicas de Web
Edted 2010 Dicas de WebEdted 2010 Dicas de Web
Edted 2010 Dicas de Web
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & Javascript
 
Building Mobile Apps in WordPress - WordCamp Toronto 2011
Building Mobile Apps in WordPress - WordCamp Toronto 2011Building Mobile Apps in WordPress - WordCamp Toronto 2011
Building Mobile Apps in WordPress - WordCamp Toronto 2011
 
JavaScript por debaixo dos panos
JavaScript por debaixo dos panosJavaScript por debaixo dos panos
JavaScript por debaixo dos panos
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
2011 The Year of Web apps
2011 The Year of Web apps2011 The Year of Web apps
2011 The Year of Web apps
 
Accessibility Lightning Talk
Accessibility Lightning TalkAccessibility Lightning Talk
Accessibility Lightning Talk
 
MILOFest 2010
MILOFest 2010MILOFest 2010
MILOFest 2010
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshop
 
Movable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionMovable Type 5 Smartphone Option
Movable Type 5 Smartphone Option
 
Resume.docx
Resume.docxResume.docx
Resume.docx
 
Wordpress accessibility enhancements
Wordpress accessibility enhancementsWordpress accessibility enhancements
Wordpress accessibility enhancements
 
Wordpress accessibility enhancements
Wordpress accessibility enhancementsWordpress accessibility enhancements
Wordpress accessibility enhancements
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Desenvolvimento Indolor com JQuery Mobile

  • 1. Please enable JavaScript to view this page properly Saturday, May 14, 2011
  • 2. Bruno Oliveira @abstractj http://gitshelf.com Saturday, May 14, 2011
  • 3. Desenvolvimento Indolor com JQuery Mobile Saturday, May 14, 2011
  • 6. ~ 205 M de aparelhos celulares ~ 85 M de computadores (teleco/sercomtel) Saturday, May 14, 2011
  • 9. O cowboy! Java Windows Android iOS ME Mobile Saturday, May 14, 2011
  • 10. Java ME JavaFX #FAIL Saturday, May 14, 2011
  • 14. DOX Desenvolvimento Orientado a XML Saturday, May 14, 2011
  • 16. #comofaz? FAX?! Saturday, May 14, 2011
  • 18. Simples?! #import <Foundation/Foundation.h> int main(int argc, const char argv[]) { ! NSAutoreleasePool *anAutoreleasePool = [[NSAutoreleasePool alloc] init]; ! ! NSLog(@"Hello World"); ! ! [anAutoreleasePool drain]; ! return 0; } Saturday, May 14, 2011
  • 23. Entregar valor > preciosimo Saturday, May 14, 2011
  • 24. Wizards são tão simples! Saturday, May 14, 2011
  • 25. As aparências enganam! Saturday, May 14, 2011
  • 26. Alguém precisa pensar por você? Saturday, May 14, 2011
  • 28. Pra que aplicações nativas? Saturday, May 14, 2011
  • 29. Call me JQuery titanium Rocks! guy! Saturday, May 14, 2011
  • 30. O que todo celular tem em comum? Saturday, May 14, 2011
  • 32. Safari Opera Android Browser BlackBerry Palm Symbian Saturday, May 14, 2011
  • 40. Desenvolvedores 29 devs JQuery Saturday, May 14, 2011
  • 42. O que eu preciso? JQuery 86 KB (minified) JQuery Mobile JS 66 KB (minified) JQuery Mobile CSS 45 KB (minified) Total = 197 KB Saturday, May 14, 2011
  • 43. Multiplataforma Cross Device Saturday, May 14, 2011
  • 44. Estrutura básica <!DOCTYPE html> <meta charset="utf-8"> <head> ! <title>Brazil JS</title> ! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/ jquery.mobile-1.0a4.1.min.css" /> ! <script type="text/javascript" src="http://code.jquery.com/ jquery-1.5.min.js"></script> ! <script type="text/javascript" src="http://code.jquery.com/mobile/ 1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> ! <script type="text/javascript" src="experiments/themeswitcher/ jquery.mobile.themeswitcher.js"></script> </head> Saturday, May 14, 2011
  • 45. Estrutura básica <!DOCTYPE html> <meta charset="utf-8"> <head> ! <title>Brazil JS</title> ! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/ jquery.mobile-1.0a4.1.min.css" /> ! <script type="text/javascript" src="http://code.jquery.com/ jquery-1.5.min.js"></script> ! <script type="text/javascript" src="http://code.jquery.com/mobile/ 1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> ! <script type="text/javascript" src="experiments/themeswitcher/ jquery.mobile.themeswitcher.js"></script> </head> Saturday, May 14, 2011
  • 46. Estrutura básica <!DOCTYPE html> <meta charset="utf-8"> <head> ! <title>Brazil JS</title> ! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/ jquery.mobile-1.0a4.1.min.css" /> ! <script type="text/javascript" src="http://code.jquery.com/ jquery-1.5.min.js"></script> ! <script type="text/javascript" src="http://code.jquery.com/mobile/ 1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> ! <script type="text/javascript" src="experiments/themeswitcher/ jquery.mobile.themeswitcher.js"></script> </head> Saturday, May 14, 2011
  • 47. Estrutura básica <!DOCTYPE html> <meta charset="utf-8"> <head> ! <title>Brazil JS</title> ! <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/ jquery.mobile-1.0a4.1.min.css" /> ! <script type="text/javascript" src="http://code.jquery.com/ jquery-1.5.min.js"></script> ! <script type="text/javascript" src="http://code.jquery.com/mobile/ 1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> ! <script type="text/javascript" src="experiments/themeswitcher/ jquery.mobile.themeswitcher.js"></script> </head> Saturday, May 14, 2011
  • 50. Corpo da página ! <body> ! ! <div data-role="page" id="foo"> ! ! ! ! ! ! <div data-role="header"> ! ! ! ! <h1>Header</h1> ! ! ! </div> ! ! ! ! ! ! <div data-role="content">! ! ! ! ! <p>Conteúdo</p>! ! ! ! ! </div> ! ! ! ! ! ! <div data-role="footer"> ! ! ! ! <h4>Footer</h4> ! ! ! </div> ! ! </div>! ! ! </body> Saturday, May 14, 2011
  • 51. Corpo da página ! <body> ! ! <div data-role="page" id="foo"> ! ! ! ! ! ! <div data-role="header"> ! ! ! ! <h1>Header</h1> ! ! ! </div> ! ! ! ! ! ! <div data-role="content">! ! ! ! ! <p>Conteúdo</p>! ! ! ! ! </div> ! ! ! ! ! ! <div data-role="footer"> ! ! ! ! <h4>Footer</h4> ! ! ! </div> ! ! </div>! ! ! </body> Saturday, May 14, 2011
  • 52. Corpo da página ! <body> ! ! <div data-role="page" id="foo"> ! ! ! ! ! ! <div data-role="header"> ! ! ! ! <h1>Header</h1> ! ! ! </div> ! ! ! ! ! ! <div data-role="content">! ! ! ! ! <p>Conteúdo</p>! ! ! ! ! </div> ! ! ! ! ! ! <div data-role="footer"> ! ! ! ! <h4>Footer</h4> ! ! ! </div> ! ! </div>! ! ! </body> Saturday, May 14, 2011
  • 53. Corpo da página ! <body> ! ! <div data-role="page" id="foo"> ! ! ! ! ! ! <div data-role="header"> ! ! ! ! <h1>Header</h1> ! ! ! </div> ! ! ! ! ! ! <div data-role="content">! ! ! ! ! <p>Conteúdo</p>! ! ! ! ! </div> ! ! ! ! ! ! <div data-role="footer"> ! ! ! ! <h4>Footer</h4> ! ! ! </div> ! ! </div>! ! ! </body> Saturday, May 14, 2011
  • 54. Corpo da página ! <body> ! ! <div data-role="page" id="foo"> ! ! ! ! ! ! <div data-role="header"> ! ! ! ! <h1>Header</h1> ! ! ! </div> ! ! ! ! ! ! <div data-role="content">! ! ! ! ! <p>Conteúdo</p>! ! ! ! ! </div> ! ! ! ! ! ! <div data-role="footer"> ! ! ! ! <h4>Footer</h4> ! ! ! </div> ! ! </div>! ! ! </body> Saturday, May 14, 2011
  • 56. <!DOCTYPE html> <meta charset="utf-8"> ! <html> ! ! <head> ! ! ! <title>Brazil JS</title> ! ! ! <link ... /> ! ! ! <script src="..."></script> ! ! </head> ! ! <body> ! ! ! <div data-role="header" data-theme="b"> ! ! ! ! <h1>Sábado</h1> ! ! ! </div> ! ! ! <div data-role="page" id="listing"> ! ! ! ! ! ! ! ! <div data-role="content"> ! ! ! ! ! <ol data-role="listview"> ! ! ! ! ! ! <li>7h00! Credenciamento</li> ! ! ! ! ! ! <li>7h50! Abertura</li> ! ! ! ! ! ! <li>8h00! Keynote David Herman </li> ! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o Engine, o servidor Javascript do ERP da UNUM.</li> ! ! ! ! ! ! <li>10h00!Coffee Break</li> ! ! ! ! ! ! ! ! .... ! ! ! ! ! </ol> ! ! ! ! </div> ! ! ! </div> Saturday, May 14, 2011
  • 57. <!DOCTYPE html> <meta charset="utf-8"> ! <html> ! ! <head> ! ! ! <title>Brazil JS</title> ! ! ! <link ... /> ! ! ! <script src="..."></script> ! ! </head> ! ! <body> ! ! ! <div data-role="header" data-theme="b"> ! ! ! ! <h1>Sábado</h1> ! ! ! </div> ! ! ! <div data-role="page" id="listing"> ! ! ! ! ! ! ! ! <div data-role="content"> ! ! ! ! ! <ol data-role="listview"> ! ! ! ! ! ! <li>7h00! Credenciamento</li> ! ! ! ! ! ! <li>7h50! Abertura</li> ! ! ! ! ! ! <li>8h00! Keynote David Herman </li> ! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o Engine, o servidor Javascript do ERP da UNUM.</li> ! ! ! ! ! ! <li>10h00!Coffee Break</li> ! ! ! ! ! ! ! ! .... ! ! ! ! ! </ol> ! ! ! ! </div> ! ! ! </div> Saturday, May 14, 2011
  • 58. <!DOCTYPE html> <meta charset="utf-8"> ! <html> ! ! <head> ! ! ! <title>Brazil JS</title> ! ! ! <link ... /> ! ! ! <script src="..."></script> ! ! </head> ! ! <body> ! ! ! <div data-role="header" data-theme="b"> ! ! ! ! <h1>Sábado</h1> ! ! ! </div> ! ! ! <div data-role="page" id="listing"> ! ! ! ! ! ! ! ! <div data-role="content"> ! ! ! ! ! <ol data-role="listview"> ! ! ! ! ! ! <li>7h00! Credenciamento</li> ! ! ! ! ! ! <li>7h50! Abertura</li> ! ! ! ! ! ! <li>8h00! Keynote David Herman </li> ! ! ! ! ! ! <li>9h00! Keynote Marcelo Campos - Rocha Conhecendo o Engine, o servidor Javascript do ERP da UNUM.</li> ! ! ! ! ! ! <li>10h00!Coffee Break</li> ! ! ! ! ! ! ! ! .... ! ! ! ! ! </ol> ! ! ! ! </div> ! ! ! </div> Saturday, May 14, 2011
  • 60. ! ! ! ! <div data-role="content"> ! ! ! ! ! ! ! ! ! ! <form id="frmLogin"> ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="email"> ! ! ! ! ! ! ! ! <em>* </em> Email: </label> ! ! ! ! ! ! ! <input type="text" id="email" ! ! ! ! ! ! ! name="email" class="required email" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="password"> ! ! ! ! ! ! ! ! <em>* </em>Senha: </label> ! ! ! ! ! ! ! <input type="password" id="password" ! ! ! ! ! ! ! name="password" class="required" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div class="ui-body ui-body-b"> ! ! ! ! ! ! ! <button class="btnLogin" type="submit" ! ! ! ! ! ! ! ! data-theme="a">Login</button> ! ! ! ! ! ! </div> ! ! ! ! ! </form> ! ! ! ! ! ! ! ! ! </div> Saturday, May 14, 2011
  • 61. ! ! ! ! <div data-role="content"> ! ! ! ! ! ! ! ! ! ! <form id="frmLogin"> ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="email"> ! ! ! ! ! ! ! ! <em>* </em> Email: </label> ! ! ! ! ! ! ! <input type="text" id="email" ! ! ! ! ! ! ! name="email" class="required email" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="password"> ! ! ! ! ! ! ! ! <em>* </em>Senha: </label> ! ! ! ! ! ! ! <input type="password" id="password" ! ! ! ! ! ! ! name="password" class="required" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div class="ui-body ui-body-b"> ! ! ! ! ! ! ! <button class="btnLogin" type="submit" ! ! ! ! ! ! ! ! data-theme="a">Login</button> ! ! ! ! ! ! </div> ! ! ! ! ! </form> ! ! ! ! ! ! ! ! ! </div> Saturday, May 14, 2011
  • 62. ! ! ! ! <div data-role="content"> ! ! ! ! ! ! ! ! ! ! <form id="frmLogin"> ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="email"> ! ! ! ! ! ! ! ! <em>* </em> Email: </label> ! ! ! ! ! ! ! <input type="text" id="email" ! ! ! ! ! ! ! name="email" class="required email" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div data-role="fieldcontain"> ! ! ! ! ! ! ! <label for="password"> ! ! ! ! ! ! ! ! <em>* </em>Senha: </label> ! ! ! ! ! ! ! <input type="password" id="password" ! ! ! ! ! ! ! name="password" class="required" /> ! ! ! ! ! ! </div> ! ! ! ! ! ! ! ! ! ! ! ! <div class="ui-body ui-body-b"> ! ! ! ! ! ! ! <button class="btnLogin" type="submit" ! ! ! ! ! ! ! ! data-theme="a">Login</button> ! ! ! ! ! ! </div> ! ! ! ! ! </form> ! ! ! ! ! ! ! ! ! </div> Saturday, May 14, 2011
  • 65. Validação $("#formLogin").validate({ ! submitHandler: function(form) { ! ! //Chamada pra alguma action ! } }); Saturday, May 14, 2011
  • 67. <div data-role="fieldcontain"> ! <label for="slider2">Beer mode:</label> ! ! <select name="slider2" id="slider2" data-role="slider"> ! ! <option value="off">Off</option> ! ! <option value="on">On</option> ! </select> </div> <div data-role="fieldcontain"> ! <label for="search">Search beer:</label> ! <input type="search" name="search" id="search" value="" /> </div> <div data-role="fieldcontain"> ! <label for="slider">Grau alcoólico:</label> ! ! <input type="range" name="slider" id="slider" value="0" min="0" max="100" /> </div> Saturday, May 14, 2011
  • 68. <div data-role="fieldcontain"> ! <label for="slider2">Beer mode:</label> ! ! <select name="slider2" id="slider2" data-role="slider"> ! ! <option value="off">Off</option> ! ! <option value="on">On</option> ! </select> </div> <div data-role="fieldcontain"> ! <label for="search">Search beer:</label> ! <input type="search" name="search" id="search" value="" /> </div> <div data-role="fieldcontain"> ! <label for="slider">Grau alcoólico:</label> ! ! <input type="range" name="slider" id="slider" value="0" min="0" max="100" /> </div> Saturday, May 14, 2011
  • 69. <div data-role="fieldcontain"> ! <label for="slider2">Beer mode:</label> ! ! <select name="slider2" id="slider2" data-role="slider"> ! ! <option value="off">Off</option> ! ! <option value="on">On</option> ! </select> </div> <div data-role="fieldcontain"> ! <label for="search">Search beer:</label> ! <input type="search" name="search" id="search" value="" /> </div> <div data-role="fieldcontain"> ! <label for="slider">Grau alcoólico:</label> ! ! <input type="range" name="slider" id="slider" value="0" min="0" max="100" /> </div> Saturday, May 14, 2011
  • 70. Transição de páginas <div data-role="content"> ! ! <a href="transition-success.html" data-role="button" data- rel="dialog" data-transition="slide">slide</a> </div> Saturday, May 14, 2011
  • 72. slidedown slideup fade flip pop Saturday, May 14, 2011
  • 73. Thumbnails <div data-role="content"> ! <ul data-role="listview"> ! ! <li><a href="index.html"> ! ! ! <img src="images/album-bb.jpg" /> ! ! ! <h3>Broken Bells</h3> ! ! ! <p>Broken Bells</p> ! ! </a></li> ! </ul> </div> Saturday, May 14, 2011
  • 74. Thumbnails <div data-role="content"> ! <ul data-role="listview"> ! ! <li><a href="index.html"> ! ! ! <img src="images/album-bb.jpg" /> ! ! ! <h3>Broken Bells</h3> ! ! ! <p>Broken Bells</p> ! ! </a></li> ! </ul> </div> Saturday, May 14, 2011
  • 78. Obrigado! @abstractj http://gitshelf.com Saturday, May 14, 2011