quinta-feira, 22 de setembro de 2016

Prototipando o App

Oi pessoal,  vamos começar a prototipar nosso aplicativo.  Algo que não comentei no post anterior é que o Ionic Creator é uma ótima ferramenta para este tipo de trabalho, pois apesar de não ser a melhor ferramenta de prototipação existente ela tem um número razoável de componentes, é fácil de operar e adianta boa parte da programação gerando todos o html das páginas e a configuração de roteamento entre elas.



Só relembrando, nós criamos um novo projeto e escolhemos o template que melhor se adapta ao nosso projeto.


No meu projeto escolhi o template tabs e irei criar um app que permite cadastrar o perfil do usuário, cadastrar contatos e conversar com seus contatos por mensagens de texto. Qualquer semelhança é mera coincidência.
Antes de começar a construir as telas vou alterar os labels e ícones das tabs.  Clicando sobre cada tab podemos ver que a barra à direita se altera e ali podemos alterar o texto e o ícone e também mover a tab para outra posição.
A imagem abaixo mostra a visualização em um smart phone Android.  Esta é uma das principais características da biblioteca de componentes de interface do Ionic, ele ajusta alguns componentes à plataforma independente de configuração. Neste caso a tab que na imagem anterior estava no rodapé datela, visto de um iPhone, agora no Android passou a ser visto no topo da tela. Esta visualização pode ser alterada no topo da tela do Creator, no item Device.



Feita a alteração nas tabs, vou para as telas agora. A primeira tela, cuja tab chamei de perfil, criarei uma consulta dos dados do usuário com informações básicas de contato. 
Lembrando que por enquanto não vamos nos preocupar em como irá funcionar, isto deixamos para o momento da programação.  Por agora só estamos preocupados com o que terá o app.  
Inserimos nesta tela uma área para a foto do usuário, e campos para nome, data de nascimento, fones, email, nome da empresa e função.  Do lado direito estão as barras de adição de telas (acima) e de componentes inseridos no protótipo (abaixo).  Neste momento encaramos a primeira deficiência desta ferramenta, pois ela não permite inserir ícones de botões na barra superior do app. Por conta disso vamos inserir um botão no topo da tela para permitir acesso à tela de edição dos dados e depois faremos a alteração para um botão "ícone" na header no app.
Para exibir os dados inserimos uma lista e em cada item da lista inserimos campos de texto.

 Tela de Dados do Perfil


Para criar a tela de edição podemos selecionar a tela de Consulta na aba de Pages e clicar no ícone "Duplicate".  Assim será criada uma nova tela com os mesmos componentes da anterior. Agora basta alterar alguns componentes.  Começamos removendo a lista e inserindo campos input. Após inserir os campos podemos escolher o tipo de dado de cada campo, tais como email, data, texto e fone.    

Tela de Edição do Perfil

Para fazer com que o click no botão Editar abra a tela de edição, você deve selecionar o componente na tela e na área Page, no item Link, selecione o nome da outra tela que deseja abrir. Esta configuração servirá para toda a navegação entre telas do aplicativo.
Recomendo que para todo componente inserido você explore a aba Page da direita e veja as possibilidades de customização.

Tela de  Contatos


Ainda criamos uma tela de conversas onde serão registradas todas as comunicações e uma tela de conversa com um contato em específico.

 Lista de conversas

Tela de conversa com um contato




Nosso trabalho com design do aplicativo não acaba aqui, mas com o Creator é o que conseguimos fazer. Qualquer melhoria no layout precisará ser feita mexendo diretamente no código que vamos baixar do Creator.  Este código engloba todas as telas do app criadas no creator, toda a configuração de navegação,  todas as imagens inseridas e o fonte básico do javascript para começar a programar.
Para baixar o código você só clica no ícone Export do Creator, será aberto um popup onde você seleciona a aba Zip File e clica no botão download.




Feito isto, seu código está na mãe e agora você deve descompactar e copiar todo o conteúdo para dentro da pasta www do projeto que criamos no post passado

