{"id":3069,"date":"2020-03-15T22:59:54","date_gmt":"2020-03-16T01:59:54","guid":{"rendered":"https:\/\/www.itexto.com.br\/devkico\/?p=3069"},"modified":"2020-03-15T23:42:21","modified_gmt":"2020-03-16T02:42:21","slug":"react-native-o-projeto-dev-all-mobile-introducao","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=3069","title":{"rendered":"React Native &#8211; O projeto \/dev\/All Mobile &#8211; Introdu\u00e7\u00e3o"},"content":{"rendered":"\n<p>No <a href=\"https:\/\/www.itexto.com.br\/devkico\/?p=3009\" class=\"rank-math-link\">post anterior<\/a> mencionei o projeto <em>\/dev\/All Mobile<\/em>. Agora o apresento: a ideia \u00e9 que todos possam acompanhar o desenvolvimento de um projeto baseado em React Native. Assim voc\u00eas poder\u00e3o entender por que cada detalhe do app \u00e9 da forma que se encontra e as principais dificuldades (e atalhos!) descobertos no processo de desenvolvimento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O projeto &#8211; arquitetura do \/dev\/All<\/h2>\n\n\n\n<p>O \/<a href=\"https:\/\/devall.com.br\" class=\"rank-math-link\">dev\/All<\/a> nasceu como um agregador de blogs e sites voltados ao desenvolvimento de software em l\u00edngua portuguesa. H\u00e1 essencialmente dois tipos de usu\u00e1rios que acessam o site:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Leitores &#8211; as pessoas que leem os posts apresentados pelo \/dev\/All.<\/li><li>Autores &#8211; as pessoas que cadastram seus sites no \/dev\/All para que nosso crawler obtenha seus \u00faltimos posts e, na sequ\u00eancia, os apresentem aos leitores.<\/li><\/ul>\n\n\n\n<p>O funcionamento \u00e9 bastante simples: no momento em que os <strong>autores<\/strong> cadastram seus sites no \/dev\/All, seu crawler (Feed Hunter) come\u00e7a a monitorar estes sites em busca de novos posts que ser\u00e3o apresentados no front-end. <\/p>\n\n\n\n<p>Do ponto de vista arquitetural o \/dev\/All \u00e9 composto pelos elementos apresentados no diagrama a seguir:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"287\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-8.png\" alt=\"\" class=\"wp-image-3070\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-8.png 552w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-8-300x156.png 300w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Mobile client &#8211; \u00e9 a interface p\u00fablica do \/dev\/All &#8211; inicialmente o projeto foi focado em dispositivos m\u00f3veis, mas hoje sabemos que 80% dos acessos v\u00eam de clientes desktop (guardem este dado, ser\u00e1 importante mais \u00e0 frente).<\/li><li>API (aka Core) &#8211; \u00e9 o cora\u00e7\u00e3o do projeto, aonde encontram-se implementadas todas as regras de neg\u00f3cios e acesso a dados no projeto.<\/li><li>Feed Hunter &#8211; \u00e9 o componente respons\u00e1vel por monitorar os sites cadastrados, obter novos posts, trat\u00e1-los, classific\u00e1-los (novidades em breve) e disponibiliz\u00e1-los \u00e0 API.<\/li><\/ul>\n\n\n\n<p>\u00c9 muito importante pra n\u00f3s que o projeto seja composto por estes tr\u00eas componentes independentes, pois isto nos permite, al\u00e9m de maior flexibilidade, tamb\u00e9m a possibilidade de testarmos tecnologias que usamos na itexto com nossos clientes. Isto nos possibilitou, por exemplo, validar tecnologias como Angular, Vue, React e muitas outras tecnologias front-end no cliente m\u00f3vel, e diversas outras como Micronaut, Node, Ruby on Rails na API e outras tecnologias de classifica\u00e7\u00e3o no Feed Hunter.<\/p>\n\n\n\n<p>Internamente portanto o \/dev\/All \u00e9 um grande laborat\u00f3rio para a itexto. Com esta vis\u00e3o macro, vamos agora \u00e0s funcionalidades que o site oferece hoje.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Funcionalidades e comportamento do usu\u00e1rio (e nossos fracassos)<\/h2>\n\n\n\n<p>O projeto \/dev\/All Mobile poderia terminar como uma prova de conceito se n\u00e3o tiv\u00e9ssemos feito um estudo a respeito de quais seriam as funcionalidades mais usadas do \/dev\/All. Os resultados que obtivemos foram surpreendentes. <\/p>\n\n\n\n<p>A ideia inicial do \/dev\/All era apenas apresentar estes posts, mostrando quais os mais populares (mais clicados). S\u00f3 que em 2018 pensamos em evoluir estas intera\u00e7\u00f5es: e se os usu\u00e1rios pudessem tamb\u00e9m comentar estes posts? Marc\u00e1-los como positivos ou negativos? Compartilh\u00e1-los com seus contatos? E com base nisto inclu\u00edmos as seguintes funcionalidades no site:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Os usu\u00e1rios podem votar positiva ou negativamente os posts apresentados.<\/li><li>\u00c9 poss\u00edvel criar mini discuss\u00f5es em cada um dos posts.<\/li><li>Buscar posts (temos uma busca bem boa, diga-se de passagem).<\/li><li>Visualizar os \u00faltimos posts encontrados pelo crawler.<\/li><li>Favoritar os posts que mais lhe interessam.<\/li><li>Compartilhar posts.<\/li><\/ul>\n\n\n\n<p>Todos estes recursos foram inclu\u00eddos no \/dev\/All por que eram recursos que <strong>eu<\/strong> gostaria de usar. Repare: n\u00e3o houve a\u00ed uma pesquisa de mercado, apenas o desejo de existir uma ferramenta que <strong>n\u00f3s<\/strong> gostar\u00edamos de usar. E a\u00ed est\u00e1 o mais interessante. Vamos aos n\u00fameros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Favoritos<\/h3>\n\n\n\n<p>Na minha opini\u00e3o este seria o recurso mais \u00fatil de todos os tempos! As pessoas devem usar bastante os favoritos do \/dev\/All, certo? Vamos aos n\u00fameros. Quantos favoritos s\u00e3o criados pro ano no \/dev\/All excluindo o meu usu\u00e1rio?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-9.png\" alt=\"\" class=\"wp-image-3071\" width=\"451\" height=\"214\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-9.png 489w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-9-300x142.png 300w\" sizes=\"(max-width: 451px) 100vw, 451px\" \/><\/figure><\/div>\n\n\n\n<p>Estamos em MAR\u00c7O de 2020: <strong>ningu\u00e9m<\/strong> marcou um post sequer como favorito. Faz total sentido isto: sites como pocket realizam um trabalho muito melhor que o do \/dev\/All.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Votos positivos ou negativos<\/h3>\n\n\n\n<p>Este recurso seria muito interessante para o Feed Hunter, pois nos possibilitaria detectar, por exemplo, posts nocivos ou que n\u00e3o tivessem a ver com o nosso foco. Al\u00e9m disto me parecia ser uma funcionalidade bem interessante: saber o que os outros usu\u00e1rios pensam a respeito do que leem no site. Vamos aos n\u00fameros?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"489\" height=\"232\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-10.png\" alt=\"\" class=\"wp-image-3072\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-10.png 489w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-10-300x142.png 300w\" sizes=\"(max-width: 489px) 100vw, 489px\" \/><figcaption><br><br><\/figcaption><\/figure><\/div>\n\n\n\n<p>Olha que interessante: no primeiro ano tivemos 110 votos apenas. Da\u00ed pra frente percebe-se claramente que \u00e9 um recurso que quase ningu\u00e9m usa no site. Adivinha de quem s\u00e3o a maior parte dos votos (que foram exclu\u00eddos destes n\u00fameros)? Meus, claro. :)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Coment\u00e1rios<\/h3>\n\n\n\n<p>Este aqui doeu: a ideia seria que o \/dev\/All fosse um mini f\u00f3rum para os posts mais interessantes. Vamos aos n\u00fameros. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"489\" height=\"232\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-11.png\" alt=\"\" class=\"wp-image-3073\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-11.png 489w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-11-300x142.png 300w\" sizes=\"(max-width: 489px) 100vw, 489px\" \/><\/figure><\/div>\n\n\n\n<p>Observe que durante todo o ano de 2019 s\u00f3 houve QUATRO coment\u00e1rios. Notou tamb\u00e9m que estou excluindo o usu\u00e1rio que \u00e9 igual a 1? Aquele sou eu. :)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Busca e visualiza\u00e7\u00e3o de posts<\/h3>\n\n\n\n<p>Se ningu\u00e9m tiver acessando o \/dev\/All ent\u00e3o \u00e9 hora de fechar as portas, certo? A\u00ed que as coisas mudam e bastante. Primeiro vou mostrar aqui o n\u00famero de cliques nos posts presentes em nossa tabela de hist\u00f3rico no sistema.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"317\" height=\"302\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-12.png\" alt=\"\" class=\"wp-image-3074\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-12.png 317w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-12-300x286.png 300w\" sizes=\"(max-width: 317px) 100vw, 317px\" \/><\/figure><\/div>\n\n\n\n<p>Quase 1.7 <strong>milh\u00f5es<\/strong> de cliques durante todo este per\u00edodo. No hist\u00f3rico temos cliques que v\u00e3o de 15\/5\/2015 at\u00e9 30 de dezembro de 2019. E como est\u00e3o as coisas em 2020?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"197\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-13.png\" alt=\"\" class=\"wp-image-3075\"\/><\/figure><\/div>\n\n\n\n<p>Quase 37.000 cliques at\u00e9 o meio de mar\u00e7o. Se mantivermos o ritmo, at\u00e9 o final do ano a proje\u00e7\u00e3o \u00e9 para que tenhamos algo em torno de 178.000 cliques. Olha: as pessoas <strong>usam<\/strong> o \/dev\/All!<\/p>\n\n\n\n<p>Infelizmente n\u00f3s n\u00e3o temos o registro das buscas realizadas no site, mas consultando os logs do nosso servidor vimos que o endpoint de busca de fato <strong>\u00e9 usado<\/strong>. <\/p>\n\n\n\n<p>Observe que h\u00e1 uma redu\u00e7\u00e3o significativa no n\u00famero de cliques que o site recebe. H\u00e1 uma raz\u00e3o para isto tamb\u00e9m: n\u00f3s vacilamos na divulga\u00e7\u00e3o do site e acabamos deixando de lado sua divulga\u00e7\u00e3o em 2019. <strong>Mas em 2020 a hist\u00f3ria \u00e9 outra!<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Novo velho foco<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Leitura, leitura, leitura!<\/h3>\n\n\n\n<p>As pessoas acessam o \/dev\/All portanto para ver o que est\u00e3o escrevendo por a\u00ed. N\u00e3o pra interagir com outras pessoas. Mesmo por que para fazer isto elas precisam se cadastrar no site, o que d\u00e1 trabalho e a maioria simplesmente n\u00e3o quer. Sendo assim o foco deve ser a <strong>leitura deste material<\/strong>. E isto vai ficar claro quando voc\u00ea ver a diferen\u00e7a dos cards que apresentam os posts no \/dev\/All. Veja como \u00e9 o card no site:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"278\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-14.png\" alt=\"\" class=\"wp-image-3077\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-14.png 431w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-14-300x194.png 300w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><\/figure><\/div>\n\n\n\n<p>\u00c9 um <strong>super card!<\/strong> Voc\u00ea faz tudo nele: comenta, vota positivo ou negativo, marca como favorito e compartilha <strong>apenas no Twitter<\/strong>. Tamb\u00e9m vai te levar pro post em si (indiretamente) e tamb\u00e9m pros \u00faltimos posts publicados pelo site. Vamos ver como \u00e9 o card no projeto \/dev\/All Mobile?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"197\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-15.png\" alt=\"\" class=\"wp-image-3078\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-15.png 373w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-15-300x158.png 300w\" sizes=\"(max-width: 373px) 100vw, 373px\" \/><\/figure><\/div>\n\n\n\n<p>\u00c9 s\u00f3 isto: voc\u00ea vai <strong>diretamente<\/strong> ao post, pode ver os \u00faltimos posts publicados pelo autor e compartilhar este link <strong>com quaisquer fonte que voc\u00ea quiser<\/strong>. Note que at\u00e9 as cores s\u00e3o diferentes: o app j\u00e1 nasce com dark mode ativado como padr\u00e3o pra facilitar <strong>a leitura<\/strong>. Al\u00e9m disto apenas o essencial \u00e9 exposto.<\/p>\n\n\n\n<p>As cores tamb\u00e9m fazem sentido: elas indicam a voc\u00ea <strong>o qu\u00ea \u00e9 clic\u00e1vel<\/strong>. E as cores distintas mostram que o alvo varia. Mas n\u00f3s vamos melhorar isto no futuro, n\u00e3o fiquem tristes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">E a busca, cad\u00ea?<\/h3>\n\n\n\n<p>Se voc\u00ea acessar \/dev\/All vai notar que logo no topo a busca sempre est\u00e1 presente. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"445\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-16.png\" alt=\"\" class=\"wp-image-3079\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-16.png 842w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-16-300x159.png 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-16-768x406.png 768w\" sizes=\"(max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<p>Agora, no celular o que te interessa de <strong>imediato<\/strong> n\u00e3o \u00e9 a busca, mas sim os \u00faltimos posts encontrados. Mais que isto: voc\u00ea quer ver <strong>mais posts em um espa\u00e7o limitado<\/strong>. Ent\u00e3o como resolvemos isto? Bom: pra come\u00e7ar, a busca n\u00e3o \u00e9 exposta imediatamente. Observe o cabe\u00e7alho do app:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"371\" height=\"342\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-17.png\" alt=\"\" class=\"wp-image-3080\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-17.png 371w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-17-300x277.png 300w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/figure><\/div>\n\n\n\n<p>Voc\u00ea tem o logotipo do projeto (clicando recarrega os \u00faltimos posts) e imediatamente os \u00faltimos posts encontrados. Ent\u00e3o como fa\u00e7o pra chegar na busca? Olha o fundo da p\u00e1gina:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"135\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-18.png\" alt=\"\" class=\"wp-image-3081\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-18.png 376w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-18-300x108.png 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/figure><\/div>\n\n\n\n<p>Se voc\u00ea quiser buscar, basta clicar na lupa. A busca ser\u00e1 exposta pra voc\u00ea. Inclusive melhoramos um pouco este recurso salvando suas \u00faltimas pesquisas para que voc\u00ea possa repeti-las no futuro.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"406\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2020\/03\/image-19.png\" alt=\"\" class=\"wp-image-3082\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-19.png 380w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/image-19-281x300.png 281w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/figure><\/div>\n\n\n\n<p>Ah, quer ver o app em a\u00e7\u00e3o? Dado que o lan\u00e7amento pra iOS est\u00e1 sendo um pouco mais chato, gravei um v\u00eddeo para que todos possam ver seu funcionamento:<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"ast-oembed-container \" style=\"height: 100%;\"><iframe loading=\"lazy\" title=\"\/dev\/All Mobile - primeiro beta\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/EuRVAag2sXA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00f3ximos passos<\/h2>\n\n\n\n<p>O objetivo como disse \u00e9 documentar todo o processo de evolu\u00e7\u00e3o deste projeto. O primeiro release j\u00e1 est\u00e1 liberado no Google Play e tamb\u00e9m pelo pr\u00f3prio Expo. Vamos \u00e0s pr\u00f3ximas evolu\u00e7\u00f5es do projeto ent\u00e3o.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Tornar o \/dev\/All seu feed reader padr\u00e3o &#8211; voc\u00ea vai poder incluir seus pr\u00f3prios sites no \/dev\/All. Gosta de ler um site que n\u00e3o tem nada a ver com tecnologia? Voc\u00ea vai poder acompanhar seus \u00faltimos posts pelo \/dev\/All.<\/li><li>Receber notifica\u00e7\u00f5es &#8211; gostaria de saber quando aquele site publicou algo? O \/dev\/All vai te avisar. <\/li><li>Melhorias de usabilidade &#8211; hoje a usabilidade do \/dev\/All \u00e9 bem rudimentar. Vamos melhorar <strong>muito<\/strong> isto.<\/li><li>Talvez a inclus\u00e3o dos recursos que nunca foram usados da vers\u00e3o web no app.<\/li><li>Apresentar as principais dificuldades relacionadas \u00e0 publica\u00e7\u00e3o do app nas lojas da Apple e Google (muita coisa pra falar aqui).<\/li><li>Como usar algumas bibliotecas essenciais relativas ao React Native, como o React Navigation e o Redux.<\/li><\/ul>\n\n\n\n<p>Resumindo: o projeto \u00e9 uma justificativa pra uma s\u00e9rie de posts, e a ideia \u00e9 que voc\u00eas os acompanhem tanto no blog quanto pelo app, vendo todas as evolu\u00e7\u00f5es e entendendo por que e COMO foram implementadas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como acompanhar<\/h2>\n\n\n\n<p>Leve em considera\u00e7\u00e3o neste momento que temos um app estritamente funcional aqui. Voc\u00ea ser\u00e1 capaz de ver os \u00faltimos posts, conhecer os autores deste conte\u00fado e realizar buscas apenas. N\u00e3o h\u00e1 autentica\u00e7\u00e3o no app ainda por que os recursos que requeiram a autentica\u00e7\u00e3o do usu\u00e1rio, como puderam ver, simplesmente nunca foram usados em massa.<\/p>\n\n\n\n<p>Mas voc\u00ea pode ter o app instalado em seu celular Android (iOS em um futuro bem pr\u00f3ximo). Basta acess\u00e1-lo na loja clicando no link a seguir:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=br.com.devall.mobilern\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cmsphoto.ww-cdn.com\/superstatic\/121801\/art\/grande\/11231217-18675665.jpg?v=1487751326\" alt=\"Resultado de imagem para google play\" width=\"465\" height=\"310\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Pelo expo voc\u00ea tamb\u00e9m pode testar o projeto. N\u00f3s o publicamos no link abaixo. Mas note: este link <strong>s\u00f3 funciona para usu\u00e1rios Android<\/strong>. Infelizmente no caso do iOS apenas o dono do projeto (eu) pode acessar o app por l\u00e1.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><a href=\"https:\/\/expo.io\/@kicolobo\/devallmobile\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/7l-bQADRV4PzxAz_9GH2aozV3jkHqdlUJbOsIf4Eu_bazCi6UH_UyiAeKer2-s9GafI\" alt=\"Resultado de imagem para expo.io\" width=\"322\" height=\"157\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Publicaremos novidades tamb\u00e9m na Revista do \/dev\/All. E, claro, contamos com seu feedback, que sempre ser\u00e1 muito bem vindo!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O projeto \/dev\/All Mobile &#8211; acompanhe o desenvolvimento deste app e aprenda algo sobre React Native e todo o processo envolvido!<\/p>\n","protected":false},"author":1,"featured_media":3085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[90,101],"tags":[104,103,93,102],"class_list":["post-3069","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react","category-react-native","tag-javascript","tag-mobile","tag-react","tag-react-native"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=3069\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"O projeto \/dev\/All Mobile - acompanhe o desenvolvimento deste app e aprenda algo sobre React Native e todo o processo envolvido!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=3069\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-16T01:59:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-16T02:42:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png\" \/>\n\t<meta property=\"og:image:width\" content=\"519\" \/>\n\t<meta property=\"og:image:height\" content=\"229\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=3069\",\"name\":\"React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png\",\"datePublished\":\"2020-03-16T01:59:54+00:00\",\"dateModified\":\"2020-03-16T02:42:21+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=3069\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png\",\"width\":519,\"height\":229,\"caption\":\"O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=3069#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Native &#8211; O projeto \/dev\/All Mobile &#8211; Introdu\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=3069","og_locale":"pt_BR","og_type":"article","og_title":"React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico","og_description":"O projeto \/dev\/All Mobile - acompanhe o desenvolvimento deste app e aprenda algo sobre React Native e todo o processo envolvido!","og_url":"https:\/\/devkico.itexto.com.br\/?p=3069","og_site_name":"\/dev\/Kico","article_published_time":"2020-03-16T01:59:54+00:00","article_modified_time":"2020-03-16T02:42:21+00:00","og_image":[{"width":519,"height":229,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png","type":"image\/png"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=3069","url":"https:\/\/devkico.itexto.com.br\/?p=3069","name":"React Native - O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png","datePublished":"2020-03-16T01:59:54+00:00","dateModified":"2020-03-16T02:42:21+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=3069#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=3069"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=3069#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png","width":519,"height":229,"caption":"O projeto \/dev\/All Mobile - Introdu\u00e7\u00e3o"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=3069#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"React Native &#8211; O projeto \/dev\/All Mobile &#8211; Introdu\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2020\/03\/devall_mobile_post.png","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/3069"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3069"}],"version-history":[{"count":5,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/3069\/revisions"}],"predecessor-version":[{"id":3087,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/3069\/revisions\/3087"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/3085"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}