Palestra no Fórum Nabuco: Descobrindo o conhecimento e despertando o aprendizado!
Desenvolvendouma aplicação webH e n r i q u e V i c e n t eh t t p : / / h e n v i c . g i t h u b . i o
View Slide
No princípioHTML Folha de estilo atrelada ao conteúdo Pouco ou nenhum controle programático
Algum tempo depoisSeparação de conteúdo e apresentação HTML + CSS Java applets, Flash JScript, JavaScript e, finalmente,ECMAScript
ECMAScriptLinguagem que veio da padronização doJavaScript Veio depois do JavaScript para melhorá-lo
Hoje1000 maneiras de se fazer uma aplicação web Todas envolvem JavaScript no client-side Tendência: JavaScript no server-side
Você não temalternativasNavegadores web de dispositivos webtrabalham apenas com JavaScript Java, Flash Player, Silverlight nosnavegadores tradicionais?
Comparativohttp://www.google.com/trends/explore?q=Flash#q=Flash%2C%20Java%20plugin%2C%20iOS%2C%20Android%2C%20app&cmpt=q Esses dados podem ser imprecisos
JS contém partesboas e partes ruins
Por onde começar?Especificação do ECMAScript? RFC 2616 - HTTP/1.1? Controle de versão do código? Testes automatizados, qualidade de código? Test-Driven Development? Complexidade ciclomática? Contribuir com projetos open source existentes? …
especificações e referênciaspara todo desenvolvedor webECMAScript 5 http://es5.github.io/ HTTP/1.1 http://tools.ietf.org/html/rfc2616 BrazilJS Weekly http://braziljs.org/ Mozilla MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript 24ways.org (todo Dezembro) The Art of Unix Programming by Eric S. Raymond http://catb.org/esr/writings/taoup/html/graphics/taoup.pdf
Controle de versãoano <= 2005 → ‘use svn’; ano > 2005 → ‘use git’; Escreva boas mensagens de commit https://wiki.openstack.org/wiki/GitCommitMessages Gosta da linha de comando? Conheça o Node GH.
http://try.github.io/levels/1/challenges/1http://octodex.github.com/labtocat/
Mãos à obraO que usar para facilitar a criação de umaplicativo? Frameworks, bibliotecas? Quais as opções? Esqueletos prontos? Exemplos?
Se você quer comparar opções de framework esta pode ser o melhor lugar Gerenciador de tarefas bem simples implementado com várias frameworks, bibliotecas, sem nada, etc.www.todomvc.com
Antes de usarframeworks...ou JavaScript...Aprenda a fazer sem para não se tornar umrefém de uma Antes de usar JavaScript: Será que um simples CSS não resolve?
FerramentaessencialIDE ou editor de texto? IDEs: WebStorm (JetBrains) Eclipse, NetBeans … Editores de texto: Sublime, TextMate vi (hard core) …Vantagens? x Desvantagens?
Para quais browsersproduzir?Não perca seu tempo fazendo adaptaçõespara seu site funcionar no IE 6 ou outronavegador que ninguém usa Use sempre métricas para avaliar o risco efazer o que vale a pena, não chute cegamentese um navegador deve ser suportado ou não
gs.statcounter.com
Um console melhor…https://github.com/robbyrussell/oh-my-zshMust Have Git Aliases: Advanced Examples durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/iTerm 2Você já usa o Terminal, correto?
Ferramentas de linha decomando para melhorar a suaprodutividade
Instalando...Baixar o NodeJS em www.nodejs.org E, após instalar o NodeJS, pelo terminal: Yeoman: npm install -g yo Grunt CLI: npm install -g grunt-cli Bower: npm install -g bower
Yeoman + AngularJSVamos criar uma aplicação com AngularJS,testes, e etc usando o Yeoman? npm install -g generator-angular
Testes automatizados!
henvic.github.io!HENRIQUE VICENTEP a l e s t r a d i s p o n í v e l e mh t t p s : / / s p e a k e r d e c k . c o m /h e n v i c / d e s e n v o l v e n d o - u m a -a p l i c a c a o - w e b