pasta do projeto que acabamos de baixar do creator.


pasta www do projeto criado no computador (post passado)

Depois de copiados os arquivos do protótipo para dentro da pasta www do projeto, podemos testar se está tudo ok.  Para isso basta acessar a pasta do projeto pelo cmd ou console, no meu caso é digitando:

cd C:\Projetos\meuProjetoMobile

E em seguida escreva o comando

 ionic serve


executando o comando ionic serve

Ao executar este comando será aberto o seu browser e o seu app aparecerá rodando no browser. Umas das vantagens do desenvolvimento híbrido de aplicativos é que boa parte do app pode ser testada no browser.  Talvez o layout, principalmente as imagens, fiquem um pouco estranhas, mas pra resolver isto e ver seu app como se estivesse em um smartphone basta você acionar a inspeção do browser, ou modo debug.  Pra isso clique com o botão direito na tela do browser e selecione Inspecionar (Inspect).  Depois, se estiver no Chrome, você pode digitar Ctrl + Shift + M e poderá escolher no topo do browser um modelo de smart phone para ser simulado e poder visualizar como ficará seu aplicativo.

Tela do app vista no browser simulando um fone Galaxy S5


Ótimo que chegamos até aqui! A partir de agora já temos tudo pronto pra começar a mexer em definitivo no nosso aplicativo, colocar a mão na massa e programar.  
Obrigado por me acompanhar até aqui.  Espero você no próximo post!

quarta-feira, 14 de setembro de 2016

Ionic: o que é e como começar


Como já mencionei anteriormente o Ionic é  mais que um framework, pois além disso ele também é uma ferramenta que estende funções do Apache Cordova trazendo mais recursos ao desenvolvedor.  Acho que a melhor definição para o ionic é  aquela que a própria empresa atribui. Eles dizem que o Ionic é uma SDK Web para para construção de aplicativos híbridos.  Mas porque SDK ?  Porque além das funcionalidades disponíveis o Ionic possui sua própria biblioteca de estilos e componentes para interface de usuário, assim como são os SDKs do iOS e Android. 
A estrutura de um aplicativo construído com Ionic é composta pelos elementos ilustrados na imagem abaixo:




Ionic: toda a parte de UI e os controles de reconhecimento de plataforma para definição de componente a apresentar.  Isto porque, para alguns componentes, o Ionic tem uma versão para cada plataforma tentando se aproximar da UI nativa do dispositivo
AngularJS: onde todas a funcionalidades são criadas, todo o  comportamento e ações são construídas e também onde todos os dados são gerenciados
WebView (Apache Cordova): é através da webview que o Cordava realiza a comunicação do codigo javascript com os plugins da plataforma permitindo o acesso aos recursos do dispositivo.

Neste detalhamento acima ficou parecendo que o Ionic fica só na parte de UI, mas não é só isso, pois o Ionic, por ser também a plataforma sobre a qual estaremos desenvolvendo, traz consigo uma série de recursos para facilitar toda a construção do aplicativo.
Veremos a seguir como iniciar na construção de uma aplicativo, quais passos devemos seguir, o que precisaremos instalar.

O que precisamos ?

Para iniciar precisaremos instalar o NODE.JS que é basicamente uma runtime javascript, ou seja, ele permite rodar programas em javascript sem estar num browser, mas utilizando o motor do browser para realizar esta função.  O nodejs será usado para instalação dos recursos necessários na construção do aplicativo, ele não é utilizado diretamente na programação ou execução do nosso app.  Com o nodejs todas as operações serão realizadas em linha de comando pelo console (Linux) ou janela cmd (Windows)

Acesse o site https://nodejs.org e baixe o node específico para o S.O. de seu computador. 
A versão L.T.S do nodejs deve ser suficiente, que hoje está na 4.5.0

Feita a instalação do node, vamos verificar se está tudo ok. Abra o console se estiver no linux ou o "cmd" se estiver no Windows e primeiramente  verifique se o node está instalado corretamente, digite
 node --version
Caso tenha como resposta a versão do node recém instalada então está ok.

