Novatec Editora Ltda. 2015.



Documentos relacionados
David Hows Peter Membrey Eelco Plugge

Brandon Rhodes John Goerzen

Novatec Editora Ltda. [2014].

Desenvolvimento de Grandes Aplicações Web

Julia Elman e Mark Lavin. Novatec

Crie Seu Próprio Site

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Ricardo R. Lecheta. Novatec

Harrison Kinsley Will McGugan

Jonathan Stark Brian Jepson

Pramod J. Sadalage Martin Fowler

Ademir C. Gabardo. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Josh Pauli Revisão técnica Scott White. Novatec

Desenvolvendo Websites com PHP

2ª EDIÇÃO. André Milani. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Google Analytics Justin Cutroni

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Design Centrado no Usuário

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Adrian Mejia. Novatec

PDF Explicado John Whitington

Padrões de Projeto em PHP

André Gugliotti. Novatec

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Hélio Engholm Jr. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Padrões JavaScript Stoyan Stefanov

Criando Relatórios com PHP

Luiz Carlos Querino Filho

Indira Knight. Novatec

Ricardo Lino Olonca. Novatec

Copyright 2008, 2013 da Novatec Editora Ltda.

Pete Goodliffe. Novatec

Primeiros Passos com o Raspberry Pi

Ben Vinegar Anton Kovalyov

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Service Desk Corporativo

Ricardo Lino Olonca. Novatec

Criando Aplicações Gráficas com PHP

Ricardo Kléber M. Galvão. Novatec

Larry Ullman. Novatec

Desenvolvendo Websites com PHP

Pré-requisito Ter realizado os cursos de Lógica de Programação e HTML5 e CSS3, ou ter conhecimento equivalentes.

Shyam Seshadri & Brad Green

Ryan Mitchell. Novatec

Camila Porto. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Novatec Editora Ltda

Jonathan Weber e a equipe da LunaMetrics

João Eriberto Mota Filho

Paulo Strelczuk. Novatec

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Como melhorar a performance de websites.net

Nelson Glauber de Vasconcelos Leal

Introdução ao GitHub Peter Bell e Brent Beer

WordPress 3 Básico Stephanie Leary

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Equipes de Software. Um guia para o desenvolvedor de software se relacionar melhor com outras pessoas. Brian W. Fitzpatrick Ben Collins-Sussman

2ª Edição Alexandre Keller

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Web Interativa com Ajax e PHP

jquery Cookbook Comunidade de Desenvolvedores jquery

Miguel Grinberg. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Google Android para Tablets

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

Simon Holmes. Novatec

Ricardo R. Lecheta. Novatec

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Murillo Lo Visco. Novatec

Google Android para Tablets

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

Aditya Y. Bhargava. Novatec

Matheus Marabesi Michael Douglas

Aravind Shenoy Anirudh Prabhu

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Segurança em Redes sem Fio

Josh Lockhart. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Mineração de dados da web social Matthew A. Russell

Conrado Adolpho. Novatec

William Pereira Alves

Transcrição:

Ben Smith Novatec

Original English language edition published by Apress, Copyright 2015 by Apress, Inc.. Portugueselanguage edition for Brazil copyright 2015 by Novatec Editora. All rights reserved. Edição original em Inglês publicada pela Apress, Copyright 2015 by Apress, Inc. Edição em Português para o Brasil copyright 2015 pela Novatec Editora. Todos os direitos reservados. Novatec Editora Ltda. 2015. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia A. Kinoshita Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Mari Kumagai Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-436-6 Histórico de impressões: Junho/2015 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Sobre o autor... 13 Sobre o revisor técnico... 14 Agradecimentos... 15 Introdução... 16 Capítulo 1 Básico sobre o JavaScript... 17 A história do JavaScript...17 Essencial sobre o JavaScript...18 Valores...19 Tipos primitivos...19 Expressões... 23 Operadores... 24 Instruções... 28 Marcadores de fim de linha... 29 Instruções de controle... 30 Instruções em bloco...31 Truthy/Falsy... 32 Instruções de laço... 32 Declarações... 34 Variáveis... 34 Funções... 34 Resumo... 35 Pontos principais deste capítulo... 36 Capítulo 2 Objetos especiais... 37 Objetos... 37 Objetos são coleções... 38 Objetos prontos... 39 Object... 39 7

