{"id":102,"date":"2016-12-15T23:19:53","date_gmt":"2016-12-16T02:19:53","guid":{"rendered":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/comecando-com-ioniccordova\/"},"modified":"2016-12-15T23:19:53","modified_gmt":"2016-12-16T02:19:53","slug":"comecando-com-ioniccordova","status":"publish","type":"post","link":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/comecando-com-ioniccordova\/","title":{"rendered":"Come\u00e7ando o primeiro projeto Ionic\/Cordova"},"content":{"rendered":"<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/Ionic_Logo.svg_.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-334\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/Ionic_Logo.svg_-300x104.png\" alt=\"\" width=\"430\" height=\"149\" \/><\/a><br \/>\n<strong>Ionic<\/strong> \u00e9 um <em>framework <\/em>criado no final de 2013 que visa a cria\u00e7\u00e3o de aplica\u00e7\u00f5es h\u00edbridas para dispositivos m\u00f3veis. \u00c9 um <em>framework <\/em>focado na apar\u00eancia e intera\u00e7\u00e3o de aplicativos m\u00f3veis utilizando HTML, CSS e Javascript (AngularJS). \u00c9 um <em>framework<\/em> similar a outros existentes no mercado como jQuery mobile, Sencha Touch, etc. Atrav\u00e9s da combina\u00e7\u00e3o entre o Ionic e o Cordova\/Phonegap(j\u00e1 explicado em outro post) \u00e9 poss\u00edvel criar aplicativos com interface pr\u00f3pria para dispositivos m\u00f3veis de forma h\u00edbrida, ou seja, ser\u00e3o aplica\u00e7\u00f5es <em>web mobile<\/em> com acesso ao hardware do dispositivo tornando transparente para o usu\u00e1rio final que pensa estar utilizando uma aplica\u00e7\u00e3o nativa. Com um \u00fanico desenvolvimento \u00e9 poss\u00edvel rodar o mesmo aplicativo em v\u00e1rias plataformas como Android, iOS, Windows Phone, etc.<\/p>\n<p>O processo passo \u00e9 instalar o NodeJS no computador. O NodeJS \u00e9 um interpretador de c\u00f3digo Javascript.<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2015\/09\/multiplataforma1.fw_1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-115\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2015\/09\/multiplataforma1.fw_1-300x120.png\" alt=\"\" width=\"300\" height=\"120\" \/><\/a><\/p>\n<p>Baixe atrav\u00e9s do seguinte link: https:\/\/nodejs.org\/<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot001.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-338\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot001-300x102.jpg\" alt=\"\" width=\"300\" height=\"102\" \/><\/a><\/p>\n<p>O processo de instala\u00e7\u00e3o \u00e9 simples, avan\u00e7ar at\u00e9 finalizar a instala\u00e7\u00e3o: <em>Next<\/em>, <em>Next<\/em>, <em>Next<\/em>, <em>Install<\/em>, <em>Finish<\/em>.<\/p>\n<p>Abra o prompt de comando do Windows\u00a0(em modo administrador) ou o terminal do seu sistema operacional Linux ou MacOS, o primeiro passo para ter certeza da correta instala\u00e7\u00e3o do NodeJS \u00e9 verificar a vers\u00e3o instalada utilizando a seguinte linha de comando:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>node -v<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot002.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-351\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot002.jpg\" alt=\"\" width=\"500\" height=\"185\" \/><\/a><\/p>\n<p>Confira tamb\u00e9m a instala\u00e7\u00e3o do pacote npm, que ser\u00e1 utilizado na instala\u00e7\u00e3o do Ionic e Cordova. Utilize o comando abaixo, tamb\u00e9m no prompt de comando:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>npm -v<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot003.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-352\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot003.jpg\" alt=\"\" width=\"498\" height=\"184\" \/><\/a><\/p>\n<p>O pr\u00f3ximo passo \u00e9 instalar o Ionic, que ser\u00e1 instalado a partir do npm. Utilize o comando abaixo:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>npm install -g ionic<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot004.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-354\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot004.jpg\" alt=\"\" width=\"498\" height=\"183\" \/><\/a><\/p>\n<p>O par\u00e2metro &#8220;-g&#8221; significa uma instala\u00e7\u00e3o global, ou seja, ir\u00e1 permitir que seja feita instala\u00e7\u00e3o e execu\u00e7\u00e3o do ionic a partir de qualquer diret\u00f3rio.<\/p>\n<p>Aguarde o processo de instala\u00e7\u00e3o que pode demorar um pouco dependendo da velocidade da sua internet. Aten\u00e7\u00e3o para as mensagens de casos de <em>Warning<\/em> e <em>Error, caso aconte\u00e7a algum problema ser\u00e1 informado na pr\u00f3pria mensagem o que deve ser instalado antes para continuar a correta instala\u00e7\u00e3o do Ionic.<\/em><\/p>\n<p>Ap\u00f3s a instala\u00e7\u00e3o sempre confira utilizando o comando para consultar a vers\u00e3o para ter certeza que foi instalado corretamente. Utilize o comando abaixo:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>ionic -v<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot005.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-355\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot005.jpg\" alt=\"\" width=\"500\" height=\"120\" \/><\/a><\/p>\n<p>O pr\u00f3ximo passo \u00e9 a instala\u00e7\u00e3o do Cordova, utilizando o mesmo padr\u00e3o de instala\u00e7\u00e3o npm:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>npm install -g cordova<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot006.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-356\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot006.jpg\" alt=\"\" width=\"499\" height=\"118\" \/><\/a><\/p>\n<p>Aguarde o final da instala\u00e7\u00e3o e confira a instala\u00e7\u00e3o verificando a vers\u00e3o:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>cordova -v<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot007.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-357\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot007.jpg\" alt=\"\" width=\"499\" height=\"91\" \/><\/a><\/p>\n<p>Feito isso j\u00e1 temos nosso ambiente de desenvolvimento e compila\u00e7\u00e3o pronto para come\u00e7ar.<\/p>\n<p>O Ionic permite iniciar um projeto por linha de comando baseado em templates como tabs, maps, blank, sidemenu, etc. O padr\u00e3o quando n\u00e3o \u00e9 informado o template que desejamos \u00e9 o tab.<\/p>\n<p>Para criar um projeto, v\u00e1 at\u00e9 uma pasta de desenvolvimento de sua prefer\u00eancia no seu prompt de comando e execute o comando abaixo:<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>ionic start HelloWorld tabs<\/p>\n<p>[\/sourcecode]<\/p>\n<p>Onde: &#8220;HelloWorld&#8221; \u00e9 o nome do projeto e &#8220;tabs&#8221; \u00e9 o template desejado para cria\u00e7\u00e3o do projeto.<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot009.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-358\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot009.jpg\" alt=\"\" width=\"498\" height=\"280\" \/><\/a><\/p>\n<p>Aguarde o <em>download<\/em> do template e a cria\u00e7\u00e3o do projeto.<\/p>\n<p>Se visualizar o diret\u00f3rio do projeto HelloWorld ir\u00e1 observar a cria\u00e7\u00e3o de v\u00e1rias pastas de controle e configura\u00e7\u00e3o e v\u00e1rios arquivos criados automaticamente pelo Ionic. Aos poucos ir\u00e1 entender a fun\u00e7\u00e3o de cada uma dessas pastas e arquivos.<\/p>\n<p>Por hora o que precisa saber \u00e9 que o arquivo config.xml armazena informa\u00e7\u00f5es referentes a descri\u00e7\u00e3o do aplicativo, nome, autor, etc que ser\u00e3o utilizados na publica\u00e7\u00e3o do aplicativo em uma loja como Apple Store ou Play Store. \u00a0Outra informa\u00e7\u00e3o ainda mais importante \u00e9 a pasta &#8220;www&#8221; que armazena todos os arquivos do projeto, todas as p\u00e1ginas, scripts de transi\u00e7\u00e3o, imagens, etc. \u00c9 nesta pasta que iremos concentrar nossos esfor\u00e7os.<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot010.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-359\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot010.jpg\" alt=\"\" width=\"499\" height=\"354\" \/><\/a><\/p>\n<p>Para abrir o projeto e ver o resultado, basta digitar o comando abaixo dentro da pasta do projeto :<\/p>\n<p>[sourcecode language=&#8221;plain&#8221;]<\/p>\n<p>ionic serve<\/p>\n<p>[\/sourcecode]<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot014.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-363\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot014.jpg\" alt=\"\" width=\"498\" height=\"194\" \/><\/a><\/p>\n<p>Ser\u00e1 aberta uma tela em seu navegador com a p\u00e1gina que corresponde ao aplicativo com o tema de &#8220;<em>tabs<\/em>&#8221; escolhido. Segue exemplos da navega\u00e7\u00e3o de telas do aplicativo:<\/p>\n<p><a href=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot011.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-360\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot011.jpg\" alt=\"\" width=\"304\" height=\"558\" \/><\/a>\u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-361\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot012.jpg\" alt=\"\" width=\"305\" height=\"559\" \/>\u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-362\" src=\"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-content\/uploads\/2016\/12\/ScreenShot013.jpg\" alt=\"\" width=\"301\" height=\"557\" \/><\/p>\n<p>Continuaremos em outro artigo, por enquanto \u00e9 s\u00f3.<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ionic \u00e9 um framework criado no final de 2013 que visa a cria\u00e7\u00e3o de aplica\u00e7\u00f5es h\u00edbridas para dispositivos m\u00f3veis. \u00c9 um framework focado na apar\u00eancia e\u2026<\/p>\n","protected":false},"author":1,"featured_media":103,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[23,75,74,73,4,22],"class_list":["post-102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-phonegap","tag-android","tag-apps-hibridas","tag-cordova","tag-ionic","tag-ios","tag-phonegap"],"_links":{"self":[{"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":0,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/media\/103"}],"wp:attachment":[{"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.williamcleissondecarvalho.com.br\/blog\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}