Outra instalação necessária é a da SDK para qual será feira a geração do aplicativo. Trabalharemos com Android, uma vez que este está disponível para todas as plataformas, mas caso você tenha um mac, basta baixar o XCode e a SDK do iOS estará junto.

Baixe e instale apenas a SDK Android ou se preferir baixe e instale o  Android Studio que já vem com a SDK. Ambos estão disponíveisem https://developer.android.com/studio/index.html.

Depois de instalar a SDK, faça a atualização da versão do Android através do SDK Manager, que pode ser acessado pela interface do Android Studio ou executando o programa "SDK Manager" na pasta do SDK.

No SDK Manager, na pasta Tools, faça a instalação ou atualização das últimas versões do "Android SDK Tools",  "Android SDK Platform-tools" e "Android SDK Build-tools". Na pasta Android 'X' (API YZ) faça a instalação de todos os itens do maior 'X' disponível, isto vai garantir que você terá todos os recursos disponíveis da última versão da plataforma. Na pasta Extras recomendo que você instale ao menos os itens "Android Support Library" e "Google Play services"



Agora que já temos a SDK instalada e atualizada podemos partir para a instalação do Ionic.  Para isso é  simples, basta digitar no console ou cmd
npm install -g cordova ionic 
Este comando fará a instalação dos módulos node do Ionic e do Cordova, que apesar de trabalharem juntos tem a instalação separada.  Por enquanto é disso que precisamos, agora vamos criar nosso projeto de aplicativo e para isso, voltamos ao console ou cmd, acessamos a pasta onde queremos que o projeto seja criado e digitamos o comando abaixo:
ionic start meuProjetoMobile blank
O comando ionic start faz a criação do projeto e copia todos os arquivos necessários.  A palavra meuProjetoMobile é o nome do projeto, mas não se preocupe pois o nome do projeto não é necessariamente o nome final do aplicativo, depois podemos alterar e eu mostrarei como fazer isto.  Já a palavra blank define qual o template do Ionic utilizaremos, estes templates são modelos de interface para o aplicativo e estão disponíveis as interfaces com abas (tabs), menu lateral (sidemenu) e em branco (blank).

comando executado no cmd

Enfim temos o projeto do aplicativo criado, mas ainda não vamos programar, pois eu gostaria de apresentar mais uma ferramenta muito útil e a primeira ferramenta online do Ionic que veremos.  Será o Creator, um prototipador de aplicativos que permite ao desenvolvedor, após construir o protótipo e validar com seu cliente, fazer download do projeto criado e Voilà, tem-se o código do projeto para dar início à programação, com todas as telas e navegação construída.
Para criar seu protótipo, acesse https://creator.ionic.io/app/login , faça seu cadastro e acesse.  A maior parte dos serviços online do ionic são pagos, mas possuem um acesso gratuito com uso limitado.  No caso do Creator, a limitação para o acesso free é o número de projetos que pode ser criado, no caso apenas um, e alguns recursos da ferramenta como a inclusão de mapas no protótipo.



   Dê um nome para seu novo projeto, escolha o template e clique em "Create Projetct".  Mesmo que você tenha criado seu projeto com template blank na sua máquina, aqui você pode definir qual será seu modelo realmente.

Já temos bastante coisa para fazer e várias instalações para executar, então vou encerrando este post por aqui e no próximo veremos como construir nosso protótipo no Ionic Creator, baixar o código fonte que ele disponibiliza e aplicar ao projeto que criamos no computador. Até mais e obrigado!

segunda-feira, 29 de agosto de 2016

Ferramentas Multiplataforma

Existem diversas ferramentas multiplataforma para desenvolvimento mobile. Uma busca rápida na Internet vai retornar diversas listas.   São ferramentas como o Cordova que permitem exportar seu código para mais de uma plataforma mobile, como Android, iOS, Windows e outros. Algumas destas ferramentas são extensões do Cordova e como tal permitem gerar aplicativos híbridos, outras geram aplicativos nativos de cada plataforma.  A ideia aqui é passar rapidamente por algumas destas ferramentas e permitir que você tome conhecimento delas. Entre as ferramentas que geram apps nativos podemos citar:

