Write once, run "everywhere"

Post on 26-May-2015

655 views 0 download

description

Apresentação feita na CodeConference na faculdade MaterDei

Transcript of 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;

Agenda

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

Tecnologias Nativas

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 !!!

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

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

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

HTML – Dispositivos móveis

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

Ferramentas

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;

AngularJS – Principais Features

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

AngularJS – Foco em HTML

AngularJS – Componentes

AngularJS – Controllers

AngularJS – Controllers

AngularJS – Templates

AngularJS – Templates

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);

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;

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)

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;

Phonegap

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

Compartilhando

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

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

Obrigado ;)