desenvolvimento ágil com jquery mobile

38
Por: / Gabriel Zigolis @zigolis

Upload: gabriel-gottgtroy-zigolis

Post on 26-May-2015

222 views

Category:

Technology


2 download

DESCRIPTION

Apresentação sobre desenvolvimento ágil com jQuery Mobile no RSJS 2013 por Gabriel Zigolis

TRANSCRIPT

Page 1: Desenvolvimento ágil com jQuery Mobile

Por: / Gabriel Zigolis @zigolis

Page 2: Desenvolvimento ágil com jQuery Mobile

» Gabriel Zigolis

QUEM É?

Front-End Developer há 8 anos

Instrutor de desenvolvimento web há 6 anos

globo.com, grupo RBS, IBM, GoodCard, [email protected]

http://zigolis.com

Page 3: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

O QUE É?

É um framework para desenvolvimento web, otimizado parainteração por toque, capaz de criar sistemas de interfaceunificados, baseados em HTML5 e CSS3 para as principaisplataformas móveis, construído sobre o jQuery e jQuery UI.

Page 4: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

COMO EU USO ISSO?

Guia de introdução

Documentação

http://view.jquerymobile.com/1.3.0/docs/intro/

http://view.jquerymobile.com/1.3.0/

Page 5: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

INICIANDO...

Adicione o Doctype de HTML5: ‹!DOCTYPE html›

Adicione a meta tag (viewport)

Inclua o jQuery, jQuery Mobile e os arquivos JavaScript

Inclua o CSS do jQuery Mobile

Baixe os arquivos ou use através do CDN

Page 6: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>jQuery Mobile</title>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

</head>

<body>

</body>

</<html>

Page 7: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

COMO FUNCIONA?

jQm trabalha com o conceito de páginas

Em cada página temos "divs" com o atributo data-role

Definindo assim header, content e footer

Div com atributo data-role? <div data-role="header">

Isso mesmo, HTML5 permite qualquer atributo!

Page 8: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO

<div data-role="page">

<div data-role="header">

<h1>RSJS 2013</h1>

</div>

<div data-role="content">

<p>Segunda edição do maior evento de Javascript do sul do país.</p>

<p>Confira o sucesso da primeira edição e garanta o quanto antes a sua inscrição.</p>

</div>

</div>

Page 9: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E A MÁGICA ACONTECE

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

RSJS 2013

Todos os direitos reservados.

Page 10: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

EM OUTROS BREAKPOINTS

Segunda edição do maior evento de Javascript do sul do país.

Confira o sucesso da primeira edição e garanta o quanto antes a sua inscrição.

RSJS 2013

Todos os direitos reservados.

Page 11: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E PARA CUSTOMIZAR?

É extramamente simples adaptar ao estilo do seu projeto,com poucas linhas de css e algumas classes no HTML.

Page 12: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO.ui-page {

background: #f9f9f9;

font-family: 'PT Sans',sans-serif;

}

.ui-header {

background: #f9f9f9;

border-top: 5px solid #A51D1D;

}

.logo {

background: url(../../img/logo.png);

font: 0/0 arial;

height: 75px;

width: 58px;

}

.ui-footer {

background: #A51D1D;

}

Page 13: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E SUA APLICAÇÃO FICA ASSIM

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

Todos os direitos reservados.

Page 14: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

WIDGETS

De forma simples, prática e rápida podemos enriquecernossa aplicação com o uso dos Widgets.

Caixas de diálogo

Elementos de formulário

Navbar

Transições

...

Page 15: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - NAVBAR

<div data-role="navbar" data-grid="d">

<ul>

<li><a href="#" class="ui-btn-active">sobre</a></li>

<li><a href="#">inscrições</a></li>

<li><a href="#">programação</a></li>

</ul>

</div>

Page 16: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E LÁ VEM ELE...

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

sobre inscrições programação

Todos os direitos reservados.

Page 17: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

WIDGETS

E navegação, como funciona se eu precisar de modais, alertasou simples links?

Ah! E como eu faço a mágica das animações?

Page 18: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - NAVEGAÇÃO

<div data-role="navbar" data-grid="d">

<ul>

<li><a href="index.html" class="ui-btn-active">sobre</a></li>

<li><a href="inscricoes.html" data-rel="dialog" data-transition="pop">inscrições</a></li>

<li><a href="programacao.html" data-transition="flow">programação</a></li>

</ul>

</div>

Page 19: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E LÁ VEM ELE...

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

sobre inscrições programação

Todos os direitos reservados.

Page 20: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

WIDGETS

Beleza, mas agora eu preciso de um formulário de contato, eai?