8 JSON Básico Criando objetos... 40 Notação de acesso... 40 Notação de ponto... 40 Notação de colchetes...41 Notação de colchetes versus notação de ponto... 42 Array... 43 Objetos literais... 44 Design de literais... 47 Objeto literal... 48 Array literal... 49 Resumo... 50 Pontos principais deste capítulo... 50 Capítulo 3 Manipulação de strings... 52 Concatenação de strings... 52 Objeto String... 53 Criando objetos String... 54 Interface do objeto String... 54 length... 55 tostring... 56 charat... 56 indexof... 57 lastindexof... 58 match... 59 replace... 60 slice... 60 substr...61 split... 62 touppercase... 63 tolowercase... 63 Objeto String implícito... 64 Resumo... 65 Pontos principais deste capítulo... 65 Capítulo 4 Introdução ao JSON... 66 História do JSON... 66 Gramática do JSON... 67 Estruturas compostas... 68 Valores JSON... 72 Tokens do JSON... 77 Resumo... 78 Pontos principais deste capítulo... 79

Sumário 9 Capítulo 5 Criando dados JSON... 80 Processo de serialização desmistificado...81 JSON Object... 85 stringify... 86 Resumo...102 Pontos principais deste capítulo...103 Capítulo 6 Parsing de JSON...105 JSON.parse...105 eval...108 reviver...111 Resumo... 119 Pontos principais deste capítulo...120 Capítulo 7 Persistência de JSON: I...121 Cookie HTTP...122 Sintaxe...123 document.cookie... 131 Web Storage... 141 Interface de Web Storage...142 Resumo... 147 Pontos principais deste capítulo...148 Capítulo 8 Troca de dados...150 Hypertext Transfer Protocol... 151 Solicitação HTTP... 151 Resposta HTTP...158 Ajax...163 Interface de XMLHttpRequest...165 Aspectos globais...165 Lado da solicitação...170 Lado da resposta...177 Obtendo a resposta...183 Resumo...192 Pontos principais deste capítulo...192 Capítulo 9 Recursos cross-origin...194 Política de mesma origem...194 Contornando a política de mesma origem... 205 CORS... 206 Proxy... 213

10 JSON Básico JSONP... 218 Resumo... 226 Pontos principais deste capítulo... 226 Capítulo 10 Servindo JSON...228 Node.JS... 228 Instalação no Windows... 229 Instalação no Mac...235 Criando um servidor HTTP... 238 Servidor web HTTP com o Node...239 API do Node...242 Módulos...243 Módulo HTTP... 244 http.createserver... 244 http.incomingmessage... 244 http.serverresponse...245 http.server... 246 Servidor com CORS habilitado... 250 Servidor JSONP...253 Servidor proxy... 258 http.request... 258 http.stream...259 http.clientrequest...261 Resumo...267 Pontos principais deste capítulo... 268 Capítulo 11 Postando JSON...269 Corpo de entidade da solicitação... 269 Post de formulário HTML... 271 Processando um POST JSON...278 Solicitação preflight... 286 Método de solicitação OPTIONS... 287 O que determina o preflight... 295 Resumo... 297 Pontos principais deste capítulo... 298 Capítulo 12 Persistência de JSON: II...299 CouchDB... 299 Instalação no Windows... 300 Instalação no Mac... 301 Trabalhando com o CouchDB... 302 Futon... 302

Sumário 11 Criando views... 308 Criando nossa primeira view customizada... 309 Conectando o Node ao CouchDB... 313 Cradle para Node... 314 Trabalhando com banco de dados... 316 API de banco de dados do Cradle... 317 Criando documentos com o Cradle...328 Criando documentos de design com o Cradle...330 Resumo...335 Pontos principais deste capítulo... 336 Capítulo 13 Trabalhando com templates...337 Engine de templating...337 Handlebars... 340 Instalação... 340 Trabalhando com o Handlebars... 342 Uma expressão básica... 342 Função de <script>...345 Compilando um template... 346 Fornecendo um contexto ao nosso template...347 Vários placeholders... 349 Estruturas JSON complexas... 351 Expressões de bloco...353 Expressões de bloco e arrays...355 Aplicando uma lógica a templates sem lógica...359 Helpers... 360 Resumo...367 Pontos principais deste capítulo... 368 Capítulo 14 Reunindo tudo...369 Twitter... 369 Aplicações para o Twitter...370 Chaves e tokens de acesso...373 Stream público...375 Token de acesso de seu usuário...376 #Trending...377 Node.js...377 Módulo Twitter...378 Incluindo o módulo Twitter...378 API de streaming (estável)...379 Statuses/filter...379

12 JSON Básico CouchDB... 380 Incluindo o módulo Cradle...381 Criando uma view... 384 Habilitando o CORS... 386 Ajax... 387 Intervalos para solicitação... 388 Handlebars...392 Resumo... 400