SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
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
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
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
 
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
 

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