E outra, eu gostaria que ele aparecesse diferente na tela...

Page 21: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - PAINEL<div data-role="page">

<div data-role="panel" id="contato">

/*Form*/

</div>

<!-- header -->

<!-- content -->

<!-- footer -->

</div>

Page 22: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - FORM<form> <label for="nome">Nome:</label> <input type="text" name="nome" id="nome" />

<label for="email">Email:</label> <input type="email" name="email" id="email" data-clear-btn="true" />

<label for="select">Motivo do contato:</label> <select name="select" id="select" data-native-menu="false"> <option>Selecione uma opção</option> <option value="1">Dúvidas</option> <option value="2">Sugestões</option> </select>

<label for="textarea">Escreva sua mensagem:</label> <textarea cols="40" rows="8" name="textarea" id="textarea"></textarea>

<input type="submit" value="Enviar"></form>

Page 23: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E DESSA VEZ O QUE TEMOS...

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

sobre inscrições programação

Dúvidas?

Todos os direitos reservados.

Page 24: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

WIDGETS

Bacana, e agora mais alguma maneira de "esconder" oconteúdo?

Page 25: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - COLLAPSIBLE<div data-role="page">

<div data-role="content">

<p class="desc-evento"><em>Programação!</em></p>

<div data-role="collapsible-set">

<div data-role="collapsible" data-theme="c" data-content-theme="d">

<h4>8h30</h4>

<p>Checkin</p>

</div>

<div data-role="collapsible" data-theme="c" data-content-theme="d">

<h4>9h00</h4>

<p>Dissecando sua aplicação com Chrome Dev Tools</p>

</div>

</div>

</div>

</div>

Page 26: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

SIMPLES E DIRETO...

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

Todos os direitos reservados.

sobre inscrições programação

Dúvidas?

Page 27: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

JAVASCRIPT

E o JavaScript, onde e como a gente utiliza?

Page 28: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - CHAMADA

<script src="../jquery-1.9.1.min.js"></script>

<script src="jquery.configs.js"></script>

<script src="../mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

Page 29: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - JQUERY.CONFIGS.JS

$(document).on("mobileinit", function(){

$.mobile.defaultPageTransition = "flip";

});

Page 30: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

E O PADRÃO DE NAVEGAÇÃO DO SISTEMA MUDA...

Segunda edição do maior evento deJavascript do sul do país.

Confira o sucesso da primeira edição egaranta o quanto antes a sua inscrição.

Todos os direitos reservados.

sobre inscrições programação

Dúvidas?

Page 31: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

JAVASCRIPT

Os eventos são outro ponto simples de trabalhar e modificarna aplicação.

Touch

Orientation

Scroll

...

Page 32: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - JQUERY.EVENTS.JS

$(function(){

$(window).bind("orientationchange", function(e){

if( e.orientation == "portrait" ){

$( "#landscape").fadeOut(500, function(){

$( "#portrait").fadeIn(300);

});

} else {

$( "#portrait").fadeOut(500, function(){

$( "#landscape").fadeIn(300);

});

}

})

})

Page 33: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

CÓDIGO - GRID

<div data-role="content">

<div class="ui-grid-a" id="portrait">

<div class="ui-block-a box">Orientation</div>

<div class="ui-block-b box">Portrait</div>

</div>

<div class="ui-grid-c" id="landscape">

<div class="ui-block-a box">Orientation</div>

<div class="ui-block-b box">Landscape</div>

<div class="ui-block-c box">Orientation</div>

<div class="ui-block-d box">Landscape</div>

</div>

</div>

Page 34: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

OLHA AGORA A APLICAÇÃO EM LANDSCAPE...

Orientation Landscape Orientation Landscape

Segunda edição do maior evento de Javascript do sul do país.

Confira o sucesso da primeira edição e garanta o quanto antes a sua inscrição.

Todos os direitos reservados.

sobre inscrições programação

Dúvidas?

Page 35: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

ABRA A SUA MENTE

Com a manipulação dos eventos podemos por exemplocarregar um JSON com mais dados para uma orientation.

Ou para um breakpoint específico.

Page 36: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

QUEM ESTÁ USANDO O JQM?http://m.fiat.es

http://m.rolex.com/en/

http://mobile.united.com

http://m.sears.com

http://events.jquery.org/m/

http://www.jqmgallery.com

Page 37: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

DÚVIDAS? SUGESTÕES OU DOAÇÕES...

Page 38: Desenvolvimento ágil com jQuery Mobile

» jQuery Mobile

OBRIGADO!!!

Material disponível em:

www.zigolis.com.br/rsjs/