Appacelarator  

Oferece a possibilidade de desenvolver em javascript, mas promete gerar aplicativos nativos através de sua SDK.  Tem ferramentas para design de interfaces do app, IDE para o desenvolvimento e recursos para teste dos aplicativos. É possível testar free, mas a licença para uso de todos os recursos tem um custo mensal. Mais em http://www.appcelerator.com


Genexus 
A suite que trabalha com o conceito de base de conhecimento também permite exportar o seu desenvolvimento para aplicativos mobile (smart devices).  Interessante nesta ferramenta a possibilidade de criar uma solução completa com app e webservice num  mesmo projeto e de forma transparente. Além disso afirmam que não é necessário conhecer de programação.  Existe uma versão trial para teste e vários planos de pagamento para uso comercial.  Informações em http://www.genexus.com/produtos/genexus?pt


Delphi
O velho Delphi continua firme, embora o uso da ferramente para o desenvolvimento de software já não seja o mesmo de  alguns anos atrás.  O Delphi 10 promete desenvolvimento rápido, para aqueles que conhecem o object pascal e a sua poderosa IDE.  Oferece também uma experiência de usuário avançada em multiplataformas.  Siga para o site e confira https://www.embarcadero.com/br


Xamarin

Recentemente adquirido pela Microsoft e com  sua licença aberta para uso profissional no Xamarin Studio e no Visual Studio Community, esta ferramenta tem se mostrado bastante promissora e por conta disso tem ganho bastante adeptos.  O foco aqui é o desenvolvimento em C# e a liberdade para desenvolver apps para Android, iOS e Windows com um gerenciador de layout próprio (Xamarin forms) ou com o design de layout nativo de cada plataforma.  Conheça em https://www.xamarin.com/


Para as ferramentas que geram aplicativos híbridos e que em geral tem o Cordova como base, com o desenvolvimento javascript como foco, podemos destacar algumas delas:


Telerik
Ela oferece uma série de serviços online que prometem facilitar o trabalho, tais como geração do app, publicação nas lojas, plataforma de gerenciamento dos apps publicados  e serviços de banco de dados para onde seus apps podem enviar as informações coletadas. Com ela você pode testar free, mas pra desenvolver profissionalmente vai precisa da licença paga. Veja mais em http://www.telerik.com/platform


Sencha Touch
O Sencha é um fremawork de desenvolvimento web, já bastante conhecimento pela comunidade. O Sencha touch baseia-se no Ext JS para desenvolvimento javacript.  Oferece uma biblioteca de gráficos bastante interessante.  Assim como o Telerik ele possui uma versão free trial e para continuar utilizando você paga pelos módulos que desejar, um valor mensal aparentemente baixo para até 5 desenvolvedores. Veja mais em https://www.sencha.com/products/touch/#overview


Onsen UI
Esta é uma das ferramentas free que tem apresentado uma evolução constante, com um bom número de componentes para construção do app. Seu diferencial talvez seja a possibilidade de desenvolvimento em Angular 2 e React a partir da sua versão 2.0 .  Veja mais em https://onsen.io/


Ionic
O Ionic se apresenta, não apenas como um framework, mas como um SDK (kit de desenvolvimento de software) web para construção de aplicativos.  Tendo como base o Cordova ele oferece uma série de recursos que facilitam o desenvolvimento e otimizam o desempenho do app.  Possui componentes de interface baseados em css que se alteram de acordo com a plataforma sem necessidade de seleção.  A programação foca no AngularJS e a versão 2, que está em beta, permitirá o desenvolvimento com Angular 2.  Além de todos os recursos de desenvolvimento da ferramenta, ainda estão disponíveis alguns serviços online para prototipação, build dos aplicativo, envio de push entre outros.  Todas as ferramentas básicas do Ionic para desenvolvimento são gratuitas, já os serviços online tem uma versão gratuita com baixo limite de uso e para explorar mais existem vários planos de acordo com a sua necessidade.
O fato de ser uma ferramenta robusta, bastante utilizada, de fácil aprendizado, gratuita, entre coisas coisas, justifica nossa escolha para utilizá-la como recurso no desenvolvimento de aplicativos e será o Ionic nosso companheiro até o final desta série de posts sobre desenvolvimento de aplicativos mobile.

