Write once, run "everywhere"

38

description

Apresentação feita na CodeConference na faculdade MaterDei

Transcript of Write once, run "everywhere"

Page 1: Write once, run "everywhere"
Page 2: Write once, run "everywhere"

Stefan Horochovec

• Arquiteto de Software• BlackBerry Elite Member• Consultor• Java EE;• Cloud Computing; • Mobile Solutions;

• Revisor Técnico – Packpub Publishing;• Instrutor/Professor/Palestrante/Autor;

Page 3: Write once, run "everywhere"

Agenda

• Cenário – Tecnologias nativas;• Cenário – HTML para dispositivos móveis;• Ferramentas• Demonstração• BlackBerry

Page 4: Write once, run "everywhere"

Tecnologias Nativas

Page 5: Write once, run "everywhere"
Page 6: Write once, run "everywhere"

Apple

• Alto custo para iniciar o desenvolvimento• Adquirir um MacOS• Adquirir um iPhone/iPad• Adquirir um plano de desenvolvedor na Apple

• Emulador razoável• Baixa fragmentação• IDE: XCode• Aprender Objective-C ??• Aprender Swift !!!

Page 7: Write once, run "everywhere"
Page 8: Write once, run "everywhere"

Android

• Baixo custo para iniciar o desenvolvimento• Adquirir um Android• Adquirir um plano de desenvolvedor na Google

• Aprender “Java”• Péssimo emulador• IDE: Android Studio (baseado no IntelliJ)• Alta fragmentação• Variação enorme de devices no mercado

Page 9: Write once, run "everywhere"
Page 10: Write once, run "everywhere"

Windows Phone

• Baixo custo para iniciar o desenvolvimento• Adquirir um Windows Phone• Adquirir uma licença do Visual Studio ou utilizar a versão Express;• Adquirir um plano de desenvolvedor na Microsoft

• Aprender C# / VB.NET / Silverlight• IDE: Visual Studio• Emulador razoável• Baixa fragmentação

Page 11: Write once, run "everywhere"
Page 12: Write once, run "everywhere"

BlackBerry

• Baixo custo para iniciar o desenvolvimento• Adquirir um BlackBerry• Sem custos para o desenvolvedor publicar aplicativos

• Aprender Cascades• IDE: Momentics (baseado no eclipse)• Emulador razoável• Baixa fragmentação

Page 13: Write once, run "everywhere"

HTML – Dispositivos móveis

Page 14: Write once, run "everywhere"

HTML

• Disponível para todas as plataformas• Compatibilidade de código entre plataformas• É possível acessar recursos de hardware e sistema operacional• É possível distribuir seu aplicativo via App Store• Todo o desenvolvedor WEB tem familiaridade com o desenvolvimento• HTML não muda do dia para a noite • Javascript não muda do dia para a noite • CSS não muda do dia para a noite

Page 15: Write once, run "everywhere"

Ferramentas

Page 16: Write once, run "everywhere"
Page 17: Write once, run "everywhere"

AngularJS – O que é?

• http://www.angularjs.org/• Framework JavaScript com grande foco em HTML;• Conceito MVC;• Desenvolvido pela Google; • Permite uma padronização de arquitetura “enterprise” em uma

aplicação web dinâmica; • Permite criação de novas tags em HTML para seu navegador

interpretar;• Suporta os navegadores: IE8+, Chrome, Firefox, Safari e Opera;

Page 18: Write once, run "everywhere"

AngularJS – Principais Features

• Bootstrap;• Two-way Data-Binding;• Templates;• Repeaters;• Filters;• Injeção de Dependência;• Templates;• Routes;• Eventos;• RESTful;

Page 19: Write once, run "everywhere"

AngularJS – Foco em HTML

Page 20: Write once, run "everywhere"

AngularJS – Componentes

Page 21: Write once, run "everywhere"
Page 22: Write once, run "everywhere"

AngularJS – Controllers

Page 23: Write once, run "everywhere"

AngularJS – Controllers

Page 24: Write once, run "everywhere"

AngularJS – Templates

Page 25: Write once, run "everywhere"

AngularJS – Templates

Page 26: Write once, run "everywhere"
Page 27: Write once, run "everywhere"

NodeJS – O que é?

• http://www.nodejs.org/• Plataforma baseada no Javascript runtime do Google Chrome – V8;• Criado para desenvolvimento de aplicações de alto desempenho;• Baseado em Eventos de I/O; • Apps real-time (Websockets);• Não confundir com Ajax (requisições assíncronas);

• Operação via command-line;• Javascript de todos os lados (front-end e back-end);• Não suporta base de dados relacionais;

• Disponível para Windows, Linux e MacOS;• Gerenciamento de pacotes via NPM (Node Package Manager);

Page 28: Write once, run "everywhere"
Page 29: Write once, run "everywhere"

GulpJS – O que é?

• http://www.gulpjs.org/• Ferramenta para build de aplicações web modernas• Pré-requisitos: NodeJS;• Através de um único arquivo você pode trabalhar com o build de seus

aplicativos; • Possui mais de 550 plugins;• Operação via command-line;

Page 30: Write once, run "everywhere"
Page 31: Write once, run "everywhere"

Cordova• http://www.cordova.io/• Framework open-source para desenvolvimento de aplicações móveis; • Mantido pela Apache Software Foundation;• Cross-Platform;

• A partir da versão 3.0, o Cordova CLI se encarrega de facilitar ainda mais o desenvolvimento, mantendo plug-ins e configurações em locais separados para cada plataforma;

• Suporta:• iOS (Mac)• Amazon Fire OS (Mac, Linux, Windows)• Android (Mac, Linux, Windows)• BlackBerry 10 (Mac, Linux, Windows)• Windows Phone 7 (Windows)• Windows Phone 8 (Windows)• Windows 8 (Windows)• Firefox OS (Mac, Linux, Windows)

Page 32: Write once, run "everywhere"
Page 33: Write once, run "everywhere"

Phonegap

• http://www.phonegap.com/• Framework open-source para desenvolvimento de aplicações móveis

baseado no cordova; • Mantido pela Adobe;• É uma redistribuição melhorada do Cordova;• Adobe sugere que suas contribuições ocorram a nível de Cordova;• Serviço de build na nuvem;

Page 34: Write once, run "everywhere"

Phonegap

Page 35: Write once, run "everywhere"

IDE

• A de sua preferência!!!!!• Mais utilizadas (ou as que estão na moda....)• Sublime Text• Brackts.io• Atom.io

• Nova versão do Visual Studio com suporte ao Apache Cordova

Page 36: Write once, run "everywhere"

Compartilhando

• PPT – http://slideshare.net/horochovec• Codigo fonte - https://github.com/phonegap-showcase

Page 37: Write once, run "everywhere"

Demonstraçãohttps://github.com/phonegap-showcase

Page 38: Write once, run "everywhere"

Obrigado ;)