Meus caros, com este post não tive a intenção de detalhar cada ferramenta, não me preocupei em citar todas as existentes no mercado, e muito menos de esgotar este assunto.   Apenas pensei em dar um panorama geral sobre algumas das possibilidades de trabalhar com desenvolvimento mobile, certamente se for a procura você encontrará mais opções.
Até o próximo post e obrigado!


quarta-feira, 24 de agosto de 2016

Conhecendo Cordova

Oi pessoal, voltamos para nosso segundo papo e agora vou falar um pouco o que é o Apache Cordova ( https://cordova.apache.org/), como ele funciona e como utilizá-lo.


Basicamente o Cordova é um conjunto de APIs (bibliotecas de software) que permitem acessar as funções do dispositivo (tablet ou celular), tais como a câmera, o acelerômetro e outros, a partir de um código desenvolvido em Javascript.
Ok, então quer dizer que os dispositivos respondem a comando JS ? Não diretamente. Para conseguir esta mágica o Cordova precisa dos plugins, que são os verdadeiros responsáveis pela iteração entre javascript e funções do aparelho. O Cordova, na verdade faz a orquestração de todos o funcionamento dos plugins. Os plugins são bibliotecas, desenvolvidas para cada uma das plataformas a que ele se destina, com uma interface javascript que permite acessar as funções disponíveis nestas bibliotecas. Então se eu precisar acessar o GPS do aparelho, primeiramente faço a instalação do plugin para GPS no meu projeto. Neste plugin virá um conjunto de classes java que permitem a manipulação do GPS para android, virá um conjunto de classes Objetive-C ou Swift para manipulação do GPS do iOS, virá um conjunto de classes em C# para acesso ao GPS do Windows Phone e assim sucessivamente para outras plataformas de dispositivo. Além disso, vem também um conjunto de scripts (Javascript) que podemos chamar de interfaces que permitirão acessar a estas classes nativas de cada plataforma. Algo comum de acontecer é a funcionalidade do dispositivo possuir alguma característica ou ação que você não conseguirá manipular, pelo fato do plugin não disponibilizar acesso a esta item. Mas no geral os plugins mais usados são bem completos como veremos mais a frente em outro post quando estivermos falando sobre como utilizá-los.


E onde roda o aplicativo desenvolvido com Córdova? Roda no browser! Isso mesmo no broswer. Na verdade, roda no motor do browser, ou seja, no renderizador de páginas e interpretador de javascript, que no caso do Chrome e iOS chama-se Webkit. Este motor está disponível para que os aplicativos utilizem e exibam conteúdo html através de uma componente nativo das plataformas que em geral é conhecido por WebView. O webview é uma área onde pode-se carregar um conteúdo html remoto ou local (armazenado no aparelho) e rodar programas em javascript através das telas html.
Uma observação importante que precisa ser feita é que aplicativos híbridos, como são conhecidos os apps desenvolvidos com Cordova, não são sites que ficam armazenados num servidor e são carregados para o celular a cada acesso, ou seja, todos conteúdo do app está no aparelho, dentro do programa que foi instalado. É pelo fato de estar junto ao código do app que os plugins do Cordova conseguem acessar as funcionalidades do seu aparelho, pois por questões que segurança, sites não podem acessar funções da máquina (computador ou celular) diretamente.
Portanto construir aplicativos híbridos é basicamente desenvolver programas utilizando apenas html, css e Javascript, pois toda a arquitetura do Cordova e linguagem de construção dos seus plugins é transparente para o programador.

E como acontece ? Bem, toda a plataforma tem uma estrutura de projeto definida para criação de um aplicativo com sua linguagem nativa. O cordova conhece essa estrutura para diversas plataformas, então quando criamos um projeto mobile com cordova ele é independente de plataforma, mas quando eu precisar instalar o programa em um aparelho precisarei criar o projeto para aquela plataforma do aparelho. Exemplo, depois de ter criado o projeto quero testar no android, então peço que o cordova crie um projeto android. Ele cria com todos os arquivos, classes e configurações necessárias e carrega todos meu código javascript, telas html e outros componentes que criei para dentro do projeto android, além de suas bibliotecas e plugins e com isso o projeto Android está completo e posso gerar o aplicativo. Se não ficou muito claro, don't worry! Faremos passo a passo todo esse processo num próximo post.
Para gerar o projeto de uma determinada plataforma o cordova precisa da SDK desta plataforma, portanto para desenvolver apps híbridos para iOS ainda será necessário um computador mac, pois a SDK do iOS você só consegue instalar no mac (regra), assim como para desenvolver para Windows Phone você precisará ter uma maquina com o SO Windows. Agora deve ficar mais claro porque cresce tanto o número de apps para Android, uma vez que o SDK do Android está disponível para Windows, Linux e Mac.
O Cordova roda sobre o nodejs (npm), portanto também está disponível para Windows, Linux e Mac. As plataformas mobile em que podemos gerar apps com Cordova atualmente são Android, iOS, Windows, BlackBerry, Ubuntu, Firefox, LG WebOS e FireOS. Em versões anteriores o Cordova já esteve disponível também para Palm WebOS, Bada, e Symbian.


Importante ainda falar sobre o Cordova é que, ele e o Phonegap são o mesmo projeto. A Nitobi, empresa que criou o Phonegap (primeiro nome dado) antes de ser comprada pela Adobe abriu o código e doou à Apache Software Fundation. A Adobe decidiu dar suporte ao código aberto do Phonegap e solicitou à Apache que alterasse o nome do seu projeto por razões legais, então a Apache alterou o nome para Cordova.

Hoje ficamos por aqui e no próximo post vamos passar rapidamente por outras ferramentas que, assim como o Cordova, permitem desenvolver aplicativos para várias plataformas.



segunda-feira, 22 de agosto de 2016

Começando no Mobile Dev

Se você não tem experiência em alguma linguagem ou está começando a vida loka de programmer e se encantou pelo desenvolvimento de apps (aplicativos mobile) então estou aqui para te ajudar. Mas se você é alguém com espírito aventureiro e quer iniciar uma nova jornada pela construção de apps então vamos juntos.  Farei uma série de posts desde a escolha das ferramentas e linguagem até a publicação de aplicativos nas principais lojas.



Bem, vamos começar pelo escolha da tecnologia, mas pra isso temos um universo de soluções disponíveis pra nos ajudar a alcançar nosso objetivo.
Vamos conhecer algumas das nossas opções:




JAVA: se você já conhece esta linguagem pode ser que seja mais tranquilo desenvolver aplicativos para Android.











Swift: se conhece esta ou deseja desenvolver apps para iOS (iphone, ipad e ipod) então esta é a linguagem a ser encarada. Para iOS também pode é possível desenvolver em Objective-C que é muito parecida com o C (boa sorte!).










C# (C sharp): Se sua praia é Microsoft então aqui você se encontra e conseguirá desenvolver aplciativos para Windows Phone, mas o C# traz uma vantagem, pois com ele e utilizando o XAMARIN (veremos depois o que é isto) será possivel criar também apps para Android e iOS.




Javascript: algumas plataformas tem como linguagem nativa de desenvolvimento o javascript (associado a HTML5 e CSS3), tais como FirefoxOS e Tizen, mas também é possível desenvolver para qualquer umas das plataformas anteriores utilizando esta linguagem com a ajuda do Apache Cordova (que veremos depois em detalhes).









O que Escolher?
No caso dos nosso amigos iniciantes, eu recomendo escolher o Javascript e já emendar o estudo de um framework como o AngularJS. Para este estudo posso sugerir os vídeos do meu colega Rodrigo Branas https://www.youtube.com/user/rodrigobranas em javascript e angularjs.





Ok, visto as principais linguagens disponíveis para as plataformas mais utilizadas no mercado, agora vou falar de ambiente de desenvolvimento. Este são os mais diversos e para algumas linguagens é possível escolher qual a opção melhor você se adapta.

JAVA/Android: Para desenvolver aplicativos em java para android a principal IDE recomendada é a disponível no site do Android Developers. Seu nome é Android Studio e ela foi construída sobre a plataforma do IntelliJ IDEA, sendo a ferramenta oficial da google para o desenvolvimento android. O download para Windows, Linux e Mac, a documentação e vários vídeos de tutorial estão no site https://developer.android.com/develop/index.html .






Swift/iOS: para o desenvolver aplicativos para iOS você tem um requisito básico antes de se preocupar com a IDE. O requisito é a infraesrutura de desenvolvimento, ou seja, a máquina onde você vai trabalhar. Para você criar aplicativos para iPhone e outros dispositivos da apple você precisará de um MAC, existe vários modelos tais como MacBook, iMac ou Mac Mini, em geral são máquinas muito boas em potência e qualidade entretanto os preços são um pouco salgados (Já ouvi casos de quem conseguiu instalar o SO da apple (MAC OS) em um pc, mas não sei até onde isso vai funcionar para desenvolver os app, inclusive tem vários vídeos no youtube ensinando a fazer. Bem, mas se você já tem um mac ou resolveu comprar agora, então o próximo passo é instalar o XCODE direto da App Store para Mac. O XCode tem praticamente tudo que você precisa pra desenvolver os apps e até publicá-los na loja (mas sobre publicação veremos mais tarde).



C#/Windows: Para o desenvolvimento de apps em C# a principal opção é o próprio Visual Studio, IDE já utilizada para desenvolvimento em C# para outras plataformas, mas também é possível crias seus apps em C# para windows e para Android e iOS utilizando o Xamarin, uma IDE cujo fabricante foi recentemente comprado pela Microsoft e ao comprá-la abriu a licença do Xamarin, certamene para tentar aumentar a popularidade e o número de desenvolvedores para Windows. Uma boa notícia para quem já programa em java é que o C# tem sintaxe muito parecida, mas claro que as APIs diferem e é necessário um estudo destas para começar a batalha. O download do Xamarin pode ser feito de https://www.xamarin.com/


Javascript/Cordova: Aqui a sua liberdade é maior, você que já programa em alguma linguagem provavelmente já utiliza uma IDE, ou talvez o "vi" ou "notepad" se você é guerreiro, mas no geral já conhece alguma, então don´t warry e pode continuar utilizando sua IDE preferida, a maioria delas tem suporte para desenvolvimento HTML5/Javascript. Mas se você é da galera iniciante pode começar com o Visual Studio Code que é bem simples de usar e está disponível em https://code.visualstudio.com



O que escolher ? Para nosso colegas de primeira viagem para uma menor curva de aprendizado e maior produtividade a curto prazo, baseado inclusive na escolha anterior da linguagem, o que recomendo é a escolha do Cordova . Esta escolha tem sido feita não apenas por iniciantes, mas também por empresas que não possuem uma equipe muito grande para o desenvolvimento de apps, que tenham alta rotatividade em seus colaboradores e por isso precisam de um custo com aprendizado reduzido ou ainda por empresas que não foquem em altíssima qualidade no layout de seus apps, mas que tenham foco no negócio e nas funcionalidades. Não estou dizendo com a última afirmação que os apps saem uma porcaria, muito pelo contrário, você consegue alcançar uma boa qualidade nas interfaces dos seus apps, mas não é o layout nativo de cada plataforma.

Pessoal, este post vai ficando por aqui, até porque já tem bastante coisa pra estudar. No próximo vou falar um pouco sobre o cordova, javascript, angularjs e sobre o framework que utilizaremos para facilitar ainda mais nossa vida. Obrigado e até mais!