<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4730241577751915174</atom:id><lastBuildDate>Sun, 15 Feb 2026 10:32:53 +0000</lastBuildDate><category>Notícias</category><category>S40</category><category>Aplicativos</category><category>Nokia</category><category>Android</category><category>Smartphones</category><category>Windows Phone</category><category>Samsung</category><category>Microsoft</category><category>Symbian</category><category>iOS</category><category>Apple</category><category>BlackBerry</category><category>Jogos</category><category>Tablets</category><category>Windows</category><category>Rumores</category><category>UCWeb</category><category>Temas</category><category>UC Browser</category><category>Google</category><category>Asha</category><category>Destaque</category><category>Dicas</category><category>LG</category><category>Motorola</category><category>HTC</category><category>JogosAndroid</category><category>Linguagens de Programação</category><category>Sony</category><category>Golang</category><category>MeeGo</category><category>SOLID</category><category>Tutoriais</category><category>Xiaomi</category><category>Bada</category><category>Emuladores</category><category>Go</category><category>Amazon</category><category>Firefox</category><category>Alcatel</category><category>Huawei</category><category>Jolla</category><category>Mozilla</category><category>Opera</category><category>Pocophone F1</category><category>Reviews</category><category>Acer</category><category>Cópia</category><category>Facebook</category><category>GCam</category><category>Google Câmera</category><category>HP</category><category>Intel</category><category>MIUI</category><category>Novidades</category><category>Plágio</category><category>Redmi 2</category><category>Redmi 2 Pro</category><category>Semp Toshiba</category><category>Smartwatches</category><category>Snapchat</category><category>Tim</category><category>Tizen</category><category>TutoriaisAndroid</category><category>Vivo</category><category>WebOS</category><title>TecnoFator </title><description>Conectado à tecnologia móvel</description><link>https://www.tecnofator.com.br/</link><managingEditor>noreply@blogger.com (Wali Queiroz)</managingEditor><generator>Blogger</generator><openSearch:totalResults>462</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-3120866853295889011</guid><pubDate>Wed, 26 Jun 2024 17:34:00 +0000</pubDate><atom:updated>2024-06-26T14:34:40.790-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Go</category><category domain="http://www.blogger.com/atom/ns#">Golang</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">SOLID</category><title>Princípios SOLID em GoLang - Dependency Inversion Principle (DIP)</title><description>&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Olá, pessoas!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Estou de volta para concluir nossa série de artigos sobre SOLID, apresentando o princípio que tem o impacto mais significativo nos testes unitários em Go: O Princípio da Inversão de Dependência.&amp;nbsp; Para ver os artigos onde detalho os outros, acesse:&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html&quot;&gt;Princípios SOLID em GoLang - Single Responsability Principle (SRP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-openclosed.html&quot;&gt;Princípios SOLID em GoLang - Open/Closed Principle (OCP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/07/principios-solid-em-golang-liskov.html&quot;&gt;Princípios SOLID em GoLang - Liskov Substitution Principle (LSP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/08/principios-solid-em-golang-interface.html&quot;&gt;Princípios SOLID em GoLang - Interface Segregation Principle (ISP) &lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju2PZ0qHCIaQE53LyMPzUKhJWduuaMdLFjb3R1Vwo8UAnskciEF_XM2xT5MQ_CHl_IjMOBSa0EKP31DK52V6pc3i4b7pvhsCC2uRisqKJ91IUkOmJSiscDz17Q0ebJxbvP-1LcO75KW3QCBYOeZ7QrFgwvJU8GMuyyyShKkCyyWr2_3XHXlaB9CljPu8A/s3154/golang%20DIP%20tecnofator.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2480&quot; data-original-width=&quot;3154&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju2PZ0qHCIaQE53LyMPzUKhJWduuaMdLFjb3R1Vwo8UAnskciEF_XM2xT5MQ_CHl_IjMOBSa0EKP31DK52V6pc3i4b7pvhsCC2uRisqKJ91IUkOmJSiscDz17Q0ebJxbvP-1LcO75KW3QCBYOeZ7QrFgwvJU8GMuyyyShKkCyyWr2_3XHXlaB9CljPu8A/w400-h315/golang%20DIP%20tecnofator.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como desenvolvedor, você já se deparou com softwares altamente acoplados, onde as regras de negócio se misturam com detalhes de apresentação e recursos de bibliotecas externas? Quando é necessário substituir ou alterar uma dessas dependências, muitas partes da aplicação precisam ser modificadas. E aí está uma coisa que todo dev odeia.&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Aqui entra o DIP, uma luz no fim do túnel para esse problema. Segundo Robert C. Martin, seu formulador:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;“Os módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações. Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.”&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mas o que são módulos de alto e baixo nível?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Os módulos de alto nível, nesse contexto, são os componentes mais próximos das regras de negócio da aplicação, enquanto os de baixo nível são as ferramentas que usamos para executar essas regras, eles escondem detalhes técnicos sobre diferentes integrações de infraestrutura. Por exemplo, poderia ser uma struct que contém a lógica para recuperar dados do banco de dados, enviar uma mensagem SQS, buscar um valor do Redis ou enviar uma solicitação HTTP para uma API externa.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O DIP sugere que as regras de negócio não devem interagir diretamente com os recursos utilizados para sua execução. A comunicação deve ocorrer através de interfaces, definidas pelo negócio, e as ferramentas externas ou detalhes de implementação são encapsulados em classes que implementam essas interfaces. Isso pode aumentar um pouco a base de código, mas vale a pena, pois torna o sistema mais flexível e fácil de modificar.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos aos exemplos práticos com Go.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
  
&lt;script src=&quot;https://gist.github.com/waliqueiroz/9ed9b0bef84fbedeac7875d6f619cd7b.js&quot;&gt;&lt;/script&gt;

&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No trecho de código acima definimos um componente de alto nível, &lt;b&gt;TaskService&lt;/b&gt;. Esta estrutura tem um método &lt;b&gt;ChangeStatus&lt;/b&gt;, responsável por mudar o estado da tarefa, que espera o ID e um novo estado. Observem que nosso componente de alto nível depende diretamente do componente de baixo nível &lt;b&gt;sql.DB&lt;/b&gt;. Essa dependência direta aumenta o acoplamento entre componentes, tornando o código mais difícil de manter e evoluir. A substituição do banco de dados ou a introdução de um repositório diferente exige modificações no TaskService, o que viola &lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html&quot; target=&quot;_blank&quot;&gt;o princípio da responsabilidade única&lt;/a&gt;. Também limita a capacidade de reutilizar o TaskService em diferentes contextos, onde uma implementação diferente de persistência pode ser necessária. Além disso, sem definir uma conexão real com o banco de dados, não podemos inicializar nossa estrutura de caso de uso. Tal anti-padrão impacta diretamente nossos testes unitários em Go. Vejamos:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/c7a018cb0d9da49551872cb8270a1f87.js&quot;&gt;&lt;/script&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Em contraste com algumas linguagens, como PHP ou Java, não podemos simplesmente criar mocks de &quot;qualquer coisa&quot; em Go. A criação de mocks aqui depende do uso de interfaces, para as quais podemos definir uma implementação simulada, mas não podemos fazer o mesmo para structs. Portanto, não podemos criar um mock de sql.DB, pois é uma struct. Nesse caso, precisamos criar um mock em um nível mais baixo, instanciando uma conexão falsa, o que podemos conseguir usando o pacote &lt;a href=&quot;https://github.com/DATA-DOG/go-sqlmock&quot; target=&quot;_blank&quot;&gt;SQLMock&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No entanto, mesmo essa abordagem não é nem confiável nem eficiente para testes. Qualquer mudança dentro do banco de dados requer que adaptemos também os testes unitários. Além dos problemas com testes, temos um dilema ainda maior: o que acontecerá se decidirmos mudar o armazenamento para algo diferente, como MongoDB? Nesse cenário, se continuarmos usando essa implementação de TaskService, isso levará a inúmeras refatorações.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: justify;&quot;&gt;Como aplicar a inversão de dependências&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;“Os módulos de alto nível não devem depender de módulos de baixo nível.&lt;b&gt; Ambos devem depender de abstrações&lt;/b&gt;. Abstrações não devem depender de detalhes. &lt;b&gt;Detalhes devem depender de abstrações.&lt;/b&gt;”&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos revisitar a diretriz original do Princípio da Inversão de Dependência e focar nas frases em negrito. Elas nos fornecem algumas orientações para o processo de refatoração. Precisamos definir uma abstração (uma interface) da qual nossos componentes, TaskService (alto nível) e sql.DB (baixo nível), dependerão. Esta abstração não deve estar vinculada a nenhum detalhe técnico, somente à entidades que compõem o cerne da regra de negócio. Vamos dar uma olhada no código a seguir:&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;
  
&lt;script src=&quot;https://gist.github.com/waliqueiroz/3a5bbe988fb207a4082e17e104085d10.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/0b4fb7f06c7de0b7c01cff3200b38525.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Na nova estrutura de código, adicionamos a interface &lt;b&gt;TaskRepository &lt;/b&gt;como um componente que depende da estrutura &lt;b&gt;Task&lt;/b&gt;. Task não reflete diretamente o esquema do banco de dados; em vez disso, usamos a estrutura &lt;b&gt;TaskModel&lt;/b&gt; para essa finalidade. Também temos uma função &lt;b&gt;mapTaskModelToTask&lt;/b&gt;&amp;nbsp;que facilita o mapeamento para a estrutura Task real.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nesta configuração, o componente de alto nível depende de uma abstração, pois contém um campo do tipo TaskRepository. Para fazer o componente de baixo nível depender da mesma abstração, aplicamos o &lt;a href=&quot;https://refactoring.guru/design-patterns/adapter/go/example&quot; target=&quot;_blank&quot;&gt;pattern Adapter&lt;/a&gt;, fazendo com que sql.DB sirva como parte dos detalhes em &lt;b&gt;taskSQLRepository&lt;/b&gt;, que atua como a implementação concreta de TaskRepository. Podemos definir quantas implementações para TaskRepository forem necessárias, como taskFileRepository ou taskMongoDBRepository.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Agora nossas estruturas dependem de interfaces e, se precisarmos alterar nossas dependências, podemos definir diferentes implementações e injetá-las. Essa técnica está alinhada com o padrão de &lt;b&gt;Injeção de Dependência (DI)&lt;/b&gt;, uma prática comum em vários frameworks.&amp;nbsp;A diferença entre injeção de dependência e inversão de dependência é sutil, mas crucial. O DIP é um princípio de design que orienta o desacoplamento de módulos de alto nível dos de baixo nível, enquanto a DI é uma técnica de implementação usada para realizar esse desacoplamento, injetando dependências em vez de criá-las internamente.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Agora, vamos examinar como essa refatoração afeta nossos testes unitários:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
  
&lt;script src=&quot;https://gist.github.com/waliqueiroz/2b67d36d4626684868a412575ad81dc5.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Após essa mudança, fica fácil criar mocks. Essa forma de fazer as coisas torna o processo de teste mais simples e elegante. Agora, podemos facilmente usar diferentes versões do TaskRepository para testar diferentes situações e controlar com precisão os resultados dos testes. Mas você pode estar se perguntando: &quot;Eu tenho que fazer isso manualmente?&quot; A resposta é não. No exemplo, criei mocks manualmente apenas para facilitar o entendimento, mas na prática, você pode usar bibliotecas como&amp;nbsp;&lt;a href=&quot;https://github.com/vektra/mockery&quot; target=&quot;_blank&quot;&gt;Mockery&lt;/a&gt;&amp;nbsp;e &lt;a href=&quot;https://github.com/uber-go/mock&quot; target=&quot;_blank&quot;&gt;GoMock&lt;/a&gt; para gerar automaticamente o código desses mocks com base nas interfaces, o que acelera bastante o desenvolvimento.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: justify;&quot;&gt;Considerações finais&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: justify;&quot;&gt;Aumento de Código e Manutenção&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ao aplicar o Princípio da Inversão de Dependência (DIP), é natural que o código aumente em termos de quantidade. A necessidade de criar interfaces e classes adicionais para cumprir o princípio pode parecer um overhead inicialmente. No entanto, essa abordagem traz inúmeros benefícios a longo prazo. O código torna-se mais modular e cada componente se torna independente dos detalhes de implementação dos outros. Isso facilita a manutenção e a evolução do sistema, pois mudanças em uma parte do código não requerem alterações em outras partes, minimizando o risco de introduzir novos bugs.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: justify;&quot;&gt;Facilidade de Teste&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Outro benefício crucial de seguir o DIP é a facilidade de testar o código. Quando dependências são abstraídas através de interfaces, é simples substituir implementações reais por mocks ou stubs nos testes unitários. Isso permite que cada parte do sistema seja testada de maneira isolada, garantindo uma cobertura de testes mais eficaz e uma detecção precoce de falhas.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: justify;&quot;&gt;Relevância em Arquiteturas em Camadas&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Em arquiteturas modernas, como a Arquitetura Limpa e a Arquitetura Hexagonal, o DIP não é apenas uma recomendação, mas uma necessidade para garantir que o sistema seja robusto, flexível e preparado para mudanças futuras.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;E assim concluímos nossa série sobre SOLID em Golang! Espero que tenha sido útil para vocês.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Até a próxima!&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Referências:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://blog.cleancoder.com/&quot;&gt;Clean Coder Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://balta.io/blog/dependency-inversion-principle#:~:text=O%20princ%C3%ADpio%20da%20invers%C3%A3o%20de,entre%20as%20camadas%20do%20sistema.&quot;&gt;Dependency Inversion Principle | balta.io&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://imasters.com.br/codigo/solid-de-verdade-dependency-inversion-principle-dip&quot;&gt;SOLID de verdade – Dependency Inversion Principle (DIP) | iMasters&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2024/06/principios-solid-em-golang-dependency.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju2PZ0qHCIaQE53LyMPzUKhJWduuaMdLFjb3R1Vwo8UAnskciEF_XM2xT5MQ_CHl_IjMOBSa0EKP31DK52V6pc3i4b7pvhsCC2uRisqKJ91IUkOmJSiscDz17Q0ebJxbvP-1LcO75KW3QCBYOeZ7QrFgwvJU8GMuyyyShKkCyyWr2_3XHXlaB9CljPu8A/s72-w400-h315-c/golang%20DIP%20tecnofator.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-4223864495335407241</guid><pubDate>Mon, 28 Aug 2023 14:39:00 +0000</pubDate><atom:updated>2023-08-28T11:39:45.977-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Go</category><category domain="http://www.blogger.com/atom/ns#">Golang</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">SOLID</category><title>Princípios SOLID em GoLang - Interface Segregation Principle (ISP)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;E aí, galerinha!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Hoje vamos falar sobre o quarto princípio SOLID: o Interface Segregation Principle. Para ver os artigos onde detalho os 3 primeiros, acesse:&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html&quot;&gt;Princípios SOLID em GoLang - Single Responsability Principle (SRP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-openclosed.html&quot;&gt;Princípios SOLID em GoLang - Open/Closed Principle (OCP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/07/principios-solid-em-golang-liskov.html&quot;&gt;Princípios SOLID em GoLang - Liskov Substitution Principle (LSP)&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQCtXybjHqtyc8inM3RNgM-uhdvM4wHgxO-M3b1BiEvftdP8ka9xYUCFF-FGNme5BtfDBqmlJ3Al2DQQgDbzvBmY-UTO5cRA6V5ZSDUorUmQQID5Qb32TP66NNChJWKQPWAoJ0Mwqnao9ovwjVsAtvoGYtOfc4dxi8QgvjtfMbGgjltDjO4vFdfORrvg/s1111/solid_isp_golang.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1111&quot; data-original-width=&quot;1089&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQCtXybjHqtyc8inM3RNgM-uhdvM4wHgxO-M3b1BiEvftdP8ka9xYUCFF-FGNme5BtfDBqmlJ3Al2DQQgDbzvBmY-UTO5cRA6V5ZSDUorUmQQID5Qb32TP66NNChJWKQPWAoJ0Mwqnao9ovwjVsAtvoGYtOfc4dxi8QgvjtfMbGgjltDjO4vFdfORrvg/w314-h320/solid_isp_golang.png&quot; width=&quot;314&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ISP&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O Interface Segregation Principle ou Princípio da Segregação de Interfaces é bem simples de ser compreendido. Ele postula que &quot;nenhum cliente deve ser forçado a depender de métodos que não utiliza&quot;. &quot;Cliente&quot;, nesse contexto, não são os usuários finais do software, mas os módulos que dependem de uma interface dentro do sistema.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Em outras palavras, o princípio prega que nossas interfaces devem ser concisas, de forma que não precisemos fazer com que as classes ou structs implementem métodos apenas para &quot;respeitar o contrato&quot;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Semelhante ao Princípio da Responsabilidade Única, o objetivo do ISP é reduzir os efeitos colaterais e a frequência das alterações necessárias, dividindo o software em várias partes independentes.&lt;/div&gt;&lt;a href=&quot;https://www.blogger.com/blog/post/edit/4730241577751915174/2872490207698722903#&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: justify;&quot;&gt;Violando o ISP&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ninguém quer escrever código ruim, mas manter princípios de design nem sempre é fácil ou intuitivo. Com o crescimento do sistema em usuários e funcionalidades, cada mudança se torna um desafio. Às vezes, a solução rápida é adicionar um novo método a uma interface existente, mesmo que não tenha relação direta. Isso pode resolver problemas quando o requisito é o prazo (o que a gente sabe que acontece&amp;nbsp;&lt;span color=&quot;var(--tw-prose-body)&quot; face=&quot;Söhne, ui-sans-serif, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;&quot; style=&quot;font-size: 1rem; text-align: left; white-space-collapse: preserve;&quot;&gt;⛓️💼💔&lt;/span&gt;), mas polui a interface e gera contratos confusos com métodos de diferentes responsabilidades.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos dar uma olhada em um exemplo onde esse tipo de equívoco poderia acontecer.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Começaremos definindo uma interface chamada &lt;b&gt;Phone&lt;/b&gt; que representa um telefone celular com funcionalidades básicas, como discar num teclado físico e fazer e receber chamadas.&lt;br /&gt;&lt;/div&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/608f967ed96ac7ba4b4ae4e574a8a2a7.js&quot;&gt;&lt;/script&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;


&lt;div style=&quot;text-align: justify;&quot;&gt;Nesta etapa, temos uma interface clara e uma implementação para telefones simples. Tudo funciona bem até aqui.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vamos supor que agora o sistema precise acomodar funcionalidades de smartphones. Uma abordagem inicial para lidar com isso poderia ser incluir todos os métodos de smartphones na interface do telefone básico, como demonstrado abaixo:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/367cd1982257a4407fdebe831045ce4f.js&quot;&gt;&lt;/script&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como a interface &lt;b&gt;Phone&lt;/b&gt;  mudou e mais métodos foram adicionados, todos os seus clientes precisam ser atualizados. O problema é que implementá-los é indesejado e pode levar a muitos efeitos colaterais.&amp;nbsp;Neste ponto, estamos forçando a struct SimplePhone a implementar métodos como &lt;b&gt;TakePhoto()&lt;/b&gt; e &lt;b&gt;SendEmail()&lt;/b&gt;, mesmo que eles sejam irrelevantes para esse tipo de telefone.&amp;nbsp;O mesmo ocorre com a struct AdvancedPhone, que implementa o método&amp;nbsp;&lt;b&gt;DialPhysicalKeypad() &lt;/b&gt;mesmo que smartphones geralmente não o tenham teclado físico. Nesse cenário, as implementações têm que lidar com as funcionalidades não suportadas lançando &lt;b&gt;panics &lt;/b&gt;(em outras linguagens a gente vê bastante o uso de exceções nessas situações).&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para evitar a interrupção abrupta de um caso de uso, o código que utiliza essas implementações (como a função &lt;b&gt;performPhoneActions&lt;/b&gt;) teria que ser modificado para verificar a capacidade do telefone antes de chamar cada método. Isso funciona? Funciona! Mas não é nada escalável e aumenta bastante a chance de introduzirmos um bug mexendo em código que já existia sem necessidade. Além disso, como já vimos, essa abordagem quebra pelo menos mais dois princípios SOLID, o OCP e o LSP.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: justify;&quot;&gt;Aplicando o Interface Segregation Principle&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Na seção anterior poluímos intencionalmente a interface Phone e violamos o ISP. Vejamos como corrigi-lo.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Observando o código com problemas, podemos ver que os métodos &lt;b&gt;MakeCall&lt;/b&gt; e &lt;b&gt;ReceiveCall&lt;/b&gt; são necessários em ambas as implementações. Por outro lado, &lt;b&gt;DialPhysicalKeypad&lt;/b&gt; só é necessário em telefones básicos,  e  &lt;b&gt;TakePhoto&lt;/b&gt;&amp;nbsp;e &lt;b&gt;SendEmail&lt;/b&gt; são apenas para Smartphones. Com isso resolvido, vamos dividir as interfaces e aplicar o ISP.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Assim, agora temos uma interface comum:&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/aa27bb54428b761a232ecf1cee28c374.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
Mais duas para os respectivos tipos de telefone:&lt;div&gt;&amp;nbsp; 
&lt;br /&gt; 
&lt;script src=&quot;https://gist.github.com/waliqueiroz/b1ab0f48edbdae2dc091d46d33db90f5.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;E as respectivas implementações:&lt;/div&gt;&lt;div&gt;&amp;nbsp;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/9dfb4feb2949bed72b90c571ec319dcf.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Com essa abordagem, conseguimos corrigir muitos problemas do código anterior. Agora, diferentes tipos de telefones têm contratos que fazem sentido para eles. Não precisamos mais nos preocupar com métodos desnecessários ou pânicos. E se quisermos adicionar um novo tipo de telefone ou funcionalidade, podemos fazer isso sem estragar o que já estava funcionando.&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: justify;&quot;&gt;Onde aplicar no mundo real?&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Imagine que você está desenvolvendo uma aplicação de comércio eletrônico que precisa lidar com diferentes gateways de pagamento para processar transações. Cada gateway tem suas próprias capacidades e limitações. Como você pode garantir que sua aplicação seja flexível e adaptável a essas diferenças?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Inicialmente, você pode criar uma interface única que engloba todas as operações possíveis:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/1c776a30fe643dafabb649967842e6dd.js&quot;&gt;&lt;/script&gt;

&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No entanto, a disponibilidade de cada recurso pode variar de uma solução para outra. Alguns gateways de pagamento podem ser mais limitados em termos de funcionalidades e recursos.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para aplicar o ISP nesse cenário, é sensato separar as operações em interfaces mais específicas, de acordo com a disponibilidade de recursos em cada gateway. Isso permite que você modele de forma precisa o comportamento esperado para cada serviço de pagamentos.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/a799951429d88ebdbbbab0714b3a5d1a.js&quot;&gt;&lt;/script&gt;

&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Formas práticas de seguir o ISP&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Antes que vocês saiam por aí quebrando toda e qualquer interface em várias de um método só, lembrem-se: não é assim que a banda toca. A depender do seu contexto, pode ser que faça sentido ter uma interface grande. No mundo das interfaces, ao contrário do que podemos ser levados a pensar quando estamos começando a estudar boas práticas, não é a fragmentação que importa, é a coesão. Em vez de se perguntar se suas classes/structs estão lidando com interfaces &quot;inchadas&quot;, questionem: &quot;Esses métodos fazem sentido juntos?&quot;. Se a resposta for um enigmático &quot;não&quot;, refatore o quanto antes!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;That&#39;s all, folks!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Refrências:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.baeldung.com/java-interface-segregation&quot;&gt;Baeldung - Interface Segregation Principle in Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://stackify.com/interface-segregation-principle/&quot;&gt;SOLID Design Principles Explained: Interface Segregation with Code Examples&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2023/08/principios-solid-em-golang-interface.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQCtXybjHqtyc8inM3RNgM-uhdvM4wHgxO-M3b1BiEvftdP8ka9xYUCFF-FGNme5BtfDBqmlJ3Al2DQQgDbzvBmY-UTO5cRA6V5ZSDUorUmQQID5Qb32TP66NNChJWKQPWAoJ0Mwqnao9ovwjVsAtvoGYtOfc4dxi8QgvjtfMbGgjltDjO4vFdfORrvg/s72-w314-h320-c/solid_isp_golang.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-2872490207698722903</guid><pubDate>Tue, 04 Jul 2023 11:00:00 +0000</pubDate><atom:updated>2023-07-07T14:25:45.971-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Go</category><category domain="http://www.blogger.com/atom/ns#">Golang</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">SOLID</category><title>Princípios SOLID em GoLang - Liskov Substitution Principle (LSP)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;Hoje vamos falar sobre o Liskov Substitution Principle. Para ver os artigos anteriores da série acesse:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html&quot;&gt;Princípios SOLID em GoLang - Single Responsability Principle (SRP)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-openclosed.html&quot; style=&quot;box-sizing: border-box; display: block; line-height: 26px; margin: 0px 0px 5px; outline: 0px; padding: 10px 0px; touch-action: manipulation; transition: all 0.2s ease 0s;&quot;&gt;Princípios SOLID em GoLang - Open/Closed Principle (OCP)&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQLnyOOvis3ciiGOpbgFZ-XUIaNodS70T-Jy5zAD0ua9SnBfmekIGg5Qw2wyqlWfW6CAtmwDzWfUpEFow5ZoFhiqWNl2hyuVw86lsaf0VqGltnL1h0Hh-aYNdMhE41-k-paKrbGogjPB6SV4wTA3GEit_JIbyYDVJu8QtRQOWHxUYtKrOd1iU-bL3oReI/s2689/golang%20lsp%20tecnofator%202.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2641&quot; data-original-width=&quot;2689&quot; height=&quot;629&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQLnyOOvis3ciiGOpbgFZ-XUIaNodS70T-Jy5zAD0ua9SnBfmekIGg5Qw2wyqlWfW6CAtmwDzWfUpEFow5ZoFhiqWNl2hyuVw86lsaf0VqGltnL1h0Hh-aYNdMhE41-k-paKrbGogjPB6SV4wTA3GEit_JIbyYDVJu8QtRQOWHxUYtKrOd1iU-bL3oReI/w640-h629/golang%20lsp%20tecnofator%202.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;LSP&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Dentre os princípios SOLID, o LSP é o que tem a definição formal mais complicada. Por outro lado, é o de mais simples execução, porque o conceito é intuitivo e você acaba aplicando sem muito esforço cognitivo na maioria das vezes.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O princípio foi definido por Barbara Liskov da seguinte forma:&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;i&gt;&quot;Se q(x) é uma propriedade demonstrável dos objetos x de tipo T. Então q(y) deve ser verdadeiro para objetos y de tipo S onde S é um subtipo de T.&quot;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Complicado, né?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Mas, no fim das contas, essa definição matemática pode ser traduzida na seguinte sentença:&amp;nbsp;&quot;Se um ObjetoX é uma instância da ClasseX, e um ObjetoY é uma instância da ClasseY, e a ClasseY herda da ClasseX— se usarmos ObjetoY em vez de ObjetoX em algum lugar do código, a funcionalidade não deve ser interrompida.&quot;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Como podemos ver, esse é um princípio que parece estar diretamente ligado aos conceitos de classe e herança, e nenhum dos dois está presente no Go. Então como podemos aplicar?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Já vi alguns artigos explicando o LSP em GoLang utilizando os recursos de composição (embedding) da linguagem, mas, do meu ponto de vista, não é uma boa abordagem, pois a composição não permite substituir a estrutura pai pela estrutura filha. Observem:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/65527896a7b61845714a50a8064d7aab.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;A definição do princípio leva muitos (eu incluso por bastante tempo) a pensar que se trata de somente de herança, mas na verdade trata-se de subtipagem. Logo, em Go, o LSP é melhor expresso através do uso de &lt;b&gt;interfaces&lt;/b&gt; e &lt;b&gt;polimorfismo&lt;/b&gt;. Vamos ao próximo exemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/84db2ab7c1e668d5c6208a06b75c0890.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;Neste cenário, fizemos o método&amp;nbsp;&lt;b&gt;Refuel()&lt;/b&gt; na struct &lt;b&gt;ElectricCar&lt;/b&gt;&amp;nbsp;lançar um &lt;b&gt;panic&lt;/b&gt; indicando que carros elétricos não podem ser abastecidos com gasolina.&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Ao chamar a função &lt;b&gt;PerformVehicleActions()&lt;/b&gt; com uma instância de &lt;b&gt;ElectricCar&lt;/b&gt;, ocorre uma quebra óbvia do princípio de substituição de Liskov. Embora &lt;b&gt;ElectricCar&lt;/b&gt; implemente o método &lt;b&gt;Refuel()&lt;/b&gt; definido pela interface &lt;b&gt;Vehicle&lt;/b&gt;, a implementação específica do carro elétrico interrompe a execução do programa.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No exemplo, vimos a quebra da funcionalidade da interface em vez de seguir a expectativa. E essa é a sacada do LSP em Go: &lt;b&gt;Uma struct não deve violar o propósito da interface.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Poderíamos alterar o design de modo que o cliente do método&lt;b&gt; Refuel()&lt;/b&gt; tenha que estar ciente de um possível erro ao chamá-lo. No entanto, isso significaria que os clientes teriam que ter conhecimento especial do comportamento inesperado do subtipo. Isso começa a quebrar o &lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-openclosed.html&quot;&gt;Open/Closed Principle&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/ee78d79fe6408c6ce736cac76982a5ba.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;Em resumo, toda violação do LSP se torna uma violação do OCP. Então, como corrigir?&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Uma possível modificação para respeitar o princípio seria mudar a interface &lt;b&gt;Vehicle&lt;/b&gt; para ter um método mais genérico, como &lt;b&gt;Recharge&lt;/b&gt;, em vez de &lt;b&gt;Refuel&lt;/b&gt;. Assim, cada subtipo pode implementar esse método de acordo com a sua fonte de energia, seja gasolina ou eletricidade.&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Outra possível modificação seria criar uma interface separada para os veículos elétricos, como &lt;b&gt;ElectricVehicle&lt;/b&gt;, que tenha um método específico para recarregar a bateria, como &lt;b&gt;RechargeBattery&lt;/b&gt;. Assim, o &lt;b&gt;ElectricCar&lt;/b&gt; implementaria essa interface e não haveria conflito com o método &lt;b&gt;Refuel&lt;/b&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Aqui está um exemplo de código usando a segunda modificação:&lt;/div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/6337ea413e30e8403c41fcce37782c22.js&quot;&gt;&lt;/script&gt;
  
&lt;div style=&quot;text-align: justify;&quot;&gt;Depois disso tudo vocês podem estar pensando: &quot;Ah, Wali, com código de mentirinha é tudo muito fácil, quero ver no mundo real.&quot; Então vejamos um exemplo de aplicação do LSP no mudo real:&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/c1baa398451724214f2fd9d7af2f61f7.js&quot;&gt;&lt;/script&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Neste exemplo, temos a definição da interface &lt;b&gt;Cache&lt;/b&gt;, com os métodos &lt;b&gt;Get&lt;/b&gt;, &lt;b&gt;Set&lt;/b&gt; e &lt;b&gt;Delete&lt;/b&gt;, e as implementações &lt;b&gt;RedisCache&lt;/b&gt; e &lt;b&gt;MemoryCache.&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;O &lt;b&gt;UserService&lt;/b&gt; utiliza a interface &lt;b&gt;Cache&lt;/b&gt; como dependência, permitindo a troca entre o &lt;b&gt;RedisCache&lt;/b&gt; e o &lt;b&gt;MemoryCache&lt;/b&gt; sem problemas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No cenário apresentado, o LSP poderia ser quebrado se a implementação específica de algum método de Cache na struct derivada não cumprisse as mesmas garantias e pré-condições definidas pela interface.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Por exemplo, se a implementação do método Get em MemoryCache lançasse um erro diferente ou não respeitasse a garantia de retornar um erro quando a chave não é encontrada, isso quebraria o LSP. Da mesma forma, se a implementação do método Set em RedisCache não armazenasse corretamente os valores no Redis, ou a implementação do método Delete não excluísse corretamente as chaves, isso também violaria o LSP.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Isso é tudo, pessoal! Até a próxima!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Referências:&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html&quot;&gt;Clean Coder Blog - SOLID Relevance&lt;/a&gt;&lt;a href=&quot;https://levelup.gitconnected.com/practical-solid-in-golang-liskov-substitution-principle-e0d2eb9dd39&quot;&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://levelup.gitconnected.com/practical-solid-in-golang-liskov-substitution-principle-e0d2eb9dd39&quot;&gt;Practical SOLID in Golang: Liskov Substitution Principle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://levelup.gitconnected.com/practical-solid-in-golang-liskov-substitution-principle-e0d2eb9dd39&quot;&gt;Baeldung - Liskov Substitution Principle in Java&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;https://www.baeldung.com/java-liskov-substitution-principle#:~:text=The%20Liskov%20Substitution%20Principle,-4.1.&amp;amp;text=Barbara%20Liskov%2C%20defining%20it%20in,is%20a%20subtype%20of%20T&quot;&gt;&lt;/a&gt;</description><link>https://www.tecnofator.com.br/2023/07/principios-solid-em-golang-liskov.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQLnyOOvis3ciiGOpbgFZ-XUIaNodS70T-Jy5zAD0ua9SnBfmekIGg5Qw2wyqlWfW6CAtmwDzWfUpEFow5ZoFhiqWNl2hyuVw86lsaf0VqGltnL1h0Hh-aYNdMhE41-k-paKrbGogjPB6SV4wTA3GEit_JIbyYDVJu8QtRQOWHxUYtKrOd1iU-bL3oReI/s72-w640-h629-c/golang%20lsp%20tecnofator%202.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-460848203821972634</guid><pubDate>Tue, 21 Mar 2023 01:34:00 +0000</pubDate><atom:updated>2023-03-20T22:34:52.579-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Go</category><category domain="http://www.blogger.com/atom/ns#">Golang</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">SOLID</category><title>Princípios SOLID em GoLang - Open/Closed Principle (OCP)</title><description>&lt;p style=&quot;text-align: justify;&quot;&gt;Dando continuidade à série sobre os princípios SOLID em Go, hoje vamos falar sobre o Open/Closed Principle (OCP). Para ler o primeiro artigo acesse:&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html&quot;&gt;Princípios SOLID em GoLang - Single Responsability Principle (SRP)&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2tI-CmP8L9ahIT-yRPzt9QUo2kblcXcOGjyTHdOkqcZDBv9W6tgaigdABI8EQSGZFmk1iCE8alFjckrIqKyWt70FZLQZ7jh7m3jdxMtDy4SO-n6fRLFazJY7_zyQAwQtZAmB9tCLSSWdivflrpT6ZDNmJtwtV5stdEowt7WQyhoNqj7GyqrPk5tGy/s1251/golang-open-closed-principle.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1188&quot; data-original-width=&quot;1251&quot; height=&quot;304&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2tI-CmP8L9ahIT-yRPzt9QUo2kblcXcOGjyTHdOkqcZDBv9W6tgaigdABI8EQSGZFmk1iCE8alFjckrIqKyWt70FZLQZ7jh7m3jdxMtDy4SO-n6fRLFazJY7_zyQAwQtZAmB9tCLSSWdivflrpT6ZDNmJtwtV5stdEowt7WQyhoNqj7GyqrPk5tGy/s320/golang-open-closed-principle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;A definição formal do OCP diz que &quot;um artefato de software deve estar aberto para extensão, mas fechado para modificações&quot;.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Este é provavelmente o princípio mais polêmico e difícil de assimilar logo de cara, afinal de contas, software é evolutivo, é incomum que um programa seja desenvolvido uma vez e nunca mais modificado. Então onde esse princípio tenta chegar?&lt;p&gt;&lt;/p&gt;&lt;/div&gt;

&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Se uma nova funcionalidade precisa ser adicionada, deve ser possível implementá-la criando uma nova classe, módulo ou função, sem precisar modificar o código de outras partes do sistema. Isso significa que as entidades de software devem ser projetadas de forma modular e coesa, com interfaces claras e contratos bem definidos.&lt;/div&gt;
&lt;br /&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;Em resumo, o &quot;fechado para modificações&quot; do OCP não significa que o software nunca pode ser modificado, mas sim que as modificações devem ser realizadas de forma consciente e planejada, sem gerar impactos negativos.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Agora vamos sair da teoria e ver como isso funciona na prática com GoLang. Vejamos primeiro um exemplo mais lúdico. Observem o código abaixo:&lt;/div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/2cc0f893db51169c73fdffe517b52daa.js&quot;&gt;&lt;/script&gt;

&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;A &lt;i&gt;struct&amp;nbsp;&lt;/i&gt;&lt;b&gt;Calculator &lt;/b&gt;possui um método &lt;b&gt;sumAreas &lt;/b&gt;que define como parâmetro a variável&amp;nbsp;&lt;b&gt;shapes&lt;/b&gt;, que pode ser qualquer coisa. Linhas a frente podemos encontrar um&lt;i&gt; switch-case&lt;/i&gt; para mapear cada tipo possível.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O que aconteceria se definíssemos uma forma &lt;b&gt;Triangle &lt;/b&gt;e quiséssemos que a área dela fosse somada também? Teríamos que modificar a função sumAreas para mapeá-la e realizar o cálculo, certo? Por esse motivo, o código acima quebra o Open/Closed Principle; para cada nova forma, uma modificação é necessária em sumAreas. Isso pode afetar negativamente a manutenibilidade do código, aumentando a complexidade, o risco de erros e a dificuldade de alterações futuras.&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Então como resolver?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Podemos delegar a responsabilidade do cálculo das áreas às suas respectivas formas geométricas (alô SRP) e fechar um contrato através de uma interface chamada &lt;b&gt;Shape &lt;/b&gt;com um método &lt;b&gt;Area(). &lt;/b&gt;Vejamos:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/e2089d56adc3ac1bdba96cd780dfd700.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Neste exemplo, a função sumAreas está aberta para extensão porque podemos adicionar novas formas que implementam a interface Shape sem modificá-la. Ela também está fechada para modificação porque não precisamos alterar seu código interno para lidar com novas formas.&lt;/div&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Mas e no mundo real, onde podemos aplicar o Open/Closed Principle?&lt;/h3&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;

&lt;div&gt;Vamos supor que você esteja desenvolvendo um sistema de e-commerce e precisa calcular o frete para entrega dos produtos. A função que faz esse cálculo poderia facilmente ser escrita assim:&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/76e357952a350293f477a8113147d1b3.js&quot;&gt;&lt;/script&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O problema com essa implementação é da mesma natureza do que vimos no caso das formas geométricas: sempre que uma nova transportadora for adicionada, será necessário modificar a função&amp;nbsp;&lt;b&gt;CalculateShipping&lt;/b&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para corrigir essa violação do OCP, podemos criar uma interface &lt;b&gt;ShippingProvider&lt;/b&gt; que define um método &lt;b&gt;CalculateShipping &lt;/b&gt;e, em seguida, implementar uma struct para cada transportadora. A função CalculateShipping pode receber uma instância da struct correspondente e delegar o cálculo do frete para ela.&lt;/div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/f74abfe01e687ecf0762586179a781df.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Formas práticas de seguir o OCP&lt;/h3&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Do meu ponto de vista, o Open/Closed Principle é o mais complicado e consequentemente incompreendido dentre os 5 princípios SOLID. Nesse artigo eu trouxe exemplos onde fica claro quando aplicá-lo, mas no dia a dia nem sempre vai ser assim. Precisamos ser capazes de identificar corretamente áreas no código que precisam ser isoladas para que possam ser modificadas sem afetar outras partes do sistema (pontos de variação). Ao mesmo tempo, não queremos desenvolver software com muita complexidade inicial. Tendo isso em mente, aqui estão maneiras práticas de seguir OCP:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ul&gt;&lt;li&gt;Se você ainda não consegue identificar os pontos de variação em seu código, comece de um jeito simples, mas não simplório. Então, à medida que o sistema evolui, faça sua refatoração e construa a abstração correta em torno desses pontos.&lt;/li&gt;&lt;li&gt;Se você conhece seus pontos de variação antecipadamente, tente identificar o nível certo de abstração que seu software precisa sem complicar demais as coisas.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Isso é tudo, pessoal! Até a próxima!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Referências:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://blog.cleancoder.com/uncle-bob/2014/05/12/TheOpenClosedPrinciple.html&quot;&gt;Clean Coder Blog - The Open Closed Principle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blog.mayallo.com/open-closed-principle-the-hard-parts&quot;&gt;Open-Closed Principle: The Hard Parts (mayallo.com)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-openclosed.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2tI-CmP8L9ahIT-yRPzt9QUo2kblcXcOGjyTHdOkqcZDBv9W6tgaigdABI8EQSGZFmk1iCE8alFjckrIqKyWt70FZLQZ7jh7m3jdxMtDy4SO-n6fRLFazJY7_zyQAwQtZAmB9tCLSSWdivflrpT6ZDNmJtwtV5stdEowt7WQyhoNqj7GyqrPk5tGy/s72-c/golang-open-closed-principle.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-4292979442714495659</guid><pubDate>Tue, 07 Mar 2023 23:06:00 +0000</pubDate><atom:updated>2023-03-19T18:27:06.954-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Golang</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">SOLID</category><title>Princípios SOLID em GoLang - Single Responsability Principle (SRP)</title><description>&lt;span style=&quot;text-align: justify;&quot;&gt;No mundo do desenvolvimento de software, os princípios SOLID nos dizem como organizar funções e dados de forma que nossos códigos:&lt;/span&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Tolerem mudanças&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Sejam fáceis de entender&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Sejam a base de componentes que podem ser usados em muitos sistemas de software&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O termo SOLID é um acrônimo para cinco postulados de design, descritos a seguir:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;(S) Single Responsability Principle (Princípio da Responsabilidade Única)&lt;/b&gt;: &quot;Um módulo deve ter um, e apenas um motivo para mudar&quot;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;(O) Open/Closed Principle (Princípio Aberto/Fechado)&lt;/b&gt;: &quot;Um artefato de software deve estar aberto para extensão, mas fechado para modificações&quot;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;(L) Liskov Substitution Principle (Princípio de Substituição de Liskov)&lt;/b&gt;: &quot;Uma classe derivada deve ser substituível por sua classe base&quot;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;(I) Interface Segregation Principle (Principio da Segregação de Interface)&lt;/b&gt;: &quot;Uma classe não deve ser forçada a implementar interfaces e métodos que não utilizará&quot;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;(D) Dependency Inversion Principle (Principio da Inversão de Dependência)&lt;/b&gt;: &quot;Dependa de abstrações e não de implementações&quot;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: justify;&quot;&gt;SOLID e GoLang&lt;/h2&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji8fMPYm9MebhVYVWuEUddwkNpCMS8yiFvDKwSA5dgzXjfkvqUXnhy6wI15hQZQgAUmuWLUUk850Uev2Fn6mluZ_pAIXdU7KskYIMWfm3fVlzaMcMN4hfWAOrHwPNkOGrEDFt8AX4B70jV_Rqt4qjv-hsJ-MyeBaPPfiilLPIBikY-mUgzktL2cGNb/s1114/golang-solid.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1114&quot; data-original-width=&quot;1080&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji8fMPYm9MebhVYVWuEUddwkNpCMS8yiFvDKwSA5dgzXjfkvqUXnhy6wI15hQZQgAUmuWLUUk850Uev2Fn6mluZ_pAIXdU7KskYIMWfm3fVlzaMcMN4hfWAOrHwPNkOGrEDFt8AX4B70jV_Rqt4qjv-hsJ-MyeBaPPfiilLPIBikY-mUgzktL2cGNb/s320/golang-solid.jpg&quot; width=&quot;310&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;O SOLID é pensado para programação orientada a objetos, e é sabido que GoLang não é uma linguagem que adota esse paradigma. Contudo, podemos usar os recursos que ela disponibiliza para atender à metodologia POO. Por exemplo, Go não tem suporte de herança, mas a ideia pode ser compensada com seu suporte de composição. Da mesma forma, um tipo de polimorfismo pode ser criado usando interfaces.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nesse artigo, o primeiro de uma série de 5, pretendo detalhar o primeiro princípio com exemplos que se aproximam de situações que nos deparamos no dia a dia.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: justify;&quot;&gt;Single Responsibility Principle (SRP)&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Já sabemos o que o termo significa, agora é hora de aprender como implementá-lo em GoLang.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nessa linguagem, poderíamos definir este princípio como “Uma função ou tipo deve ter um e apenas um trabalho, e uma e apenas uma responsabilidade”, vejamos o seguinte código:&lt;/div&gt;

&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/waliqueiroz/c5cf8ca000b0ecf079c5e1928c9b9df9.js&quot;&gt;&lt;/script&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Acima, temos uma &lt;i&gt;struct&lt;/i&gt; que chamamos de &lt;b&gt;userService&lt;/b&gt;. Ela tem duas propriedades: &lt;b&gt;db&lt;/b&gt; que é responsável pela comunicação com um banco de dados relacional, e &lt;b&gt;amqpChannel,&lt;/b&gt; que viabiliza a comunicação com o serviço de mensageria RabbitMQ.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;UserService implementa um método chamado &lt;b&gt;Create&lt;/b&gt;. Dentro desse método armazenamos&amp;nbsp;as informações do usuário recebido no banco de dados e, em seguida, publicamos os dados no RabbitMQ.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Percebe-se que a responsabilidade do método Create no userService não é apenas uma, e sim, duas: armazenar uma informação no banco de dados e publicar uma mensagem numa fila do RabbitMQ.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Isso pode levar a vários problemas, como:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Dificuldade de manutenção: se um dos requisitos mudar, como por exemplo, a forma como os dados do usuário são serializados, você terá que modificar a lógica do método Create, mesmo que isso não tenha nada a ver com a sua responsabilidade principal, que é salvar os dados no banco de dados.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Dificuldade de teste: como o método Create tem duas responsabilidades diferentes, você terá que criar testes para cada uma delas, o que pode ser difícil e trabalhoso.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Acoplamento desnecessário: a lógica de publicação dos dados do usuário em uma fila do RabbitMQ é totalmente independente da lógica de salvar esses dados num banco de dados. Misturar essas duas responsabilidades no mesmo método cria um acoplamento desnecessário.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No código a seguir, modificamos a estrutura para respeitar o SRP. Vejam só:&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;

&lt;script src=&quot;https://gist.github.com/waliqueiroz/7f78c70a168c6c662299f6ebe98fc2a9.js&quot;&gt;&lt;/script&gt;

&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Observe que separamos as responsabilidades em três partes distintas: o repositório&amp;nbsp;&lt;b&gt;UserRepository&lt;/b&gt; para persistir o usuário no banco de dados, o publicador &lt;b&gt;UserPublisher&lt;/b&gt; para enviar uma mensagem para o RabbitMQ e o serviço &lt;b&gt;UserService&lt;/b&gt; que orquestra essas duas operações.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Dessa forma, cada componente é responsável por uma tarefa específica e independente, facilitando a manutenção e evolução do código, além de permitir que cada uma dessas partes possa ser substituída ou aprimorada sem afetar as outras. Por exemplo, se for necessário mudar o banco de dados utilizado, basta substituir o repositório. Se for necessário alterar a forma de comunicação, basta alterar o publicador.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Vale ressaltar que há uma diferença sutil entre executar duas tarefas distintas e delegar a execução delas. No exemplo original do &lt;b&gt;userService.Create&lt;/b&gt;, havia a execução de duas operações em um único lugar, violando o princípio da responsabilidade única. Após a refatoração, delegamos as execuções para &lt;i&gt;structs&lt;/i&gt; distintas e o método &lt;b&gt;Create&lt;/b&gt; ficou responsável apenas por coordenar este fluxo.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para aplicar o SRP neste exemplo, também acabamos implementando alguns dos outros princípios SOLID:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;O &lt;b&gt;Interface Segregation Principle (ISP)&lt;/b&gt;: cada interface representa uma única responsabilidade. Tanto o UserRepository quanto o UserPublisher são interfaces que possuem apenas um método, cada um representando uma única responsabilidade.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;O &lt;b&gt;Dependency Inversion Principle (DIP)&lt;/b&gt;: a struct userService depende de abstrações (interfaces) e não de implementações concretas, ou seja, ela não conhece a implementação específica do UserRepository e do UserPublisher, apenas as interfaces que eles implementam.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;O &lt;b&gt;Open/Closed Principle (OCP)&lt;/b&gt;: o código está aberto para extensão, uma vez que novos repositórios ou publicadores podem ser facilmente adicionados sem modificar userService.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Nos próximos artigos dessa série trarei uma explicação mais detalhada de cada um deles, com exemplos específicos.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Até mais, galera!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div&gt;Referências:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.digitalocean.com/community/conceptual-articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design#single-responsibility-principle&quot;&gt;SOLID: The First 5 Principles of Object Oriented Design | DigitalOcean&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html&quot;&gt;Clean Coder Blog - The Single Responsibility Principle&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2023/03/principios-solid-em-golang-single.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji8fMPYm9MebhVYVWuEUddwkNpCMS8yiFvDKwSA5dgzXjfkvqUXnhy6wI15hQZQgAUmuWLUUk850Uev2Fn6mluZ_pAIXdU7KskYIMWfm3fVlzaMcMN4hfWAOrHwPNkOGrEDFt8AX4B70jV_Rqt4qjv-hsJ-MyeBaPPfiilLPIBikY-mUgzktL2cGNb/s72-c/golang-solid.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-1861830531964560748</guid><pubDate>Tue, 07 Mar 2023 01:57:00 +0000</pubDate><atom:updated>2023-03-06T23:10:18.304-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Linguagens de Programação</category><category domain="http://www.blogger.com/atom/ns#">Novidades</category><title>Do mobile para o código: mudanças no blog</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;E aí galera! Tem alguém aí?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Desde 2012, venho compartilhando com vocês minhas experiências e conhecimentos sobre dispositivos móveis, trazendo dicas, análises e novidades sobre o universo mobile. Foi uma jornada incrível, repleta de aprendizados e novas conexões.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;No entanto, como muitos de vocês devem ter notado, o blog não tem sido atualizado com frequência nos últimos anos. E o motivo é meio óbvio: a indústria de dispositivos móveis passou por grandes mudanças.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Após a venda da Nokia, uma das principais empresas do setor, a oferta de sistemas operacionais para celulares ficou bastante limitada; o Android e o iOS se consolidaram, o que acabou por gerar uma estagnação na inovação dos produtos. Isso afetou e muito a oferta de conteúdo relevante e atualizado. Hoje em dia parece que tá tudo muito igual, né? Por esse motivo, decidi expandir o escopo do TecnoFator.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCsWr-2noHwllzjnr8X-_QgWcF_wCOqR2R1ziDrTMu-blFv-tUskDYwxSGxy-tlDoPwde3zRf5nOrdRoFKyxhOU2Ww924cMdPjeeNMjA0ntj56Ai_CBR--pa6fkMyZmOsZc7ZMEYZRoIu0JkB6Cj3tZzUcnDBzWw-kQo5eFzZE76LMZnIoMgC0VgOp/s1422/tecnofator-programa%C3%A7%C3%A3o.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1156&quot; data-original-width=&quot;1422&quot; height=&quot;520&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCsWr-2noHwllzjnr8X-_QgWcF_wCOqR2R1ziDrTMu-blFv-tUskDYwxSGxy-tlDoPwde3zRf5nOrdRoFKyxhOU2Ww924cMdPjeeNMjA0ntj56Ai_CBR--pa6fkMyZmOsZc7ZMEYZRoIu0JkB6Cj3tZzUcnDBzWw-kQo5eFzZE76LMZnIoMgC0VgOp/w640-h520/tecnofator-programa%C3%A7%C3%A3o.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Além de entusiasta de dispositivos móveis, sou também bacharel em ciência da computação e engenheiro de software. Por isso, decidi utilizar esse espaço para falar sobre programação em geral, trazendo dicas, tutoriais e projetos sobre diferentes linguagens e tópicos que considero relevantes.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;É importante frisar que, apesar dessa mudança de perspectiva, o blog não perderá sua essência, não vou deixar de falar sobre dispositivos móveis. Continuarei a publicar sobre esse tema, mas agora com um foco ainda mais específico e direcionado.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Minha intenção é retomar a atualização regular do blog e trazer novos leitores para a base, compartilhando conteúdo de qualidade e valor para todos.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Estou aberto a sugestões e críticas para que possamos construir juntos uma comunidade de aprendizado e compartilhamento de conhecimentos. Obrigado por fazerem parte da minha jornada até aqui, e vamos juntos explorar novos horizontes!&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Até breve!&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2023/03/do-mobile-para-o-codigo-mudancas-no-blog.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCsWr-2noHwllzjnr8X-_QgWcF_wCOqR2R1ziDrTMu-blFv-tUskDYwxSGxy-tlDoPwde3zRf5nOrdRoFKyxhOU2Ww924cMdPjeeNMjA0ntj56Ai_CBR--pa6fkMyZmOsZc7ZMEYZRoIu0JkB6Cj3tZzUcnDBzWw-kQo5eFzZE76LMZnIoMgC0VgOp/s72-w640-h520-c/tecnofator-programa%C3%A7%C3%A3o.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-7952761039860787952</guid><pubDate>Sun, 13 Mar 2022 13:48:00 +0000</pubDate><atom:updated>2022-03-13T10:53:23.776-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Dicas</category><title>Gerenciadores de senhas – o que são e por que você deveria usar um</title><description>Você é do tipo que reaproveita a mesma senha para vários serviços na internet? Bom, eu já fui desses, mas mudei meus hábitos nos últimos tempos. &lt;br /&gt;&lt;br /&gt;Uma quantidade absurda de informações nossas estão nos serviços que usamos online, e, nas mãos erradas, podem ser usadas para aplicar uma série de golpes. Hoje em dia não é raro ver casos de invasões de contas de redes sociais até nos nossos círculos mais próximos de amigos. Também são frequentes os vazamentos de conversas e fotos privadas. Para evitar situações como essas é importante utilizar senhas fortes e diferentes para cada serviço.&lt;br /&gt;&lt;br /&gt;Porém, nós temos cadastros em tantos aplicativos, contas, sites e plataformas que fica difícil arranjar espaço na cabeça pra tanta coisa, e falta até criatividade para pensar em uma credencial forte o bastante.&lt;br /&gt;&lt;br /&gt;Anotar as senhas em um caderninho ou salvar no bloco de notas não são práticas nada seguras. Salvar as senhas no navegador? É melhor que nada, mas ainda não é a opção mais segura. Dependendo do browser, se os hackers obtiverem acesso ao seu computador, eles poderão extrair o conteúdo da base local de senhas e ter acesso a TODOS os seus logins.&lt;br /&gt;&lt;br /&gt;Diante disso, o mais recomendado é utilizar um aplicativo gerenciador de senhas, onde você vai precisar memorizar apenas uma senha mestra e todas as outras ficarão criptografadas com um algoritmo forte (só quem souber a senha mestra poderá abrir seu cofre). &lt;br /&gt;&lt;br /&gt;Os próprios gerenciadores têm seus prós e contras, é claro. Você pode ter que pagar por um, e pode não ser tão simples e conveniente quanto um gerenciador de senhas do navegador. Mas uma vantagem que eles possuem é que geralmente podem preencher automaticamente os logins fora de um navegador e isso é bem útil em dispositivos móveis. Neles também é possível armazenar mais do que senhas; você pode querer incluir notas ou armazenar outras informações confidenciais, como dados de cartões de crédito e contas bancárias.&amp;nbsp; &amp;nbsp;&lt;div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Existem várias opções de gerenciadores: &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;1Password&lt;/a&gt;, &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;LastPass&lt;/a&gt;, &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;KeePassX&lt;/a&gt; e &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;Dashlane&lt;/a&gt; são alguns dos mais populares. Eu uso atualmente o &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;Bitwarden&lt;/a&gt;, ele é open source e possui uma conta gratuita bem completa. Está disponível para Android, IOS, Windows, Linux e Mac e tem extensões para preenchimento automático de senhas nos navegadores mais populares.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgbzFlqW2BAKVp4U_wTl7eW9SwvHLGBCmrL87qqAaHJqsxWrLfNzbsdgJuD47XZmhf7IbXj-rsvlVIkLNBtwarETukk47iCdl-YaKol3TRUg5jfqTjaPouw5Fetwp2NxHooe821EojS4y5y5GcmkOTPM-NQ_kXa4VkUnPlE9srgs-V4TFiYPV2JbUht=s690&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;412&quot; data-original-width=&quot;690&quot; height=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgbzFlqW2BAKVp4U_wTl7eW9SwvHLGBCmrL87qqAaHJqsxWrLfNzbsdgJuD47XZmhf7IbXj-rsvlVIkLNBtwarETukk47iCdl-YaKol3TRUg5jfqTjaPouw5Fetwp2NxHooe821EojS4y5y5GcmkOTPM-NQ_kXa4VkUnPlE9srgs-V4TFiYPV2JbUht=w640-h382&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Imagem: Reprodução/Bitwarden&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nele eu consigo armazenar, além de credenciais, dados de cartão de crédito, documentos e notas. Todas essas informações ficam protegidas pela senha mestra e atenção: é importante definir uma senha que não seja fraca e que você tenha certeza que consegue se lembrar, porque, uma vez esquecida, é impossível recuperar o que estava guardado no cofre.&lt;br /&gt;&lt;br /&gt;Além dos recursos de proteção de dados, o Bitwarden ainda traz um gerador de senhas fortes e tem boa integração com o Android (preenche credenciais em aplicativos). A interface gráfica do app não é das mais intuitivas, mas com o tempo você acaba pegando o jeito.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Você pode estar se perguntando: &quot;Esses apps pra guardar dados são seguros mesmo? E se vazarem todas as minhas senhas?&quot;. Não temos como garantir que nenhum incidente vai acontecer, mas há motivos para confiar nos gerenciadores, pelo menos nos mais conhecidos.&lt;/div&gt;&lt;br /&gt;O Bitwarden, por exemplo, usa criptografia &lt;a href=&quot;https://pt.wikipedia.org/wiki/Advanced_Encryption_Standard&quot;&gt;AES-CBC&lt;/a&gt; de 256 bits para seus dados e &lt;a href=&quot;https://en.wikipedia.org/wiki/PBKDF2&quot;&gt;PBKDF2&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://pt.wikipedia.org/wiki/SHA-2&quot;&gt;SHA-256&lt;/a&gt; para derivar sua chave de criptografia. Os dados são criptografados sempre no seu dispositivo local antes que qualquer coisa seja enviada aos servidores em nuvem para armazenamento. Os servidores são usados apenas para armazenar dados criptografados. Os dados do cofre só podem ser descriptografados usando a chave derivada de sua senha mestra. O Bitwarden é uma solução de conhecimento zero, o que significa que você é a única parte com acesso à sua chave e a capacidade de descriptografar seus dados. Nesse cenário, mesmo que dados dos servidores vazem, os invasores terão acesso apenas a informações embaralhadas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Se convenceu de que é importante usar um gerenciador de senhas?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Caso tenha interesse no Bitwarden, pode buscar pelo app na loja da sua plataforma ou&amp;nbsp;&lt;a href=&quot;https://bitwarden.com/download/&quot;&gt;clicar aqui&lt;/a&gt;&amp;nbsp;para acessar a pagina oficial com informações de download.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;E aí, já usa ou recomenda algum outro gerenciador de senhas?&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2022/03/gerenciadores-de-senhas-o-que-sao-e-por.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgbzFlqW2BAKVp4U_wTl7eW9SwvHLGBCmrL87qqAaHJqsxWrLfNzbsdgJuD47XZmhf7IbXj-rsvlVIkLNBtwarETukk47iCdl-YaKol3TRUg5jfqTjaPouw5Fetwp2NxHooe821EojS4y5y5GcmkOTPM-NQ_kXa4VkUnPlE9srgs-V4TFiYPV2JbUht=s72-w640-h382-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-756465934926717151</guid><pubDate>Sat, 26 Feb 2022 11:12:00 +0000</pubDate><atom:updated>2022-02-26T08:25:13.324-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Samsung</category><category domain="http://www.blogger.com/atom/ns#">Smartwatches</category><title>Minha experiência com o Samsung Galaxy Watch4</title><description>&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjNLtBd1hgcTYEvhkWJs0TR9yXMh1bwGeipEIV4yheovqXA5ycpY502RkybRG7Tt40Ww3ttIfYWqj6I1VK2pqWqpyutu7VSpSTdCNT3umrJkcvD3hb5xqjHZDCqqbcJUT9PUAcNi3MaIrXJ5m9i-1pzd9XnLAKIEUevaQiSocIChEHzglli4Cezli7e=s2784&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2088&quot; data-original-width=&quot;2784&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjNLtBd1hgcTYEvhkWJs0TR9yXMh1bwGeipEIV4yheovqXA5ycpY502RkybRG7Tt40Ww3ttIfYWqj6I1VK2pqWqpyutu7VSpSTdCNT3umrJkcvD3hb5xqjHZDCqqbcJUT9PUAcNi3MaIrXJ5m9i-1pzd9XnLAKIEUevaQiSocIChEHzglli4Cezli7e=w640-h480&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Galaxy Watch4&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Smartwatches e smartbands são alguns dos dispositivos que mais me despertam interesse. O meu primeiro aparelho desse tipo foi uma Mi Band 2, que usei por bastante tempo. Depois passei por uma Mi Band 4, um Haylou LS05 e até pouco tempo utilizava no meu dia a dia um Amazfit Nexo. Todos aparelhos da Xiaomi e subsidiárias.&lt;/div&gt;&lt;br /&gt;Uma coisa que eu sentia bastante falta nesses dispositivos era a possibilidade de utilizá-los sem a dependência do aplicativo do celular. A proposta das Mi Bands nunca foi essa e tudo bem. O LS05 também era só um fitness tracker. O relógio da Amazfit rodava uma versão modificada do Android 8, o que o tornava realmente &quot;smart&quot;, mas a experiência com esse sistema customizado era bem limitada pois não havia uma loja de aplicativos. Para instalar qualquer coisa eu tinha que recorrer a algumas artimanhas usando o modo de depuração USB, o que não era nada prático. &lt;br /&gt;&lt;br /&gt;Diante disso, resolvi buscar por um vestível que entregasse funcionalidades mais completas, fosse totalmente compatível com o Android e não custasse 2 rins e um pulmão. Fiquei entre dois modelos da Samsung: O Galaxy Watch Active 2 e o Galaxy Watch4. Optei pelo segundo.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A minha versão do Watch4 é a de 44mm. O relógio é muito bem construído: possui corpo de alumínio, tela Super AMOLED, pulseira de silicone e dois botões na lateral - um para retornar à tela inicial e outro para voltar à tela anterior quando estamos navegando pelo sistema. &lt;br /&gt;&lt;br /&gt;O display possui 1.4 polegadas e é revestido por vidro Gorilla Glass, resistente a riscos. Essa proteção realmente funciona, pois uso o relógio sem nenhum tipo de bumper ou película e, mesmo batendo acidentalmente com ele em alguns lugares, a tela permanece sem nenhum arranhão até hoje. Além disso, ela possui ótimos níveis de brilho, resolução de 450 x 450 e densidade de pixels de 454ppi. Ainda é possível ativar o modo Always On nas configurações do sistema para deixar a tela sempre ligada com baixo consumo de bateria.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgwoTjweHsg3uzxFFt54f47bHEz1osebzvY0S8sAPjaO83DFYcFKzc3jI7NjhpGweVp9IXV1KEtKHYIypnwhPje1FjPtxKHJooAMEU-Ra0luBlcfDA7Y-2NxaxRq5VymVl6I92SYBhO9YjCVJvDwO7o_GGGKlaxPPia8CKj1exCm_dQqoexhEUPCJ4Z=s4000&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgwoTjweHsg3uzxFFt54f47bHEz1osebzvY0S8sAPjaO83DFYcFKzc3jI7NjhpGweVp9IXV1KEtKHYIypnwhPje1FjPtxKHJooAMEU-Ra0luBlcfDA7Y-2NxaxRq5VymVl6I92SYBhO9YjCVJvDwO7o_GGGKlaxPPia8CKj1exCm_dQqoexhEUPCJ4Z=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Tela no modo Always On&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;O sistema operacional do relógio é o Wear OS, uma versão do Android desenhada especificamente para smartwatches e outros vestíveis. Como não poderia deixar de ser, a Samsung imprimiu sua identidade visual por cima do sistema através da One UI Watch 3.0; e o trabalho foi muito bem feito aqui. A navegação pelas telas do sistema é bem agradável e intuitiva, os ícones são grandes e as configurações simples.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Deslizando para a direita na tela inicial nós temos acesso às notificações no relógio; Deslizando para a esquerda encontramos uma série de widgets e atalhos para funções como quantidade de passos do dia, clima, monitoramento de sono, etc. Ao deslizar para baixo temos acesso a um painel de atalhos para configurações e deslizando para cima entramos na gaveta de aplicativos. O relógio já vem com alguns apps básicos na memória, mas é possível encontrar muito mais na Play Store; a instalação pode ser feita tanto direto no relógio como remotamente através do smartphone pareado. Nesse ecossistema, aplicativos compatíveis são instalados automaticamente no relógio quando baixados no smartphone, e suas configurações importantes – como horário de não perturbe e chamadas bloqueadas – são sincronizadas instantaneamente. Isso é algo que eu acho sensacional .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikHgUneiM_c_5pI-PN3mkmh0N9Y68ixpB1HNJSbAMvtHsxfjrC0-QLYKV5bYq7xiRerJOF_u3PVrBi7dfVLB8tt0gOgguolXCG7EbiN8_fdCDsbwSool30mM3-gEUD4Cngrs1b8XNYPC7dla6eIxMBr_J5HWAVohB46sHzgxhTB3JYqrO8-Gaq62RM=s900&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;900&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikHgUneiM_c_5pI-PN3mkmh0N9Y68ixpB1HNJSbAMvtHsxfjrC0-QLYKV5bYq7xiRerJOF_u3PVrBi7dfVLB8tt0gOgguolXCG7EbiN8_fdCDsbwSool30mM3-gEUD4Cngrs1b8XNYPC7dla6eIxMBr_J5HWAVohB46sHzgxhTB3JYqrO8-Gaq62RM=w400-h400&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Wear OS com a One UI Watch 3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O pareamento com o celular é feito com o aplicativo Galaxy Wearable. Por lá nós conseguimos ter acesso à todas as configurações do dispositivo, podemos alterar a watchface, baixar atualizações e mais. Já o monitoramento de atividades físicas é feito por outro app, o Samsung Health. Essa foi uma característica que me surpreendeu, pois nos dispositivos da Xiaomi, por exemplo, o pareamento, configurações e a  gestão de atividade física são responsabilidade de um único software no celular.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg6QMoHVK1f16GMLkyPYu073gWAK5tjKDwF-nu-RtffvBvGOHtJIfZaFJzep-gcRlqUMzwZ9Ye65RTjo6pAdVgfJhusk-Fe6yMnOEUJsnoQ_NlPSNPzd0rD4PWL3VgEgKkZXv6_oPAx7DHvo81wfZ43UnrInz1j0rkb6WCDu3UXKZPNMDn6YfuNyo60=s3200&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3200&quot; data-original-width=&quot;2880&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg6QMoHVK1f16GMLkyPYu073gWAK5tjKDwF-nu-RtffvBvGOHtJIfZaFJzep-gcRlqUMzwZ9Ye65RTjo6pAdVgfJhusk-Fe6yMnOEUJsnoQ_NlPSNPzd0rD4PWL3VgEgKkZXv6_oPAx7DHvo81wfZ43UnrInz1j0rkb6WCDu3UXKZPNMDn6YfuNyo60=w576-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;À esquerda o Galaxy Wearable, à direita o Samsung Health&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O Galaxy Watch4 é capaz de monitorar uma quantidade enorme de exercícios e possui um sensor que a Samsung chama de BioActive. Com ele o gadget consegue fazer uma análise de composição corporal por impedância bioelétrica do corpo do usuário, algo que hoje nem o Apple Watch consegue fazer.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh1EIIzkuoS9bIoZs2PXUklPT8vRMad6ldgRWOg7YJBmgenXUksEOvV90X6fWN9IQHE_jvVSsTHnsblgfRGv8qSTcwln8VsZqLLKuYWhx1bGIHGsm52JZhaUF7kLCQohsBZD5JLAWa6iY2fOsVsnl3XC6sjZ9-xenJjA6_S-H2tslatZGjuptTsdek0=s900&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;900&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh1EIIzkuoS9bIoZs2PXUklPT8vRMad6ldgRWOg7YJBmgenXUksEOvV90X6fWN9IQHE_jvVSsTHnsblgfRGv8qSTcwln8VsZqLLKuYWhx1bGIHGsm52JZhaUF7kLCQohsBZD5JLAWa6iY2fOsVsnl3XC6sjZ9-xenJjA6_S-H2tslatZGjuptTsdek0=w400-h200&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Medição da composição corporal no Watch4&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;Para executar essa medição, devemos colocar os dedos médio e anelar nos botões laterais do relógio e afastar os braços do corpo. Feito isso, o gadget lança uma pequena descarga elétrica e em cerca de 15 segundos faz medições que incluem massa de músculo esquelético, taxa metabólica basal, água corporal e porcentagem de gordura corporal. Essa função fornece uma maior compreensão da própria saúde e forma física e é uma das que eu mais utilizo. Os relatórios das medições ficam salvos no Samgung Health. Além disso, o relógio possui um sistema de monitoramento do sono, que, em conjunto com o smartphone, permite detectar sons dos roncos e medir o nível da oxigenação do sangue durante a noite. &lt;br /&gt;&lt;br /&gt;O Watch4 também possui todos os sensores necessários para fazer a medição de pressão arterial e ECG, mas para isso é necessário instalar um aplicativo extra, o Samsung Health Monitor. Esse app só está disponível na Galaxy Store, e mesmo lá a Samsung só permite a instalação se seu smartphone for da linha Galaxy. Isso significa que se você usa um smartphone Android de outra marca, vai ficar sem essas funções, mesmo o relógio sendo totalmente compatível. Triste.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh0M4UnDO9FLOUeMI6X9wW5OBYn5GBlYgoxd8nGzOFKJgEAx_sGZpHtPSWP0UXjNRsOpUS_69ubPtMT8CDyp99plD2P-qXVjxdHJXudcB9XwNul_CDp64cJNHujvBbfFZra1BiM3_GwiESWvfa6CEKJr0duI-A30Cg59HUmM3EvVikjyouhciN6HWVZ=s900&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;900&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh0M4UnDO9FLOUeMI6X9wW5OBYn5GBlYgoxd8nGzOFKJgEAx_sGZpHtPSWP0UXjNRsOpUS_69ubPtMT8CDyp99plD2P-qXVjxdHJXudcB9XwNul_CDp64cJNHujvBbfFZra1BiM3_GwiESWvfa6CEKJr0duI-A30Cg59HUmM3EvVikjyouhciN6HWVZ=w400-h200&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Watch4 consegue medir pressão arterial e gravar ECG&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apesar de conseguir funcionar de forma totalmente independente do celular, no dia a dia o relógio atua como uma extensão do smartphone. É possível realizar e atender chamadas no dispositivo quando conectado via Bluetooth com o celular (como um Power Ranger). Também dá pra responder a notificações de aplicativos como o WhatsApp usando respostas pré-definidas, digitando em um teclado alfanumérico ou usando um recurso que converte voz em texto. A integração com os recursos de mídia também é bem completa; sempre que eu abro um player de música ou vídeo no celular, o relógio exibe um ícone na tela inicial sinalizando que eu posso controlar as coisas por ali. O mesmo ocorre com o aplicativo de Mapas do Google. Ainda é possível acessar e controlar a câmera do celular remotamente, com o conteúdo capturado pelo sensor sendo exibido em tempo real na tela do relógio.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPx5RZG-lv4k5Rtph9Cm44Ev4eDaq7jyePbQtovGRTceDjHqk9ZO4pD1ZQ728jgg9JGgIAnz84YtCHC9rXK-LIxAT9dt1uuQx53XH1OeZLbK_qlSaK_9qwEEPC8r1XnQqXsA91uIi1nDwNtJ3SzrGyEIOOV2bWzuNO_cjVYJ2xnUIY7Kfb6kvVaPD9=s4000&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPx5RZG-lv4k5Rtph9Cm44Ev4eDaq7jyePbQtovGRTceDjHqk9ZO4pD1ZQ728jgg9JGgIAnz84YtCHC9rXK-LIxAT9dt1uuQx53XH1OeZLbK_qlSaK_9qwEEPC8r1XnQqXsA91uIi1nDwNtJ3SzrGyEIOOV2bWzuNO_cjVYJ2xnUIY7Kfb6kvVaPD9=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Câmera remota na tela do Watch4&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O desempenho geral do aparelho é muito bom. A navegação e as múltiplas tarefas são suaves e sem esforço. Isso se deve ao&amp;nbsp;processador Exynos W920, 1.5 GB de memória RAM e 16 GB de armazenamento interno. Sim. Isso tudo pra um relógio. O hardware interno ainda conta com WiFi, Bluetooth 5.0, GPS e NFC para pagamentos por aproximação (me sinto o próprio Tony Stark fazendo isso com o relógio) ou outros recursos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Agora vamos para a parte ruim: a duração da bateria. Como usuário de Mi Bands, eu estava acostumado a passar pelo menos uma semana sem recarregar o dispositivo. Mas a coisa muda bastante aqui. Pro meu perfil de uso, com a maior parte dos sensores e medições ligadas, a bateria do Watch4 dura mais ou menos um dia e meio. Existe um modo de economia de energia no relógio, mas até hoje nunca usei.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No começo eu achava um saco essa curta duração de bateria, mas criei o hábito de recarregá-lo todos os dias quando vou tomar banho. O carregamento do relógio é feito por indução magnética, sem fios. Basta colocá-lo em cima da base (que vem completa na caixa junto com o adaptador de tomada) que começa a carregar. O tempo de recarga completa leva em média 2h, mas a Samsung afirma que, caso você esteja com pressa, 30 minutos de carregamento fornecem até 10 horas de bateria.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Abaixo as especificações completas da minha versão do Samsung Galaxy Watch4:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Sistema Operacional&lt;/b&gt;: Android Wear OS, One UI Watch 3&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tela&lt;/b&gt;: Circular Super AMOLED (450x450) de 1.4&quot; (34.6mm) com proteção&amp;nbsp;Corning Gorilla Glass DX+ e Full Color Always On Display&lt;/li&gt;&lt;li&gt;&lt;b&gt;Processador&lt;/b&gt;: Samsung Exynos W920 Dual Core 1.18GHz&lt;/li&gt;&lt;li&gt;&lt;b&gt;Memória RAM&lt;/b&gt;: 1.5GB&lt;/li&gt;&lt;li&gt;&lt;b&gt;Armazenamento&lt;/b&gt;: 16GB&lt;/li&gt;&lt;li&gt;&lt;b&gt;Bateria&lt;/b&gt;: 361 mAh, recarga sem fio&lt;/li&gt;&lt;li&gt;&lt;b&gt;Conectividade&lt;/b&gt;:&amp;nbsp; Bluetooth 5.0, Wi-Fi 802.11 a/b/g/n 2.4+5GHz, NFC, A-GPS/GLONASS/Beidou/Galileo&lt;/li&gt;&lt;li&gt;&lt;b&gt;Sensores&lt;/b&gt;:&amp;nbsp;Acelerômetro, Barômetro, Sensor Giroscópio, Sensor Geomagnético, Sensor de Luz, Sensor Óptico de Frequência Cardíaca, Sensor cardíaco elétrico, Sensor de análise de impedância bioelétrica&lt;/li&gt;&lt;li&gt;&lt;b&gt;Durabilidade&lt;/b&gt;:&amp;nbsp;5ATM+IP68/MIL-STD-810G&lt;/li&gt;&lt;li&gt;&lt;b&gt;Dimensões&lt;/b&gt;: 44.4 x 43.3 x 9.8 mm&lt;/li&gt;&lt;li&gt;&lt;b&gt;Peso&lt;/b&gt;:&amp;nbsp; 30 gramas, sem a pulseira&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;E aí, vocês possuem algum dispositivo vestível?&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div class=&quot;textblock&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #4f5357; font-family: Roboto, &amp;quot;Roboto Condensed&amp;quot;, sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; margin-top: 0px; orphans: 2; text-align: justify; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;</description><link>https://www.tecnofator.com.br/2022/02/minha-experiencia-com-o-samsung-galaxy.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjNLtBd1hgcTYEvhkWJs0TR9yXMh1bwGeipEIV4yheovqXA5ycpY502RkybRG7Tt40Ww3ttIfYWqj6I1VK2pqWqpyutu7VSpSTdCNT3umrJkcvD3hb5xqjHZDCqqbcJUT9PUAcNi3MaIrXJ5m9i-1pzd9XnLAKIEUevaQiSocIChEHzglli4Cezli7e=s72-w640-h480-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-2318587051004823620</guid><pubDate>Sun, 20 Feb 2022 12:46:00 +0000</pubDate><atom:updated>2022-02-20T10:34:18.360-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Samsung</category><title>Minha experiência com o Samsung Galaxy S21 Ultra</title><description>&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgRYq9hjo5AFyDKkyp8WIFJhqYygZLTi2N0_LCixR6Q_zWbDwLFji9UQR_oWZALs6Ooo6zhADQCpcnRSvNqdwtdQEGJ5pHLlVLEdlFQ_UV9uWyQlC14CYfW8JkXOjTin1YYahDAllrENRIDVNUZRZzscfypRDIH6U9PW4loWh7g_me1qkqLn-L6HAUr=s5532&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4118&quot; data-original-width=&quot;5532&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgRYq9hjo5AFyDKkyp8WIFJhqYygZLTi2N0_LCixR6Q_zWbDwLFji9UQR_oWZALs6Ooo6zhADQCpcnRSvNqdwtdQEGJ5pHLlVLEdlFQ_UV9uWyQlC14CYfW8JkXOjTin1YYahDAllrENRIDVNUZRZzscfypRDIH6U9PW4loWh7g_me1qkqLn-L6HAUr=w640-h475&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Galaxy S21 Ultra&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;E aí pessoal! Tudo bem? 84 anos depois, cá estou eu.&lt;br /&gt;&lt;br /&gt;Depois de 6 anos usando aparelhos da Xiaomi, resolvi experimentar algo novo e confesso que estou gostando muito.&lt;br /&gt;&lt;br /&gt;Meu eu de alguns anos atrás não acreditaria se estivesse lendo isso, porque sempre tive um pé atrás com a Samsung. Até pouco tempo, celulares intermediários e de baixo custo da marca eram sinônimo de desempenho ruim e a interface TouchWiz não agradava nem nos top de linha. Hoje isso mudou, graças a evolução do hardware dos aparelhos e a reformulação da interface personalizada da sul coreana, que agora se chama One UI. Essa mudança melhorou o desempenho e trouxe mais identidade para os dispositivos da marca. Fato curioso: O formato dos ícones da One UI me lembra bastante a estética que a Nokia usava no Symbian Anna/Belle e MeeGo (inclusive saudades).&lt;div&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEheWlsLYWlwFVgtrVkgmpu5obNS4E78gkpgPKVWMLDNKmgEfedrpTz2Xi-61M8o0twk1OHd5c6Es2sEXWuS1W_WZ4yGrt8qM4Jhu_wBwkC1396sQnKP4f-tNxlihV1DMjg_9KMSyLAoVMA72fbHCiOIMJ_4UjgtX8pyW2uDa9W6XJzf8_HvmbxcLe0H=s3200&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3200&quot; data-original-width=&quot;2879&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEheWlsLYWlwFVgtrVkgmpu5obNS4E78gkpgPKVWMLDNKmgEfedrpTz2Xi-61M8o0twk1OHd5c6Es2sEXWuS1W_WZ4yGrt8qM4Jhu_wBwkC1396sQnKP4f-tNxlihV1DMjg_9KMSyLAoVMA72fbHCiOIMJ_4UjgtX8pyW2uDa9W6XJzf8_HvmbxcLe0H=w576-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Esses ícones quadrados-arredondados não lembram os do Symbian Anna/Belle e MeeGo?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Conforme o mercado de smartphones evolui, os aparelhos estão ficando cada vez mais idênticos. Foi-se o tempo em que cada nova geração apresentava novidades super empolgantes. Hoje o sistema operacional é o mesmo pra todo mundo (com exceção dos iPhones e algumas relíquias) e o design é quase sempre igual, em formato de barra, não importa a marca. O que muda geralmente são as especificações: um pouco mais de memória e processamento ali, tela maior aqui, mais bateria acolá, mas no dia a dia (a não ser que você seja um &quot;heavy user&quot;) a experiência de uso acaba sendo a mesma. Diante disso, as fabricantes estão tendo que se esforçar para de alguma forma inovar e chamar nossa atenção. &lt;br /&gt;&lt;br /&gt;Os dispositivos top de linha mais recentes da Samsung vem com a proposta de &quot;entregar uma experiência incrível com as melhores tecnologias do mercado&quot; e essa premissa acabou me fazendo investir no Galaxy S21 Ultra.&lt;br /&gt;&lt;br /&gt;O que mais me atraiu neste gadget foram definitivamente suas câmeras. São 5: uma frontal de 40MP e na traseira temos a principal de 108MP, uma ultrawide de 12MP e duas teleobjetivas de 10MP: a primeira com zoom óptico de 3x e a segunda periscópica com zoom de 10x. A qualidade dessas câmeras é sensacional, as capacidades de zoom são surpreendentes, algo que eu nunca tinha experimentado em um aparelho celular.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEia_3dfxyKDyCG7r_lRikIswajG6ATlX-orfnxwhj9teoYE_eE1lqLz9cwYAnXUVNIA0ogzaH5fbmDVkHmpzDDpKTpYJD_E0Bz0lIidXUoTlY4MUWmr1TR4r8AYU67rgs5yQmcVkRFe9SM_-Eg2IMI9a05L7xJq1-4hrd6wkRE759HBmFnhuQKjcljV=s4000&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEia_3dfxyKDyCG7r_lRikIswajG6ATlX-orfnxwhj9teoYE_eE1lqLz9cwYAnXUVNIA0ogzaH5fbmDVkHmpzDDpKTpYJD_E0Bz0lIidXUoTlY4MUWmr1TR4r8AYU67rgs5yQmcVkRFe9SM_-Eg2IMI9a05L7xJq1-4hrd6wkRE759HBmFnhuQKjcljV=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Lente ultrawide (clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEipdm7qW8OsrJTRets0qE6U-wvd1JFrDMMPPyWUF5CGqbneje43De2RwUleQ53PH6G3DhsSqwWF38-bvicfRXtuBfz3CuyDMF8_HRGMNguevJW4DPugoVKNYQMpfIBn6xI4OSeD_MckzvOg7k6JATMzLk1krguVw3bjPTG0MvdVj4zpfJHKZVs-Gi29=s4000&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEipdm7qW8OsrJTRets0qE6U-wvd1JFrDMMPPyWUF5CGqbneje43De2RwUleQ53PH6G3DhsSqwWF38-bvicfRXtuBfz3CuyDMF8_HRGMNguevJW4DPugoVKNYQMpfIBn6xI4OSeD_MckzvOg7k6JATMzLk1krguVw3bjPTG0MvdVj4zpfJHKZVs-Gi29=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Lente principal (clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiOQJB2N3v1ol7DCUSMoRC3Noz8JDMZ7i8S-RWSUNOFWZPWPutYLOWMJnseDqLfsYBsS7a4rhr8wFlfK7vGPR2QcndZHlUqnBeYVK_6R2zCLKshzcKpFNM6xsQ0fA84oZhM5jiU8xIE5QnqppVuaKE3k8ZEXn_leAAGffieANqwLMVJUDrxvtQiBzfE=s4000&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiOQJB2N3v1ol7DCUSMoRC3Noz8JDMZ7i8S-RWSUNOFWZPWPutYLOWMJnseDqLfsYBsS7a4rhr8wFlfK7vGPR2QcndZHlUqnBeYVK_6R2zCLKshzcKpFNM6xsQ0fA84oZhM5jiU8xIE5QnqppVuaKE3k8ZEXn_leAAGffieANqwLMVJUDrxvtQiBzfE=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Lente telefoto com 3X de zoom óptico (clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjvqoEcTVQmW0HoGkMcuoocoTCcJ616OpCWQ7DHsve6AdZeWqJ-_o3hPG_KdlRn3hZPuaOfDti314xqgzXv1m1KRDRBvGa_X9shmyCgBrhZQxzuW4IbooQsajMRsBo74g79sHzWX-vIBrYDD8ERYSSE5QN-XYjW5Ir6llITLcwVKVRjWz0U4d-UWQ_A=s4000&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjvqoEcTVQmW0HoGkMcuoocoTCcJ616OpCWQ7DHsve6AdZeWqJ-_o3hPG_KdlRn3hZPuaOfDti314xqgzXv1m1KRDRBvGa_X9shmyCgBrhZQxzuW4IbooQsajMRsBo74g79sHzWX-vIBrYDD8ERYSSE5QN-XYjW5Ir6llITLcwVKVRjWz0U4d-UWQ_A=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Lente telefoto com 10X de zoom óptico (clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;A presença de 4 câmeras na traseira faz muito sentido aqui. É possível alternar entre elas no aplicativo como se estivéssemos fazendo a troca da lente em uma câmera profissional. As fotos em ambientes bem iluminados são excelentes; à noite um pouco de ruído aparece, mas o resultado continua bastante agradável.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgtV7mTITrAKPyGv4yo05AIrmdZ9e0P-WK-dsfaJ0ldBLTrch5w2UyTWqBH2IaO8ImFxwXBl9FUouCO9RulcMO8_Hd29XxqWnE5kklWQ5Av1oRt5kyiZux-9g3XR9uz25AzXygflu0BuYnaE1YF5XK4CDj-TWuncFMSHrgpwIpd57QRpS7cMIxUjdZM=s4000&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgtV7mTITrAKPyGv4yo05AIrmdZ9e0P-WK-dsfaJ0ldBLTrch5w2UyTWqBH2IaO8ImFxwXBl9FUouCO9RulcMO8_Hd29XxqWnE5kklWQ5Av1oRt5kyiZux-9g3XR9uz25AzXygflu0BuYnaE1YF5XK4CDj-TWuncFMSHrgpwIpd57QRpS7cMIxUjdZM=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;(clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;O aparelho ainda consegue aplicar zoom híbrido (óptico + digital) de até 100x. O que eu acho mais divertido nisso é conseguir tirar fotos da lua (em que a lua realmente se parece com a lua e não um ponto de luz borrado em um fundo preto) sem muito esforço. As fotos abaixo eu tirei no modo automático, por isso a nitidez não ficou lá essas coisas, mas é o suficiente pra postar nas redes sociais. Acredito que usando as configurações corretas de exposição é possível ter fotos ainda melhores.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjsZkV-6EqWI4D5tErbnCq5hqoLmigEGOd1jUW7wFdUQ6yJH69Ji-Sc77go4tWMpdHARynEh54qwktNuUGv6vzq9-ZTsxdMxepr9Z7F_QuQlmzc3vSTiuubCbfr5cecuNfbQ4EZO2z2rw_Z5blsKIb3G_v1gdMEJb7FSIuW5fktHuB_GsX9vJdAVe3T=s4000&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjsZkV-6EqWI4D5tErbnCq5hqoLmigEGOd1jUW7wFdUQ6yJH69Ji-Sc77go4tWMpdHARynEh54qwktNuUGv6vzq9-ZTsxdMxepr9Z7F_QuQlmzc3vSTiuubCbfr5cecuNfbQ4EZO2z2rw_Z5blsKIb3G_v1gdMEJb7FSIuW5fktHuB_GsX9vJdAVe3T=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;(clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhw6luGYWyooC5rK_PROjPgdnuyqO-e3lTQ7J9tm-ew-VqFQkuPwvV5UylEqxZqtmQ7uMiSrxbSCYGgroytLjbhpT3nAIqCwq3GnsofiMCdwoTcVLWC4i7rW4LorrDoIuNdR5i_Pp4XJHEQeh3quInVHErpJ8qP5eOwHY2OOcgc-aEfslj82EI_-hy3=s4000&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;auto&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhw6luGYWyooC5rK_PROjPgdnuyqO-e3lTQ7J9tm-ew-VqFQkuPwvV5UylEqxZqtmQ7uMiSrxbSCYGgroytLjbhpT3nAIqCwq3GnsofiMCdwoTcVLWC4i7rW4LorrDoIuNdR5i_Pp4XJHEQeh3quInVHErpJ8qP5eOwHY2OOcgc-aEfslj82EI_-hy3=w480-h640&quot; width=&quot;auto&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;(clique para ampliar)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Outro grande destaque do celular é sua tela: um painel Dynamic AMOLED 2X de 6,8 polegadas com resolução Wide Quad HD e taxa de atualização de até 120 Hz. Ótimo para consumir qualquer tipo de conteúdo e principalmente para jogos.&lt;div&gt;&lt;br /&gt;O S21 Ultra veio de fábrica com Android 11, mas já recebi a atualização para a versão 12 e a Samsung garantiu pelo menos mais 2 updates do sistema operacional. Sobre o desempenho, não tenho do que reclamar. O processador Exynos 2100 não deixa a desejar nas tarefas do dia a dia, multitarefas, uso da câmera, etc. Já ouvi muitas críticas a esse processador por problemas de superaquecimento em jogos e por ter um desempenho inferior ao concorrente Snapdragon 888, mas pro meu perfil de uso isso não faz a menor diferença.&lt;br /&gt;&lt;br /&gt;Agora um fato interessante: a Samsung resolveu copiar a Apple até nas coisas ruins e por conta disso o aparelho não veio com carregador na caixa. Porém, o PROCON fez um acordo com a marca para que ela enviasse de GRAÇA o carregador a quem solicitasse através do site &lt;a href=&quot;https://www.blogger.com/u/1/#&quot;&gt;https://www.samsungparavoce.com.br &lt;/a&gt;. Eu solicitei o meu, enviaram um adaptador de 25W (o cabo USB veio na caixa). Fica a dica aí pra quem comprou um Galaxy recentemente.&lt;br /&gt;&lt;br /&gt;Abaixo as especificações completas da minha versão do Samsung Galaxy S21 Ultra:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Tela&lt;/b&gt;: Dynamic AMOLED 2X de 6,8 polegadas WQHD+ (3200 x 1440 pixels), HDR10+, 20:9, 10-120 Hz, Gorilla Glass Victus, brilho máximo de 1.500 nits, compatível com S Pen&lt;/li&gt;&lt;li&gt;&lt;b&gt;Processador&lt;/b&gt;: Samsung Exynos 2100 octa-core&lt;/li&gt;&lt;li&gt;&lt;b&gt;Memória RAM&lt;/b&gt;: 12 GB&lt;/li&gt;&lt;li&gt;&lt;b&gt;Armazenamento&lt;/b&gt;: 256 GB&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Câmera traseira&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Principal&lt;/b&gt;: 108 MP, f/1,8, 79º, 24 mm, OIS&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ultrawide&lt;/b&gt;: 12 MP, f/2,2, 13 mm, 120º, AF&lt;/li&gt;&lt;li&gt;&lt;b&gt;Teleobjetiva 1&lt;/b&gt;: 10 MP, f/2,4, 35º, 72 mm, OIS&lt;/li&gt;&lt;li&gt;&lt;b&gt;Teleobjetiva 2&lt;/b&gt;: 10 MP, f/4,9, 10º, 240 mm, OIS&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Câmera frontal&lt;/b&gt;: 40 megapixels, f/2,2, 80º, 25 mm, AF&lt;/li&gt;&lt;li&gt;&lt;b&gt;Bateria&lt;/b&gt;: 5.000 mAh, recarga rápida, recarga sem fio e carregamento reverso (Wireless PowerShare)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Conectividade&lt;/b&gt;: porta USB-C, 4G, 5G, Bluetooth 5.0, Wi-Fi 6E, GPS e NFC&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mais recursos&lt;/b&gt;: leitor de impressões digitais sob a tela, certificação IP68 e ultra wideband (UWB)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Dimensões&lt;/b&gt;: 75,6 × 165,1× 8,9 mm&lt;/li&gt;&lt;li&gt;&lt;b&gt;Peso&lt;/b&gt;: 227 gramas&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;É isso, galera, até a próxima!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><link>https://www.tecnofator.com.br/2022/02/minha-experiencia-com-o-galaxy-s21-ultra.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgRYq9hjo5AFyDKkyp8WIFJhqYygZLTi2N0_LCixR6Q_zWbDwLFji9UQR_oWZALs6Ooo6zhADQCpcnRSvNqdwtdQEGJ5pHLlVLEdlFQ_UV9uWyQlC14CYfW8JkXOjTin1YYahDAllrENRIDVNUZRZzscfypRDIH6U9PW4loWh7g_me1qkqLn-L6HAUr=s72-w640-h475-c" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-9058090328811362370</guid><pubDate>Mon, 11 Mar 2019 10:00:00 +0000</pubDate><atom:updated>2020-03-30T18:43:17.684-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">GCam</category><category domain="http://www.blogger.com/atom/ns#">Google Câmera</category><category domain="http://www.blogger.com/atom/ns#">Pocophone F1</category><category domain="http://www.blogger.com/atom/ns#">Xiaomi</category><title>Como instalar a Google Câmera no Pocophone F1</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
O aplicativo de câmera nativo do Pocophone F1 entrega resultados bem interessantes; ele produz imagens nítidas com bom equilíbrio de cores e contraste quando a iluminação do ambiente é boa. Contudo, é possível tirar melhor proveito do conjunto de lentes deste aparelho da Xiaomi utilizando o app de câmera do Google.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Esse aplicativo existe desde o Android Lollipop e estava disponível para todos na Play Store até que a Google restringiu seu uso apenas para os celulares da linha Pixel para torná-los mais atraentes, visto que a GCam é um dos melhores aplicativos de câmera que existem, graças ao seu algoritmo secreto que é capaz de melhorar significativamente a qualidade das imagens, principalmente em situações com pouca luz.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Google Câmera no Pocophone F1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Vários desenvolvedores independentes do fórum XDA developers conseguiram migrar a Google Câmera do Pixel 3 para o Pocophone F1. Alguns ports possuem recursos extras; é o caso do que eu trouxe para vocês hoje, modificado pelo desenvolvedor conhecido lá no fórum como Sannn111ty.&lt;br /&gt;
&lt;br /&gt;
Todos os recursos da GCam funcionam perfeitamente dentro desta versão, exceto o EIS (Estabilização eletrônica de imagem para vídeos).&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvo94GehTdGpIfGLWPhaO3Zfi_xZvDW6q0NxQnYpIICbVF_kcRBeOjoydX20nH7mYdUIcl4-Y9_mwd67ZvePkI7WYWz-QcLa36fvImKKFgpiN200wOtB4Uz4n44hViTbuLQ12cj8R9xRo/s1600/Screenshot_2019-03-08-16-31-55-674_com.google.android.GoogleCameraNext.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1547&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvo94GehTdGpIfGLWPhaO3Zfi_xZvDW6q0NxQnYpIICbVF_kcRBeOjoydX20nH7mYdUIcl4-Y9_mwd67ZvePkI7WYWz-QcLa36fvImKKFgpiN200wOtB4Uz4n44hViTbuLQ12cj8R9xRo/s640/Screenshot_2019-03-08-16-31-55-674_com.google.android.GoogleCameraNext.png&quot; width=&quot;618&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interface da Google Câmera&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Características principais:&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;HDR+:&lt;/b&gt; Fotos melhores, especialmente em cenas com pouca luz ou em contraluz; é recomendado deixar essa opção sempre ativada.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Photo sphere: &lt;/b&gt;Fotos esféricas imersivas.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Câmera Lenta:&lt;/b&gt; Vídeo em câmera lenta a 240fps (1080p).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Visão noturna:&lt;/b&gt; Modo especial de captura em ambientes com menos luz.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Super Res Zoom:&lt;/b&gt; Zoom com resolução melhorada.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Modo retrato: &lt;/b&gt;Funciona tanto na câmera traseira como na frontal, pois utiliza inteligência artificial para fazer o desfoque e não o sistema de câmeras duplas do Pocophone. A desvantagem disso é que fotos de objetos e animais no modo retrato não entregam o resultado esperado.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Efeito foco: &lt;/b&gt;Serve basicamente para fazer o efeito bokeh artificial de maneira mais controlada, escolhendo onde se quer focar. Essa opção contorna o problema do Modo Retrato com objetos e animais.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Sannn111ty conseguiu incluir algumas funcionalidades a mais na Google Câmera. Ele adicionou a possibilidade de alternar entre bibliotecas de pós processamento das imagens capturadas. Na seção &quot;Custom libs&quot; das configurações do aplicativo é possível escolher entre a biblioteca padrão do Pixel 3 e as bibliotecas customizadas: Eszdman V5, Savitar V5, Xlib-mod V2 e a Fi V3.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0HXP3y2kXx0f6yId7-mt0pXtnLqNNj2fCErFYZncvMyGwATNqGoHC1xyzQLarOvt2dG0EaV8exzoeTdn8_4Yl-HvYjgqxSVNKM7J5F1po4qUycfCzna4iRO82wzjnwWWp40_QpZF6iI8/s1600/Screenshot_2019-03-08-16-02-03-074_com.google.android.GoogleCameraNext.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1540&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0HXP3y2kXx0f6yId7-mt0pXtnLqNNj2fCErFYZncvMyGwATNqGoHC1xyzQLarOvt2dG0EaV8exzoeTdn8_4Yl-HvYjgqxSVNKM7J5F1po4qUycfCzna4iRO82wzjnwWWp40_QpZF6iI8/s640/Screenshot_2019-03-08-16-02-03-074_com.google.android.GoogleCameraNext.png&quot; width=&quot;614&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bibliotecas customizadas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;div style=&quot;border: 0px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 20px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;br /&gt;
Um detalhe interessante: a biblioteca Xlib-mod V2 é ajustada com a tecnologia Smart HDR que existe nos iPhones. Alguns usuários preferem esse tipo de HDR em vez do que vem na biblioteca padrão do Pixel.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;border: 0px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 20px; padding: 0px; vertical-align: baseline;&quot;&gt;
Abaixo as principais diferenças entre os resultados entregues pelas bibliotecas:&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;Pixel 3&lt;/b&gt; - Realça as cores das imagens e aumenta o contraste, porém adiciona mais ruído e menos nitidez.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Xlib-mod V2&lt;/b&gt; - Deixa as cores naturais e melhora o contraste com menos ruído e mais nitidez (Na prática, a diferença é mínima em relação à biblioteca padrão do Pixel 3).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Eszdman&lt;/b&gt; - É quase a mesma coisa da biblioteca padrão, mas tem melhores detalhes de sombra, o que pode afetar positivamente ou negativamente o contraste, dependendo do cenário.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Savitar&lt;/b&gt; - Deixa as imagens com cores naturais, mas com um pouco menos de detalhes de sombra em comparação com a Xlib-mod V2, e apresenta mais granulação.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Além disso, Sannn111ty&amp;nbsp;também adicionou controles deslizantes manuais no visor. O que fica na parte superior da tela é utilizado para ajustar as configurações de longa exposição. No entanto, funciona apenas quando a biblioteca Savitar V5 é ativada. O controle deslizante da parte inferior é útil para ajustar o foco manual. Funciona com qualquer biblioteca. Para utilizar você precisa escolher uma opção e tocar uma vez no visor antes de capturar fotos.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Como instalar?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Você precisa estar na versão 10.2.2.0 ou superior da MIUI&amp;nbsp; global estável para a GCam funcionar sem nenhum problema. Para checar a versão da MIUI que está no seu Pocophone vá para configurações &amp;gt; sobre o telefone &amp;gt; versão do MIUI.&lt;/div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2qMbIQVWlVAORMdKujxUzWmp6iAAkWcZ4lFjHFmvEYC8bsQoVCyVP25Ymfo5o03ShmUybTC5QjKQlLRxpkDVyPx4giIRYi8cWo0rV9LQnXpJ1k7Q9-NtgDi-JR9Wz-99H6RDQs_dRFHY/s1600/Screenshot_2019-03-08-16-01-23-748_com.android.settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1540&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2qMbIQVWlVAORMdKujxUzWmp6iAAkWcZ4lFjHFmvEYC8bsQoVCyVP25Ymfo5o03ShmUybTC5QjKQlLRxpkDVyPx4giIRYi8cWo0rV9LQnXpJ1k7Q9-NtgDi-JR9Wz-99H6RDQs_dRFHY/s640/Screenshot_2019-03-08-16-01-23-748_com.android.settings.png&quot; width=&quot;614&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Configurações da MIUI&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Caso esteja numa versão anterior à 10.2.2.0, vá em configurações &amp;gt; sobre o telefone &amp;gt; atualizações do sistema e baixe a versão mais recente do sistema para seu aparelho.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Quando estiver tudo certo é só baixar&lt;b&gt;&amp;nbsp;&lt;a href=&quot;https://drive.google.com/file/d/1ju275527sAr1zYdLOIktLsfxJli4egJL/view?usp=sharing&quot; target=&quot;_blank&quot;&gt;este arquivo APK&lt;/a&gt;&lt;/b&gt; em seu telefone e instalá-lo como qualquer outro APK. Talvez seja necessário ajustar as configurações de segurança e permitir a instalação de fontes desconhecidas.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Comparativo entre o app de câmera nativo do Pocophone e a Google Câmera&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAp6zolEBl8XWogNZGhfgiWTmsAJdAqB-ocgQ5b__a7CiNDabCdIkgBI9Phni8TQeRQHT1hKskEGqjHymNjWaSI_CoWO9Kxduf9nEXEQjFFqeos8YPos-KeswQgwYlduLZE3OKk2rNr-A/s1600/IMG_20190308_170553.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1440&quot; data-original-width=&quot;1080&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAp6zolEBl8XWogNZGhfgiWTmsAJdAqB-ocgQ5b__a7CiNDabCdIkgBI9Phni8TQeRQHT1hKskEGqjHymNjWaSI_CoWO9Kxduf9nEXEQjFFqeos8YPos-KeswQgwYlduLZE3OKk2rNr-A/s640/IMG_20190308_170553.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Luz ambiente - à direita câmera nativa, à esquerda Google Câmera&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMAyYmXtlOPO9ejeIYKe8rqa_5sFlQrNUrmo-eeUwOd0I3FrrhXEg3oubO-kdCgioSF9_ANSO8LzQ99pgZV4z3qsVi0zo3p5jGNLkD2_sEBwpQtCE_oBbAkuysCGtlYMiCwQLPl2RJXmY/s1600/IMG_20190309_225231.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMAyYmXtlOPO9ejeIYKe8rqa_5sFlQrNUrmo-eeUwOd0I3FrrhXEg3oubO-kdCgioSF9_ANSO8LzQ99pgZV4z3qsVi0zo3p5jGNLkD2_sEBwpQtCE_oBbAkuysCGtlYMiCwQLPl2RJXmY/s640/IMG_20190309_225231.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Luz artificial -&amp;nbsp; câmera nativa&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieg8XpbZpq33ZqJRpg3SQt-XUgFxCO6w_LZtJWZGUGdRvPNNdZukOhZOAfm5ekHrcohq9lbTmf8vmFoSwwzBwlwgxb_JNEnsitXrpIMW5ebKUnvc6kkAVaNgDODXmKsKh_HbDLXhyphenhyphen0ZsA/s1600/IMG_20190309_225010.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieg8XpbZpq33ZqJRpg3SQt-XUgFxCO6w_LZtJWZGUGdRvPNNdZukOhZOAfm5ekHrcohq9lbTmf8vmFoSwwzBwlwgxb_JNEnsitXrpIMW5ebKUnvc6kkAVaNgDODXmKsKh_HbDLXhyphenhyphen0ZsA/s640/IMG_20190309_225010.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Luz artificial - Google Câmera&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEsaqwEHEH39ybYyHA238znluAXlkddrad0K2f7YW7ByflDagit6p9OUxHhLiflnkGLQEJyDdGaSm3SbRgJXc7Cyx7ilN0flKJqYp_Yzr0_WH7OcayKYIi4ffTeYJ2EQRaL_7_8nDqfes/s1600/IMG_20190309_225132.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEsaqwEHEH39ybYyHA238znluAXlkddrad0K2f7YW7ByflDagit6p9OUxHhLiflnkGLQEJyDdGaSm3SbRgJXc7Cyx7ilN0flKJqYp_Yzr0_WH7OcayKYIi4ffTeYJ2EQRaL_7_8nDqfes/s640/IMG_20190309_225132.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Luz artificial - Google Câmera com o modo visão noturna ativado&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1440&quot; data-original-width=&quot;1080&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-uhkkIL0rLCgr6tL9Q1q8feg4AbHrKnEOgMkZOIHZtBomH4x5aafqPbvcLQ_zqcJhKPmjpuja3uoiTmpno9-crxblvcLbdywqygPqHBz4VB_pYmMFnVPe3nX17b7BCH1cBqpa0K0kA70/s640/IMG_20190308_182756.jpg&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;480&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Ambiente com pouquíssima luz - Acima câmera nativa, abaixo Google Câmera com o modo visão noturna ativado&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Tem outro aparelho com Android e quer testar a Google Câmera?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
O pessoal do XDA developers fez port da GCam para vários aparelhos.&amp;nbsp;Você pode ficar de olho no site deles, onde são publicados os APKs modificados, para saber se seu smartphone já foi agraciado com uma versão. &lt;a href=&quot;https://www.xda-developers.com/google-camera-port-hub/&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Este link&lt;/b&gt;&lt;/a&gt;&amp;nbsp;contém uma lista de aparelhos com as instruções para instalação da Google Câmera em cada um deles, talvez o seu esteja aí, vale a pena conferir.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Se alguém tiver alguma dúvida sobre a utilização do app, problemas na instalação ou qualquer outra coisa pode deixar aí nos comentários que responderei o mais breve possível.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Até a próxima!&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2019/03/como-instalar-google-camera-no.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvo94GehTdGpIfGLWPhaO3Zfi_xZvDW6q0NxQnYpIICbVF_kcRBeOjoydX20nH7mYdUIcl4-Y9_mwd67ZvePkI7WYWz-QcLa36fvImKKFgpiN200wOtB4Uz4n44hViTbuLQ12cj8R9xRo/s72-c/Screenshot_2019-03-08-16-31-55-674_com.google.android.GoogleCameraNext.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-4926497267028228596</guid><pubDate>Mon, 04 Mar 2019 17:00:00 +0000</pubDate><atom:updated>2019-03-04T19:48:58.779-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Pocophone F1</category><category domain="http://www.blogger.com/atom/ns#">Xiaomi</category><title>Minha experiência com o Xiaomi Pocophone F1</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDOpxpv86jtgh4mUZ7ieM3zCJ4Esbnrc-ibhOgcOGxSO8WJA1GBrHMAFsvkxkSsVFMNlNnCyfQPUwGbEuG7DZMlPsUSeKaARhB95pEnm7vyDmHrZvLc9ndvL5gK7XJACPFSNs2oKQBPYk/s1600/IMG_20190304_112649.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1510&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDOpxpv86jtgh4mUZ7ieM3zCJ4Esbnrc-ibhOgcOGxSO8WJA1GBrHMAFsvkxkSsVFMNlNnCyfQPUwGbEuG7DZMlPsUSeKaARhB95pEnm7vyDmHrZvLc9ndvL5gK7XJACPFSNs2oKQBPYk/s640/IMG_20190304_112649.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Pocophone F1&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
E aí essa galera, quanto tempo!&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Retornei para compartilhar com vocês (se ainda tiver alguém aí depois de todos esses anos sumido) minha experiência com o smartphone Pocophone F1, da Poco, submarca da Xiaomi. Este aparelho foi lançado ano passado e tem como atrativos as suas características de top de linha e preço justo.&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Ele vem de fábrica com a MIUI, que é interface da Xiaomi que roda sobre o sistema operacional Android. A versão que eu estou utilizando já está atualizada para o Android 9 Pie. No geral a interface é bem amigável, elegante, a utilização dos menus é intuitiva e autoexplicativa e a rom presente no Pocophone tem algumas diferenças da que está nos outros smartphones da Xiaomi. A principal delas é que, nesse celular, a MIUI ganhou uma gaveta de aplicativos igual a do Android puro, deixando de lado a navegação através das telas iniciais, como no iOS.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaQlcP-nZrzEa_vf0mZaqe8B97P2jR98SIW6Cm68ThB77dhDbqtxiNFWy6hdPkj3cgC4IJo1mvbfgpIe-7tQ_DXOcs2RcYcEWvFrukBos8uSyzGuHoyC_RSc9daP8wrmTyIMQNpQrbTmw/s1600/Screenshot_2019_03_04_13_34_10_335_com.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1543&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaQlcP-nZrzEa_vf0mZaqe8B97P2jR98SIW6Cm68ThB77dhDbqtxiNFWy6hdPkj3cgC4IJo1mvbfgpIe-7tQ_DXOcs2RcYcEWvFrukBos8uSyzGuHoyC_RSc9daP8wrmTyIMQNpQrbTmw/s640/Screenshot_2019_03_04_13_34_10_335_com.png&quot; width=&quot;616&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Tela inicial e gaveta de apps&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Há um detalhe interessante: Junto dos apps do Google e das ferramentas da própria Xiaomi, uma pasta inteira com aplicativos da Microsoft vem pré-instalada, incluindo o Skype, além dos aplicativos do Office.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O corpo do smartphone é todo feito de plástico policarbonato e na parte traseira há duas câmeras dispostas verticalmente, uma com abertura f/1.9 de 12 megapixels (Sony IMX363) e outra com abertura f/2.0 de 5 megapixels usada principalmente para capturar a profundidade de campo e fazer o efeito bokeh artificial (aquele efeito de fundo desfocado). Ainda na parte traseira há um flash led e um sensor de impressões digitais.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Por ter como processador o Snapdragon 845 (mesmo chipset presente no Galaxy S9 e no Xiaomi Mi8) e 6GB de memória RAM, o F1&amp;nbsp;pode lidar com jogos, vídeos em 4K ou outras tarefas exigentes. Os aplicativos são iniciados sem atrasos e tudo é executado rapidamente. A navegação na web utilizando o Google Chrome é bem fluida. Além disso, o dispositivo não superaquece devido à tecnologia&amp;nbsp;LiquidCool&lt;span style=&quot;color: #272526; font-family: &amp;quot;open sans&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 18px;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;que utiliza vapor d&#39;água para distribuir o calor de forma uniforme.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A tela do Pocophone é uma&amp;nbsp;IPS de 6,18″ com resolução FullHD+ (2246 x 1080); ela possui proteção Gorilla Glass numa versão não especificada pela fabricante.&amp;nbsp; A visualização de conteúdos é muito boa e apresenta um bom contraste de cores e saturação equilibrada; ela possui um notch (aquele entalhe que infestou o mercado de smartphones graças à tendência lançada pela Apple e seu iPhone X). No notch estão presentes alguns sensores, incluindo um de infravermelho para desbloqueio facial (!) e uma câmera de 20 megapixels. Na parte inferior da tela há um led para notificações que pisca somente na cor branca.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJP5xp14SAhNkLfcTspCXX7mlKgtRB8mHNF_GenHk2nMFkbLF0IwaI5fpn3NgUaWHd6EtMAmUqUmkUaiCffH3XwleN69dCBmm7vQwk9YlQaiNgqXbj6ogRZHAri2M1by2DbqgF9IJwsw8/s1600/IMG_20190304_112743.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJP5xp14SAhNkLfcTspCXX7mlKgtRB8mHNF_GenHk2nMFkbLF0IwaI5fpn3NgUaWHd6EtMAmUqUmkUaiCffH3XwleN69dCBmm7vQwk9YlQaiNgqXbj6ogRZHAri2M1by2DbqgF9IJwsw8/s640/IMG_20190304_112743.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Notch, camera frontal e sensores&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Uma característica que me surpreendeu positivamente nesse aparelho foi a qualidade do áudio dos seus alto-falantes. Os som emitido apresenta bons graves e se mantém equilibrado mesmo no volume máximo, sem apresentar muitas distorções ou chiados. O som é estéreo, porém caixa de som secundária é a mesma utilizada para chamadas e não é muito potente.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O alto-falante principal fica localizado na parte de baixo do aparelho, e na parte superior há uma entrada padrão de 3,5mm para fone de ouvidos.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Outro grande destaque do Pocophone é sua bateria de 4000mAh que é suficiente para, com o meu perfil de uso, deixar o smartphone cerca de um dia e meio longe das tomadas. O celular ainda dá suporte à tecnologia Quick Charge 4.0 para carregamento rápido, porém o carregador que vem na caixa é Quick Charge 3.0, ou seja, para aproveitar todo o potencial de carregamento temos que adquirir um carregador compatível à parte.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Tudo nesse gadget tem me agradado, ele não possui o design mais elegante, nem uma construção premium com corpo de alumínio ou vidro (quem precisa disso?), mas o desempenho dele nas tarefas do dia a dia é impecável, tudo feito nele é muito rápido e fluido.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Atualmente ele é um dos aparelhos com a melhor relação custo x benefício do mercado.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Especificações completas:&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;DIMENSÕES&lt;/b&gt;: 155,5 x 75,3 x 8,8 mm&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;PESO&lt;/b&gt;: 180 g&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;TAMANHO DA BATERIA&lt;/b&gt;: 4000 mAh&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;TAMANHO DA TELA&lt;/b&gt;: 6,18 polegadas&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;TECNOLOGIA DA TELA&lt;/b&gt;: IPS LCD&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;TELA&lt;/b&gt;: 2246 x 1080 pixels (403 ppi)&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;CÂMERA FRONTAL:&lt;/b&gt; 20 megapixels&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;CÂMERAS TRASEIRAS:&amp;nbsp;&lt;/b&gt;12 megapixels + 5 megapixels&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;FLASH&lt;/b&gt;: Dual-LED&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;RAM&lt;/b&gt;: 6 GB / 8GB (estou com a versão de 6GB)&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;MEMÓRIA INTERNA&lt;/b&gt;: 64/ 128 / 256GB (estou com a versão de 128GB)&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;MEMÓRIA REMOVÍVEL&lt;/b&gt;: microSD&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;CHIPSET&lt;/b&gt;: Qualcomm Snapdragon 845&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;NÚMERO DE NÚCLEOS&lt;/b&gt;: 8&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;VELOCIDADE MÁX&lt;/b&gt;.: 2,8 GHz&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;b&gt;CONECTIVIDADE:&amp;nbsp;&lt;/b&gt;HSPA, LTE, Dual-SIM , Bluetooth 5.0, USB-C&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Alguém aí possui o aparelho? Pretende comprar? Já conheciam o dispositivo ou a marca?&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Podem comentar, não se acanhem! Até a próxima! :)&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2019/03/minha-experiencia-com-o-xiaomi.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDOpxpv86jtgh4mUZ7ieM3zCJ4Esbnrc-ibhOgcOGxSO8WJA1GBrHMAFsvkxkSsVFMNlNnCyfQPUwGbEuG7DZMlPsUSeKaARhB95pEnm7vyDmHrZvLc9ndvL5gK7XJACPFSNs2oKQBPYk/s72-c/IMG_20190304_112649.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-918543538010212226</guid><pubDate>Sun, 28 May 2017 15:45:00 +0000</pubDate><atom:updated>2019-03-04T13:41:11.750-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Apple</category><category domain="http://www.blogger.com/atom/ns#">Cópia</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Facebook</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Notícias</category><category domain="http://www.blogger.com/atom/ns#">Plágio</category><category domain="http://www.blogger.com/atom/ns#">Samsung</category><category domain="http://www.blogger.com/atom/ns#">Snapchat</category><category domain="http://www.blogger.com/atom/ns#">Xiaomi</category><title>Plágio: Qual o limite?</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFhK9ka2Ol4zNMHdPHwGZA80qaKJ_zG4-M1lzpcVE_J-4PpdvAXNBdvcDOwFoEcGwTqn9o7OvrqkiC1RLjc0tIGlxMkbpsnhrQj-0qStL9LA1m3lL86HV8w1L-Yi94nrIrfEAw5KAYFMY/s1600/facebook+vs+snapchat+-+tecnofator.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFhK9ka2Ol4zNMHdPHwGZA80qaKJ_zG4-M1lzpcVE_J-4PpdvAXNBdvcDOwFoEcGwTqn9o7OvrqkiC1RLjc0tIGlxMkbpsnhrQj-0qStL9LA1m3lL86HV8w1L-Yi94nrIrfEAw5KAYFMY/s640/facebook+vs+snapchat+-+tecnofator.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
No dia 10 de maio, a Snap Inc., empresa dona do Snapchat, revelou seus resultados financeiros para o primeiro trimestre do ano e, como já era de se esperar, eles não foram muito bons. Com certeza isso se deve ao fato do Facebook ter literalmente copiado aquele que era o principal recurso do aplicativo: os stories.&lt;br /&gt;
&lt;br /&gt;
Toda essa história entre as duas empresas começou quando o Facebook tentou comprar o Snapchat, em 2013, por uma oferta de US$ 3 bilhões. Naquela época os desenvolvedores do Snapchat acreditavam que o aplicativo poderia valer bem mais em alguns anos e por isso recusaram a venda.&lt;br /&gt;
Desde então o Facebook vinha tentando criar sua própria versão do aplicativo; foram vários. Um deles, chamado Flash, estreou no mercado brasileiro antes do resto do mundo, mas não fez sucesso nenhum.&lt;br /&gt;
&lt;br /&gt;
Depois de algumas tentativas fracassadas, os desenvolvedores do Facebook resolveram incluir o formato efêmero do Snapchat dentro do Instagram; e foi um sucesso. A partir disso, a Snap Inc. começou a perder muitos usuários ativos, visto que boa parte deles também tinha conta no concorrente e agora não precisavam mais usar o seu app, já que era possível ter os mesmos recursos dele dentro do próprio Instagram.&lt;br /&gt;
&lt;br /&gt;
Eu acredito que outros fatores também influenciaram a debanda de usuários para a plataforma rival, como, por exemplo, o fato da interface do Instagram Stories ser muito mais intuitiva que a do Snapchat. A dinâmica de uso deste último é muito confusa. A interface, apesar de inovadora, não é clara e fácil de usar. Toda a IHC parece ter &quot;sido projetada para restringir o uso do app a um público mais jovem&quot; como afirma Paulo Higa, no podcast do Tecnoblog. Sem contar o fato do cliente do Snapchat ser muito pesado e travar bastante, principalmente no Android.&lt;br /&gt;
&lt;br /&gt;
Percebendo o sucesso do Stories, o Facebook resolveu inserir o formato em todos os aplicativos do seu catálogo: no WhatsApp, o recurso substituiu a frase que antes era chamada de Status, no Messenger, ele é chamado de Messenger Day e no aplicativo oficial da rede social de Mark Zuckerberg é homônimo ao do Instagram.&lt;br /&gt;
&lt;br /&gt;
Com isso tudo acontecendo, fica a questão: Qual o limite para o plágio?&lt;br /&gt;
&lt;br /&gt;
Não é a primeira vez que vemos isso no mundo da tecnologia. Já tivemos casos como o da Microsoft copiando a interface gráfica da Apple lá nos primórdios da computação pessoal. Sendo que a Apple já tinha copiado a interface da Xerox. Sim, isso mesmo. Foi a nossa querida e famigerada Xerox Corporation quem inventou, além da fotocopiadora, o conceito de interface gráfica e mouse para computador que Jobs viu e soube realizar. E Gates foi genial ao sacar como monetizar.&lt;br /&gt;
&lt;br /&gt;
Há também outros casos mais recentes como a Samsung e a Xiaomi copiando o design do iPhone para seus aparelhos e a interface gráfica do iOS para suas versões do Android.&lt;br /&gt;
&lt;br /&gt;
Os casos citados acima foram parar nos tribunais com as empresas copiadas processando suas rivais. Mas, até agora, no caso Facebook versus Snapchat, a Snap Inc. ainda não tentou nada contra o Facebook nos tribunais. Eu andava me perguntando o motivo disso e acabei descobrindo que a Snap não teria como ganhar um processo. Isso porque o que a empresa criou foi somente um novo conceito, uma nova forma de você interagir pela internet.&lt;br /&gt;
&lt;br /&gt;
Existe um termo, quando se discute direito de propriedade intelectual, chamado &quot;dicotomia entre ideia e expressão&quot;, que é um termo complicado para descrever que você não pode patentear uma ideia, mas pode patentear a execução dessa ideia. Isso significa que a Snap Inc. só poderia processar o Facebook caso descobrisse que os programadores da empresa de Mark estão utilizando um código fonte muito parecido com o deles para implementar a função Stories.&lt;br /&gt;
&lt;br /&gt;
Eu penso que é válido copiar quando é feita uma &quot;cópia melhorada&quot;, uma cópia que não deixa de ser cópia, mas acrescenta algo, o que sempre traz benefício para os usuários. Resumindo, é aquela história do meme: &quot;pode copiar, só não faz igualzinho&quot;.&lt;br /&gt;
&lt;br /&gt;
Qual a opinião de vocês sobre isso? É errado fazer esse tipo de cópia? Ou é certo porque é benéfico para nós, os usuários finais?&lt;br /&gt;
&lt;br /&gt;
Deixem-me saber nos comentários.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fontes: &lt;a href=&quot;https://tecnoblog.net/&quot; target=&quot;_blank&quot;&gt;Tecnoblog&lt;/a&gt;, &lt;a href=&quot;http://webinsider.com.br/2009/08/25/a-historia-das-marcas-xerox-apple-e-microsoft/&quot; target=&quot;_blank&quot;&gt;WebInsider&lt;/a&gt;, &lt;a href=&quot;http://g1.globo.com/tecnologia/noticia/2013/11/app-snapchat-recusou-oferta-de-us-3-bilhoes-do-facebook-diz-jornal.html&quot; target=&quot;_blank&quot;&gt;G1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2017/05/plagio-qual-o-limite.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFhK9ka2Ol4zNMHdPHwGZA80qaKJ_zG4-M1lzpcVE_J-4PpdvAXNBdvcDOwFoEcGwTqn9o7OvrqkiC1RLjc0tIGlxMkbpsnhrQj-0qStL9LA1m3lL86HV8w1L-Yi94nrIrfEAw5KAYFMY/s72-c/facebook+vs+snapchat+-+tecnofator.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-8480223901268704732</guid><pubDate>Wed, 07 Dec 2016 10:00:00 +0000</pubDate><atom:updated>2019-03-04T13:45:44.864-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">Notícias</category><title>Este aqui é o melhor player de música para Android</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Desde que o Google Play Music começou a desfazer as minhas playlists com músicas do cartão de memória a cada vez que eu reiniciava o celular, andava à procura de um player de música novo. Nesse meio tempo, usei bastante o player de musica padrão da MIUI enquanto não encontrava um melhor, ele é razoavelmente bom, mas sua interface não é das melhores e ele possui apenas recursos bem básicos. Contudo, não é dele que vou falar aqui hoje.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Durante a minha busca por um novo leitor de música decente eu testei alguns dos disponíveis na Play Store e acabei encontrando o &lt;b&gt;n7Player.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_fd7RcwZNdK0c55jx9OAvoB7Zhg_ocBcH_wzF3_c4P3f-1E8SK321zbTI6RSt6Dxz2diXmmFz459GxFwe_HkeGtZ2qnSuy5AubDKyR7i2OMW6DX309S65AvtT_cScSLTzbVsSwbsV-l8/s1600/Screenshot_2016-12-06-20-56-09-769_com.n7mobile.nplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_fd7RcwZNdK0c55jx9OAvoB7Zhg_ocBcH_wzF3_c4P3f-1E8SK321zbTI6RSt6Dxz2diXmmFz459GxFwe_HkeGtZ2qnSuy5AubDKyR7i2OMW6DX309S65AvtT_cScSLTzbVsSwbsV-l8/s640/Screenshot_2016-12-06-20-56-09-769_com.n7mobile.nplayer.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Esse aplicativo me surpreendeu pela interface bonita e inovadora, diferente de qualquer outro player que eu já tinha visto. Nele, a biblioteca de mídia é exibida de maneira diferente. É possível contar com as divisões comuns (por artista, gênero, álbum, etc.), mas a experiência do n7Player vai além.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
As bandas e os artistas da biblioteca aparecem em uma nuvem de palavras, com destaque para aqueles que possuem mais álbuns armazenados no aparelho. Quando usamos o movimento de pinça para dar zoom nessas palavras, o app vai ampliando tudo até exibir um mosaico com os álbuns e suas respectivas capas; ao clicar sobre algum deles, a lista faixas é exibida.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggf8yWA9ZO41fHaLea5L4XI9CXx5YhJHRN0x3_FfxZqtwa2cAGxnl4t5fyRqOggKplFdkgjRBfbWVlodjnN9e_QmHgZcAkKM67CdWh9eHw01gqNRVOSqbSZ9nQLJhJO8GSvHHHCnqk75c/s1600/Screenshot_2016-12-06-20-56-20-779_com.n7mobile.nplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggf8yWA9ZO41fHaLea5L4XI9CXx5YhJHRN0x3_FfxZqtwa2cAGxnl4t5fyRqOggKplFdkgjRBfbWVlodjnN9e_QmHgZcAkKM67CdWh9eHw01gqNRVOSqbSZ9nQLJhJO8GSvHHHCnqk75c/s640/Screenshot_2016-12-06-20-56-20-779_com.n7mobile.nplayer.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Outra característica interessante do n7 é que ele baixa automaticamente as capas dos álbuns que estão faltando. Há também um equalizador que vem com opções pré-determinadas &amp;nbsp;e um modo de configuração livre. Além disso é possível personalizar a interface modificando as cores das fontes, ícones e plano de fundo.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyMrcI3hKIYUsdZeoT2K8n0Gec_4RlwhcsigqDwj15FbkWRj-QnY28guAM7A2Ii2TUHPhehBdSDZqIaXreFPO07lMoPO72qFHeNWr6KdY5qxAbZ6ajZIXR9wplovGsbSKpj5cEEph-mr8/s1600/Screenshot_2016-12-06-20-59-44-165_com.n7mobile.nplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyMrcI3hKIYUsdZeoT2K8n0Gec_4RlwhcsigqDwj15FbkWRj-QnY28guAM7A2Ii2TUHPhehBdSDZqIaXreFPO07lMoPO72qFHeNWr6KdY5qxAbZ6ajZIXR9wplovGsbSKpj5cEEph-mr8/s640/Screenshot_2016-12-06-20-59-44-165_com.n7mobile.nplayer.png&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Gostou e quer baixar?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O n7 é um aplicativo maravilhoso, mas isso tem um preço. Atualmente ele custa R$11,99 na Play Store e não possui uma versão gratuita, apenas uma avaliação de 10 dias. &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.n7mobile.nplayer&amp;amp;hl=pt_BR&quot; target=&quot;_blank&quot;&gt;Clique aqui para baixá-lo.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Uma alternativa gratuita ao n7Player&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Se você não quiser desembolsar essa pequena fortuna com o n7, apresento-lhes o &lt;b&gt;Pi Player. &lt;/b&gt;Visualmente ele não é tão bonito quanto o n7, porém entrega uma interface do usuário bem integrada ao Material Design, com um layout limpo e intuitivo que traz uma boa experiência de usuário.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghML4i7PjJShWegPHUNkbneun2xsATalpZO7ngDOYe6bS0_enhkMuJGBF2dy0SDf3AzzDLIzc2AIDxb3340emK7mgvPU3Xj7EQlf-GPMMyDfOex_A8SB1-bSujQts23tfXlL9hODNH9lQ/s1600/Screenshot_2016-12-06-21-35-00-483_com.Project100Pi.themusicplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghML4i7PjJShWegPHUNkbneun2xsATalpZO7ngDOYe6bS0_enhkMuJGBF2dy0SDf3AzzDLIzc2AIDxb3340emK7mgvPU3Xj7EQlf-GPMMyDfOex_A8SB1-bSujQts23tfXlL9hODNH9lQ/s640/Screenshot_2016-12-06-21-35-00-483_com.Project100Pi.themusicplayer.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O que me surpreendeu no Pi foi a simplicidade com que as tarefas são executadas. Tudo nele é bem direto, toda a biblioteca fica distribuída em abas pela tela inicial e é isso. Ele ainda possui algumas animações minimalistas que deixam a UI mais elegante.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOnTx4joz_9K1IXdTdZDTdrui-724xA3p9ZeHyuxDNlaADIJXd3tSMG6989CMZBoAf0sysAOPHa4DrT7h851KCWkYBhcjWOaCyhaXF2oBGr35Yo4RpjxDK1t9LqAd3xCaSgcda9a65K_8/s1600/Screenshot_2016-12-06-21-34-22-745_com.Project100Pi.themusicplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOnTx4joz_9K1IXdTdZDTdrui-724xA3p9ZeHyuxDNlaADIJXd3tSMG6989CMZBoAf0sysAOPHa4DrT7h851KCWkYBhcjWOaCyhaXF2oBGr35Yo4RpjxDK1t9LqAd3xCaSgcda9a65K_8/s640/Screenshot_2016-12-06-21-34-22-745_com.Project100Pi.themusicplayer.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Dentre as principais funcionalidades do Pi Player estão:&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Uma ferramenta para cortar qualquer arquivo mp3;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Recurso para compartilhamento de música;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Visualização de música por pastas;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Sleep Timer;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Uso do Swipe para mudar as músicas na tela de execução;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Ferramenta para editar metadados das faixas (nome, álbum, artista, gênero, etc);&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Três temas - Gloss, Luz e Dark;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Controles na tela de bloqueio;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Transições suaves e animações;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
- Suporte a Widget.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8P0OGURfInDe35fsDtaRoMzKnE8DxVClpiHHHoK4sny_LpeYEenkXarg2I21v0Fz2h7CJiyIa0GX6WdwLTqDEAv2pRIAypKTUyQM3mgNIbvta1wR-Llq10kP2tt9Ea2_sew1REOtNIU/s1600/Screenshot_2016-12-06-21-38-00-311_com.Project100Pi.themusicplayer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8P0OGURfInDe35fsDtaRoMzKnE8DxVClpiHHHoK4sny_LpeYEenkXarg2I21v0Fz2h7CJiyIa0GX6WdwLTqDEAv2pRIAypKTUyQM3mgNIbvta1wR-Llq10kP2tt9Ea2_sew1REOtNIU/s640/Screenshot_2016-12-06-21-38-00-311_com.Project100Pi.themusicplayer.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Por ser gratuito, o Pi Music Player exibe anúncios para gerar receita para seus desenvolvedores. Isso não chega a ser um problema porque os anúncios são discretos e nada invasivos, não atrapalham a reprodução das músicas.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Para baixá-lo, &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.Project100Pi.themusicplayer&amp;amp;hl=pt_BR&quot; target=&quot;_blank&quot;&gt;acesse a Play Store.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/12/este-aqui-e-o-melhor-player-de-musica.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_fd7RcwZNdK0c55jx9OAvoB7Zhg_ocBcH_wzF3_c4P3f-1E8SK321zbTI6RSt6Dxz2diXmmFz459GxFwe_HkeGtZ2qnSuy5AubDKyR7i2OMW6DX309S65AvtT_cScSLTzbVsSwbsV-l8/s72-c/Screenshot_2016-12-06-20-56-09-769_com.n7mobile.nplayer.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-419067085229560529</guid><pubDate>Mon, 31 Oct 2016 23:06:00 +0000</pubDate><atom:updated>2019-03-04T13:43:13.791-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Destaque</category><category domain="http://www.blogger.com/atom/ns#">MIUI</category><category domain="http://www.blogger.com/atom/ns#">Notícias</category><category domain="http://www.blogger.com/atom/ns#">Xiaomi</category><title>MIUI 8 – O que há de novo?</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A Xiaomi vem liberando, desde agosto, a nova versão da sua ROM e a atualização finalmente chegou aos aparelhos disponíveis no Brasil, Redmi 2 e Redmi 2 Pro. A MIUI 8 veio com algumas novidades na interface, mudanças positivas e outras negativas em aplicativos e novas funcionalidades, das quais falarei ao longo dessa postagem.&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDDi6l6u6HaNMFE9f96PDUR3xKEIQgzugtIxibrhMX2u7GXFsl3FJFbxr_LEVdKOU-C-seIGUuv57-z_d5xbjpJwLFsinG2P6vNvwxpuVkU-k8oE6P2ZUjU2E996GbGrIsteeyvo8j9Ps/s1600/miui+8+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;560&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDDi6l6u6HaNMFE9f96PDUR3xKEIQgzugtIxibrhMX2u7GXFsl3FJFbxr_LEVdKOU-C-seIGUuv57-z_d5xbjpJwLFsinG2P6vNvwxpuVkU-k8oE6P2ZUjU2E996GbGrIsteeyvo8j9Ps/s640/miui+8+tecnofator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Vamos começar por uma das novidades mais legais dessa ROM: uma nova animação de captura de tela. Agora, no momento em que você tira um Screenshot, uma miniatura da tela capturada flutua até o canto superior do display e fica ali por alguns segundos, esperando por alguma ação. Quando você toca sobre ela, aparecem opções para compartilhamento, edição, exclusão e mais uma função interessante da MIUI 8: a captura de tela estendida. Com essa funcionalidade é possível estender longitudinalmente uma captura de tela. Ela é útil quando é necessário capturar um texto grande que não cabe totalmente na imagem exibida na tela no momento, por exemplo.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Confira no vídeo abaixo a funcionalidade da ferramenta:&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/Euy0mmzH3yI/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/Euy0mmzH3yI?feature=player_embedded&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A aba de notificações da MIUI 8 sofreu modificações bem radicais. O padrão dessa tela, que até a versão 7.5 da ROM era o modo aba dupla, agora vem em um modo de tela única onde temos o espaço para notificações e um carrossel de atalhos deslizantes, algo muito parecido com a aba de notificações da TouchWiz, interface da Samsung. Eu, particularmente, não gostei dessa modificação. É bem inconveniente não poder acessar todos os toggles de maneira mais direta. Felizmente é possível voltar para o padrão antigo nas configurações. A aba de notificações agora também exibe informações sobre o clima do local onde você está, e muda de cor ao sabor deste. Ela fica azul quando está nublado, roxa quando está frio, etc.&lt;/div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjluSS888LYwQnKYx1NZY9FJJMJT7NPtz9NEtzjDCKzhr2c8N6l9iiVQErj-g4HRk2DDlS1GvCXiTTl6Bts_DHzg1CSiOf2gdQFK81UwLmf72X59rkL_QpiLrbzGqZz5xKhcIqqtzEk2gs/s1600/barra+de+notifica%25C3%25A7%25C3%25B5es+miui+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjluSS888LYwQnKYx1NZY9FJJMJT7NPtz9NEtzjDCKzhr2c8N6l9iiVQErj-g4HRk2DDlS1GvCXiTTl6Bts_DHzg1CSiOf2gdQFK81UwLmf72X59rkL_QpiLrbzGqZz5xKhcIqqtzEk2gs/s640/barra+de+notifica%25C3%25A7%25C3%25B5es+miui+tecnofator.png&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Quando ensolarado, ela fica esverdeada.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A nova ROM da Xiaomi também trouxe um novo sistema de gerenciamento de energia bem mais robusto que o das versões anteriores. O sistema dá informações detalhadas sobre a bateria, incluindo tempo estimado restante de duração de carga, quantidade de mAh disponível, voltagem e também monitora a temperatura do aparelho, exibindo um aviso de superaquecimento sempre que a mesma ultrapassa um limite em graus Celsius definido por padrão como 45º, mas é possível escolher outras opções de limite nas configurações. Não há mais perfis de bateria definidos pelo usuário, eles foram substituídos por um modo de economia de energia geral que monitora os processos em segundo plano para proporcionar uma economia maior. Além disso, o software ainda realiza análise dos gastos de bateria por aplicativos e sugere otimizações para economizar mais energia.&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22OWsU223jgyd_ynwUph0OeWXmrbT88rYTat4u5qMMo9-cv6ddxQnX7oiMpuHqi4aQyueZZU9A5kvJfxD7giJGydiUoKe5t6HWUysKlleS-v2WeEcgR7fCulK2u-vd1YLNCHE1uJ0GHY/s1600/energia+miui+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;378&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh22OWsU223jgyd_ynwUph0OeWXmrbT88rYTat4u5qMMo9-cv6ddxQnX7oiMpuHqi4aQyueZZU9A5kvJfxD7giJGydiUoKe5t6HWUysKlleS-v2WeEcgR7fCulK2u-vd1YLNCHE1uJ0GHY/s640/energia+miui+tecnofator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Informações detalhadas sobre o consumo de bateria (Clique para ampliar).&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O aplicativo de notas também recebeu novidades. As anotações agora são distribuídas em quadros grandes pela interface do aplicativo e é possível adicionar templates personalizados ao fundo das notas criadas. Também dá para exportar uma nota como imagem *jpg.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvyKsz3RUX_vy5X5ZgfXp8XCmPggfFWIHy3yPJXYWvkEc7hUyWxs-DkXs0OwdmKaMng1s7CoSFvveqBVKRwGjqyGBndUwfrih5l6dCkH_E8SxWCtwxkFTcic4ejCyPaI3Y0PzBsbzLg-8/s1600/app+de+notas+miui+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvyKsz3RUX_vy5X5ZgfXp8XCmPggfFWIHy3yPJXYWvkEc7hUyWxs-DkXs0OwdmKaMng1s7CoSFvveqBVKRwGjqyGBndUwfrih5l6dCkH_E8SxWCtwxkFTcic4ejCyPaI3Y0PzBsbzLg-8/s640/app+de+notas+miui+tecnofator.png&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Templates para personalizar o layout das notas.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O aplicativo de câmera sofreu leves modificações em sua interface e foi incluido um modo de captura no qual é possível fazer com que a câmera dispare quando algum áudio for captado pelo microfone do aparelho. A funcionalidade é a mesma de um timer.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O menu de configurações gerais da MIUI 8 chegou com menos subcategorias. Nessa versão, quase todas as principais configurações, que antes ficavam escondidas dentro de outros menus, aparecem na tela de ajustes principal.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A interface da Galeria sofreu modificações, ao meu ver, desnecessárias. Nessa versão, todos os álbuns, com exceção do com as fotos da câmera, videos e capturas de tela, ficam escondidos dentro de um submenu, tornando o acesso mais demorado, já que adiciona mais uma etapa para chegar às imagens, e isso chega a ser irritante para quem estava acostumando com a versão anterior (meu caso), onde os álbuns ficavam todos dispostos numa segunda tela. Apesar disso, a Galeria ganhou um editor de vídeos com recursos como recortes, inserção de áudio, texto e filtros, sendo 3 desses filtros modelos de edição automática que geram vídeos bem legais a partir do seu. Compartilhar um item dessa aplicação também ficou mais fácil, basta deslizar de baixo para cima no conteúdo a ser compartilhado que a tela de compartilhamento aparecerá; nessa interface é possível aplicar um filtro antes de enviar uma imagem.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqtd4e1Qt3ONsJW_vbiQb7hZOK85kC-30g8rZjDYzQLz4bN01fyO5D09lAJuWQI8uRDXYS8U6AU0O3YNMJ2PmAT-G609caSQlpO6IDVRcoLL-aiM248NGkWh7rpl3ff5xIOe5ffKhcN-U/s1600/galeria+miui+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqtd4e1Qt3ONsJW_vbiQb7hZOK85kC-30g8rZjDYzQLz4bN01fyO5D09lAJuWQI8uRDXYS8U6AU0O3YNMJ2PmAT-G609caSQlpO6IDVRcoLL-aiM248NGkWh7rpl3ff5xIOe5ffKhcN-U/s640/galeria+miui+tecnofator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Nova organização da galeria e editor de videos.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Algumas outras novas funcionalidades da MIUI 8 são:&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Função Dual Apps – Permite clonar aplicações para ter duas cont&lt;/span&gt;&lt;/span&gt;as ativas em simultâneo (duas contas de WhatsApp, por exemplo, uma para cada chi&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;p);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Second Space – Permite criar uma segunda sessão de m&lt;/span&gt;&lt;/span&gt;odo a separar, por exemplo, o trabalho do lazer (Como as contas de usuário do Windows);&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Agora é possível configurar atalhos para aplicativos na tela de bloqu&lt;/span&gt;&lt;/span&gt;eio;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Controles do media player aparecem na tela de multitar&lt;/span&gt;&lt;/span&gt;efas;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Caller ID – detecta informações do contato mesmo que você não o tenha em sua agenda. Isto vale tanto para chamadas como em SMS. (Na prática, só funciona para número de empresas, anunciantes,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;etc.);&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Quick Ball – Uma esfera flutuante (como aquela do Messenger do Facebook) que pode ser ativada na interface e, quando tocada, exibe atalh&lt;/span&gt;&lt;/span&gt;os;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;ul style=&quot;border: 0px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; list-style: none; margin: 0px 0px 15px 30px; padding: 0px; text-align: start; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;li style=&quot;border: 0px; font-stretch: inherit; line-height: inherit; list-style: square; margin: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;Calculadora redesenhada capaz de calcular e converter quase&lt;/span&gt;&lt;/span&gt; tudo&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Nem tudo são flores...&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Apesar de trazer muitas novidades e funcionalidades exclusivas nativamente, a MIUI 8, mesmo em sua versão global estável, também trouxe muitos bugs. Há relatos de usuários que não conseguem abrir a Galeria e eu já percebi que o gerenciamento de memória também não é muito eficiente nessa versão. O sistema consome mais RAM do que a versão 7.5, o que faz com que alguns aplicativos comecem a travar em certas circunstâncias, o que não ocorria com tanta frequência antes. Além disso, em determinados momentos a interface pisca uma imagem azul em parte da tela e a Galeria simplesmente não exibe a miniatura de algumas imagens.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A Xiaomi costuma ouvir seus usuários e por causa da quantidade expressiva de reclamações, ela provavelmente já está trabalhando na correção dessas falhas.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Ah, e, apesar de ter sido anunciada com Android 6.0 Marshmallow, a MIUI 8 para o Redmi 2/ Redmi 2 PRO é, pelo menos por enquanto, baseada no Android 5.1 Lollipop. Outros aparelhos da Xiaomi a receberam com o Marshmallow.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/10/miui-8-o-que-ha-de-novo.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDDi6l6u6HaNMFE9f96PDUR3xKEIQgzugtIxibrhMX2u7GXFsl3FJFbxr_LEVdKOU-C-seIGUuv57-z_d5xbjpJwLFsinG2P6vNvwxpuVkU-k8oE6P2ZUjU2E996GbGrIsteeyvo8j9Ps/s72-c/miui+8+tecnofator.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-2527736914354791226</guid><pubDate>Sun, 31 Jul 2016 10:00:00 +0000</pubDate><atom:updated>2019-03-04T13:48:27.618-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Redmi 2</category><category domain="http://www.blogger.com/atom/ns#">Redmi 2 Pro</category><category domain="http://www.blogger.com/atom/ns#">Xiaomi</category><title>Minha experiência com o Xiaomi Redmi 2 PRO</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg11svNB5dhcd_bBAR8R4lBljanH_YLReobLkc0BzTrCH8yYBNnWuty3rMAmoHpVyEJ39WDbZPuBIUEAH0lkZ8eRjjDmivYz4DD49Pp7k7XmKlnnDpuXJIo50lc2xGwoF06Lv1gQWKbbFA/s1600/110777.184551-Redmi-2-Pro.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg11svNB5dhcd_bBAR8R4lBljanH_YLReobLkc0BzTrCH8yYBNnWuty3rMAmoHpVyEJ39WDbZPuBIUEAH0lkZ8eRjjDmivYz4DD49Pp7k7XmKlnnDpuXJIo50lc2xGwoF06Lv1gQWKbbFA/s640/110777.184551-Redmi-2-Pro.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;(Foto: Reprodução/Xiaomi)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
E aí, pessoal? Tem alguém aí? Tudo bem com vocês? Quanto tempo!&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Apareci para compartilhar com vocês minha experiência de uso com o aparelho da Xiaomi diponível no Brasil, o Redmi 2 PRO. O aparelho não é novidade no mercado e possuo este desde o ano passado, mas acredito que pouca gente conhece o gadget e a empresa Xiaomi.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O objetivo desse post não é fazer propaganda, mas, além de minhas impressões, apresentar uma nova opção de marca confiável, já que muita gente se recusa a comprar um aparelho pelo fato de não conhecer a fabricante.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Quando decidi trocar de aparelho fiquei na dúvida entre o Moto G3, o Asus Zenfone 5 e o Redmi 2 PRO. Os três modelos são intermediários e possuem especificações de hardware bem parecidas. Na época, optei pelo modelo menos popular entre os três por causa do preço mais atrativo em relação aos outros dois. Me surpreendi positivamente com o Redmi, o aparelho apresenta um desempenho muito bom e seu maior diferencial é o sistema operacional customizado baseado no Android; falarei sobre ele mais abaixo.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Vamos às especificações do aparelho: O Redmi 2 PRO possui 2 GB de memória RAM, 16GB de memória flash interna, entrada para cartão microSD, câmera traseira de 8MP com flash led e câmera frontal de 2MP, tela de 4,7 polegadas HD (768x1280), processador Snapdragon 410 de 1.2GHz quad-core, Wi-Fi, dual chip 3G e suporta 4G LTE.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O aparelho vem de fábrica com a MIUI, uma rom desenvolvida pela própria Xiaomi e que é o grande destaque do dispositivo. A MIUI modifica profundamente o Android, tudo nela é muito diferente do padrão do sistema da Google e lembra muito mais o iOS da Apple, com todos os aplicativos distribuídos pelas telas iniciais, sem um menu principal. Diferentemente de outras customizações de fabricantes que deixam o Android sobrecarregado de recursos e aplicativos desnecessários (vide TouchWiz), a rom do Redmi é limpa, o que contribui muito para a performance geral do aparelho.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjawyEgJwSe4IjVgExjaCaaWCaRKzAkVHl3TacHv10xZSTEey7n8qPqX_Iwkv5e4gJMxQxZ4Ns_ZaLqJeXsr9EEdS6Fp_r_1vZzZn1iJFfGheImDmSnG6tJwPHmKYCzfPnfTTx3GKu4OHo/s1600/MI_20160731_042421.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjawyEgJwSe4IjVgExjaCaaWCaRKzAkVHl3TacHv10xZSTEey7n8qPqX_Iwkv5e4gJMxQxZ4Ns_ZaLqJeXsr9EEdS6Fp_r_1vZzZn1iJFfGheImDmSnG6tJwPHmKYCzfPnfTTx3GKu4OHo/s640/MI_20160731_042421.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Minhas telas iniciais&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O sistema da Xiaomi não é um launcher que roda sobre o Android, como interfaces de outras fabricantes; as modificações feitas no sistema da Google pela MIUI vão desde a interface gráfica até otimizações de baixo nível para a rom funcionar com fluidez nos aparelhos. A impressão que eu tive é de que tudo nela é feito para tirar melhor proveito do hardware e da melhor maneira possível. É um ecossistema completo com funções exclusivas.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Outro fator interessante sobre a MIUI é que ela segue um ciclo de atualizações e implementações de recursos independente do Android da Google. A Xiaomi costuma liberar uma nova versão beta de sua rom a cada 2 ou 4 semanas e uma versão estável para todos os usuários é liberada em média a cada 2 ou 4 meses.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrL01DPEEsTK6jJiq5BqG1ZNasaCZEN35MMU6BB52iUhAenr2Vo1xeKg_inBWGndKkZ-9pHXxoQUg6WXvW8PnwqOsOWxVpAYsPXu5QaNhvH6gK2d_N43Icb3V0jYyqj482lSWlkoxxtoE/s1600/MI_20160731_042457.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrL01DPEEsTK6jJiq5BqG1ZNasaCZEN35MMU6BB52iUhAenr2Vo1xeKg_inBWGndKkZ-9pHXxoQUg6WXvW8PnwqOsOWxVpAYsPXu5QaNhvH6gK2d_N43Icb3V0jYyqj482lSWlkoxxtoE/s640/MI_20160731_042457.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Painel de configurações/Tela de escolha de tema&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A versão global estável mais recente da MIUI é a 7.5 que começou a ser disponibilizada via OTA no ultimo dia 27 de Julho para usuários do Redmi 2/ Redmi 2 PRO e é baseada na versão 5.1.1 (Lollipop) do Android. A versão 8 da MIUI baseada no Android 6.0 Marshmallow já foi apresentada, mas ainda encontra-se em fase de testes.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A câmera traseira do Redmi 2 PRO entrega imagens com qualidade satisfatória. As fotos capturadas apresentam boa saturação e cores vivas em ambientes bem iluminados. O flash led garante imagens razoavelmente boas em ambientes mais escuros. &amp;nbsp;A câmera frontal também não é ruim, mas apresenta qualidade inferior à traseira, capturando imagens com cores menos definidas e mais granulação. O software da câmera vem equipado com o &quot;Modo Beautiful&quot;, tal recurso, quando ativado, realça do olhos e melhora o aspecto da pele nas fotos tiradas com a câmera frontal, reduzindo manchas, marcas de expressão e rugas; funciona como um pequeno Photoshop embutido que faz correções em tempo real na imagem. Um pequeno defeito desse recurso é que, dependendo da intensidade do efeito que você definir, o software pode deixar as fotos bem esquisitas, com olhos grandes e rosto &quot;derretido&quot;.&lt;/div&gt;
&lt;/div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdYZ7Yfc0oRLoS__L3aURoYcpzxA5JOq3jeLmWTZON5cfSnim0nEBFj3GYkaM01OTvlYPPpaoJICvTLRvA5MXXm7zrXzxLcK1c9rmdU73DObePIHLurYgrdfF5Mhq-dfbYUrUH1c7zdBA/s1600/IMG_20160124_153922.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdYZ7Yfc0oRLoS__L3aURoYcpzxA5JOq3jeLmWTZON5cfSnim0nEBFj3GYkaM01OTvlYPPpaoJICvTLRvA5MXXm7zrXzxLcK1c9rmdU73DObePIHLurYgrdfF5Mhq-dfbYUrUH1c7zdBA/s640/IMG_20160124_153922.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagem capturada com a câmera traseira do Redmi 2 Pro. (Clique para ampliar)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
A bateria do aparelho possui 2.200 mAh e isso é o suficiente para o meu perfil de usuário passar o dia inteiro sem recarregá-lo.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O Redmi 2 PRO não vem com fones de ouvido na caixa, o que não chega a ser um problema. O seu alto-falante, localizado na parte traseira, é de boa qualidade, com sons claros e baixo índice de distorção. Alguns ruídos podem aparecer uma vez ou outra, mas isso só acontece quando colocamos o gadget no volume máximo.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
O desempenho geral do aparelho é muito bom, o sistema não apresenta qualquer lentidão na execução de tarefas cotidianas. A MIUI se sai muito bem no gerenciamento dos 1.2GB de memória disponíveis para os aplicativos instalados pelo usuário (os outros 800MB são ocupados pelo sistema), congelando apps em segundo plano que estão há muito tempo sem ser utilizados, e isso além de poupar memória, poupa bateria.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Ah, apesar de vir embarcada por padrão nos aparelhos da Xiaomi, a MIUI não é exclusiva deles. A empresa disponibiliza o download gratuito da rom em seu &lt;a href=&quot;http://en.miui.com/&quot; target=&quot;_blank&quot;&gt;site oficial&lt;/a&gt;. Lá você pode conferir uma lista com aparelhos de outras fabricantes que são compatíveis com o sistema.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Algum de vocês tem o aparelho? Já conheciam o dispositivo ou a marca? Usam a MIUI em algum aparelho diferente? Podem comentar, não se acanhem! Até a próxima! :)&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/07/minha-experiencia-com-o-xiaomi-redmi-2.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg11svNB5dhcd_bBAR8R4lBljanH_YLReobLkc0BzTrCH8yYBNnWuty3rMAmoHpVyEJ39WDbZPuBIUEAH0lkZ8eRjjDmivYz4DD49Pp7k7XmKlnnDpuXJIo50lc2xGwoF06Lv1gQWKbbFA/s72-c/110777.184551-Redmi-2-Pro.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-5458229407190938337</guid><pubDate>Tue, 03 May 2016 17:08:00 +0000</pubDate><atom:updated>2016-05-03T17:58:54.291-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><title>Stellarium – Aplicativo de astronomia para visualização do céu</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
O &lt;b&gt;Stellarium&lt;/b&gt; é um software cheio de recursos muito interessantes para os apaixonados pela astronomia e curiosos sobre a abóboda celeste.&amp;nbsp;Ele é capaz de simular o céu noturno, diurno e os crepúsculos de forma bem realista.&lt;br /&gt;
Você pode observar constelações, planetas, aglomerados, nebulosas e até mesmo satélites artificiais em 3D. Toda a simulação é rica em detalhes e exibe diversas informações sobre os corpos celestes e as constelações.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg37EvGu-n0wF2j7CIFawMnH-RaLwfKCCf0ampYkoxc9zgxwS7MiMCqOUyHLeCuDlY7Ug35HQpWTKWZD_9KGTR669ClPPP7hCLX-plp4RzIxra9EGSlPNmtSfmSCX7YetEiqQfaXoZXMKU/s1600/Stellarium+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg37EvGu-n0wF2j7CIFawMnH-RaLwfKCCf0ampYkoxc9zgxwS7MiMCqOUyHLeCuDlY7Ug35HQpWTKWZD_9KGTR669ClPPP7hCLX-plp4RzIxra9EGSlPNmtSfmSCX7YetEiqQfaXoZXMKU/s640/Stellarium+tecnofator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
O Stellarium funciona como uma espécie de aplicativo de mapas, só que celeste. Basta dar as suas coordenadas para visualizar uma localização celeste específica, ao mesmo tempo em que é colocado em um ambiente simulado de observação. Através do app é possível, inclusive, escolher visualizar o céu através da perspectiva de outro planeta, como Júpiter e Marte.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Outra função que me chamou bastante a atenção no Stellarium é que ele pode usar o GPS, acelerômetro e giroscópio do aparelho celular para encontrar seu posicionamento e dessa forma permitir que sejamos capazes de identificar uma estrela ou outro corpo celeste apenas apontando o celular para o céu. Assim, o que estiver no lá no momento aparecerá na tela do aplicativo e poderemos ver detalhes e também os desenhos que cada constelação representa; é como se estivéssemos apontando a câmera do celular para o céu e ela identificasse cada estrela e fornecesse informações.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0mDNB0KLKp10uia_JQLFjZD8_ee6tdxRgwxTOE_jkoLndITeu10ZqvLBYLtzDUUytS-Ryg5wRXtWhe99-xS6MQRMLZKnL8Arnm1K1hV3fsr6hy2XXU6s60nla76mflJIgsiyBQLYU9R8/s1600/Stellarium+tecnofator+%25282%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0mDNB0KLKp10uia_JQLFjZD8_ee6tdxRgwxTOE_jkoLndITeu10ZqvLBYLtzDUUytS-Ryg5wRXtWhe99-xS6MQRMLZKnL8Arnm1K1hV3fsr6hy2XXU6s60nla76mflJIgsiyBQLYU9R8/s640/Stellarium+tecnofator+%25282%2529.png&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
O aplicativo ainda te mostra, através da ferramenta&amp;nbsp;&lt;b&gt;Starlore,&lt;/b&gt;&amp;nbsp;os nomes de estrelas e constelações, &amp;nbsp;inclusive em outras culturas, como a chinesa e egípcia.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Gostou e quer baixar?&lt;br /&gt;
&lt;br /&gt;
O Stellarium está &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.noctuasoftware.stellarium&amp;amp;hl=pt_BR&quot; target=&quot;_blank&quot;&gt;disponível na Play Store por R$6,24&lt;/a&gt;. Há uma versão gratuita para computador disponível no&lt;a href=&quot;http://www.stellarium.org/pt_BR/&quot;&gt; site do desenvolvedor&lt;/a&gt;&amp;nbsp;[porém, essa versão certamente não conta com o recurso que usa sensores para fazer a identificação do céu].&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 16px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/05/stellarium-aplicativo-de-astronomia.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg37EvGu-n0wF2j7CIFawMnH-RaLwfKCCf0ampYkoxc9zgxwS7MiMCqOUyHLeCuDlY7Ug35HQpWTKWZD_9KGTR669ClPPP7hCLX-plp4RzIxra9EGSlPNmtSfmSCX7YetEiqQfaXoZXMKU/s72-c/Stellarium+tecnofator.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-1743711581129105648</guid><pubDate>Wed, 06 Jan 2016 17:54:00 +0000</pubDate><atom:updated>2016-01-06T14:54:34.166-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><category domain="http://www.blogger.com/atom/ns#">Asha</category><title>O InstaTags para Asha está disponível na Opera Mobile Store com todas as funções desbloqueadas</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir36kXrtBuIZ2yeAjRTFZXP44W2zVxQ9w9bsuVIjz_EdJa2U6QUauKCyc3x5fYEpOXOJ39TM1B__KTibRezRRFr8uvo1W_KEJNhCuN1AhDiSruLG6IXF_0hk4_QNuCvT39SvHjrn7YYEE/s1600/Screenshot_1+InstaTags+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir36kXrtBuIZ2yeAjRTFZXP44W2zVxQ9w9bsuVIjz_EdJa2U6QUauKCyc3x5fYEpOXOJ39TM1B__KTibRezRRFr8uvo1W_KEJNhCuN1AhDiSruLG6IXF_0hk4_QNuCvT39SvHjrn7YYEE/s1600/Screenshot_1+InstaTags+tecnofator.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
As aplicações que permitiam compras dentro delas dependiam da ferramenta Nokia In-App Payment que foi encerrada pela Microsoft e por isso deixaram de funcionar corretamente; o InstaTags era uma dessas aplicações. Ele é um app que permite que você adicione filtros, tags ou modifique o foco de uma imagem, e para desbloquear alguns filtros era necessário pagar. Porém, com o fim da Nokia Store e dos serviços que a Nokia havia criado para manter o ecossistema do Asha OS e do S40, os desenvolvedores que não abandonaram as plataformas tiveram que dar seu jeito para continuar mantendo seus aplicativos. O criador do InstaTags resolveu publicar seu app na loja de aplicativos da Opera com todas as funções premium liberadas e optou por monetizá-lo com um anúncio na inicialização que pode ser pulado facilmente.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSkS7-8yDyIPF2oeddyFSks92pZFWCJCw29Cp1fKO8G7vZO3lbnkSSA8C8WadHw7GwIxZYxdo7Pma12nQCl-a9HvjaJcyI8opamRgAg0kjcgQngVwC_BV8yY7v0tRktdrIY4VFcGg7srg/s1600/Screenshot_3+InstaTags+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSkS7-8yDyIPF2oeddyFSks92pZFWCJCw29Cp1fKO8G7vZO3lbnkSSA8C8WadHw7GwIxZYxdo7Pma12nQCl-a9HvjaJcyI8opamRgAg0kjcgQngVwC_BV8yY7v0tRktdrIY4VFcGg7srg/s1600/Screenshot_3+InstaTags+tecnofator.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Por enquanto, a versão que está na Opera Mobile Store é compatível apenas com aparelhos da Plataforma Asha, mas o desenvolvedor afirma que vai postar em breve para os dispositivos com S40.&lt;br /&gt;
&lt;br /&gt;
Gostou e quer baixar?&lt;br /&gt;
&lt;br /&gt;
O download pode ser feito &lt;a href=&quot;http://java.oms.apps.opera.com/pt_br/instatags_instatagsphotoapp.html?pos=1&quot; target=&quot;_blank&quot;&gt;neste link.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Na página do aplicativo no Facebook também foi divulgado que uma versão para Android está disponível na Play Store; no OS do Google ele foi renomeado para Fotome.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/01/o-instatags-para-asha-esta-disponivel.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir36kXrtBuIZ2yeAjRTFZXP44W2zVxQ9w9bsuVIjz_EdJa2U6QUauKCyc3x5fYEpOXOJ39TM1B__KTibRezRRFr8uvo1W_KEJNhCuN1AhDiSruLG6IXF_0hk4_QNuCvT39SvHjrn7YYEE/s72-c/Screenshot_1+InstaTags+tecnofator.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-1507087033863039251</guid><pubDate>Fri, 01 Jan 2016 19:30:00 +0000</pubDate><atom:updated>2016-01-01T16:30:31.072-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><title>AcDisplay – Tela de bloqueio inteligente para Android</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sabe aqueles recursos da tela de bloqueio do Moto X e de alguns outros aparelhos da Motorola? O AcDisplay traz alguns deles para qualquer smartphone Android.&lt;br /&gt;
&lt;div&gt;
Quando o aplicativo está ativado é possível visualizar o conteúdo das notificações de maneira simplificada, assim como ocorre na Moto Tela. A ativação da tela com um gesto também está presente aqui; não é tão eficiente quanto nos aparelhos da Motorola, mas funciona; você deve deslizar a mão suavemente sobre o sensor de proximidade para &quot;acordar&quot; seu gadget.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl8YM7ve7sBnA6taI_nLE3SgEbdNxZuEyqo_7t1Un_4jT11HMsKnT0_CyvZHwpeWygUwqBquDM4os4gKStYSQTfX1Ix6FT5CkZN4NtHBL6ljIyMgK67Y71y4UADuY4CWfoaJdcH1XTlLo/s1600/Screenshot_2016-01-01-12-49-25.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;355&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl8YM7ve7sBnA6taI_nLE3SgEbdNxZuEyqo_7t1Un_4jT11HMsKnT0_CyvZHwpeWygUwqBquDM4os4gKStYSQTfX1Ix6FT5CkZN4NtHBL6ljIyMgK67Y71y4UADuY4CWfoaJdcH1XTlLo/s400/Screenshot_2016-01-01-12-49-25.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
O app também conta com um recurso chamado &quot;Modo Ativo&quot; que faz uso dos sensores do telefone para despertá-lo quando você precisa. Uma vez ativada a funcionalidade, ao tirar o celular o bolso, por exemplo, a tela acenderá e mostrará as horas e as notificações. Segundo os desenvolvedores, esse recurso não usa a CPU do smartphone e por isso o gasto de bateria não será muito grande.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Além de trazer os recursos da Moto Tela, o AcDisplay permite uma série de personalizações como adicionar Widgets de apps à tela de bloqueio, configurar atalhos para abrir aplicações ao deslizar o dedo e também modificar os planos de fundo.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNt7gjiuKWimQ0IdhY6nq7LUjyGB_VgyXMSiOBlDGqgFVegLjdSGn4NAoLCCeJiorbSneCqRFgLGIq22WQ3f-k0NPegIHgWJK8AqLyK6fWu1DcCj_KxuqQKP6oMs7i3JeNkafQdf27Ojw/s1600/Screenshot_2016-01-01-12-59-07.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNt7gjiuKWimQ0IdhY6nq7LUjyGB_VgyXMSiOBlDGqgFVegLjdSGn4NAoLCCeJiorbSneCqRFgLGIq22WQ3f-k0NPegIHgWJK8AqLyK6fWu1DcCj_KxuqQKP6oMs7i3JeNkafQdf27Ojw/s400/Screenshot_2016-01-01-12-59-07.png&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
O que mais me chamou atenção no aplicativo foi a interface simplificada e elegante que ele põe na lockscreen. Uma notificação é mostrada como o ícone do app que a gerou, e quando você clica em um aviso do WhatsApp, por exemplo, ele chega a exibir como plano de fundo a foto do perfil do contato e o conteúdo das mensagens também é visível direto da tela de bloqueio. Além disso, sempre que o player de música está ativo, o app exibe a capa do álbum da canção que está tocando.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdus6bPSh3_hVMJfQ-PzLTWeDm1vLR_7loFrEqxxR8Lhl3eqZZjpJh0U6Bdql2LtRmHZDki0iBwDYPJp2X4q8gc55NplhCZMSEbhm-uMPPkbWdSge8LpvF-MKLqcjQLoHFeM0CxBDbNHk/s1600/Screenshot_2016-01-01-13-14-20.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdus6bPSh3_hVMJfQ-PzLTWeDm1vLR_7loFrEqxxR8Lhl3eqZZjpJh0U6Bdql2LtRmHZDki0iBwDYPJp2X4q8gc55NplhCZMSEbhm-uMPPkbWdSge8LpvF-MKLqcjQLoHFeM0CxBDbNHk/s400/Screenshot_2016-01-01-13-14-20.png&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Apesar disso, a fonte utilizada no AcDisplay é um pouco diferente da padrão do Android e das roms personalizadas das fabricantes, o que acaba gerando um pouco de inconsistência no visual do sistema e incomoda g(e)nte q(u)e liga pra essas coisas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Gostou e quer baixar?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
O app é gratuito e open source e pode ser baixado na &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.achep.acdisplay&quot; target=&quot;_blank&quot;&gt;Play Store&lt;/a&gt;. O código fonte do mesmo está disponível no &lt;a href=&quot;https://github.com/AChep/AcDisplay&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ah, e FELIZ ANO NOVO PESSOAL!&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2016/01/acdisplay-tela-de-bloqueio-inteligente.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl8YM7ve7sBnA6taI_nLE3SgEbdNxZuEyqo_7t1Un_4jT11HMsKnT0_CyvZHwpeWygUwqBquDM4os4gKStYSQTfX1Ix6FT5CkZN4NtHBL6ljIyMgK67Y71y4UADuY4CWfoaJdcH1XTlLo/s72-c/Screenshot_2016-01-01-12-49-25.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-8152352459691168199</guid><pubDate>Thu, 24 Dec 2015 01:35:00 +0000</pubDate><atom:updated>2015-12-23T22:42:24.847-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Asha</category><category domain="http://www.blogger.com/atom/ns#">Nokia</category><title>É necessário fazer login novamente no Facebook para continuar usando a experiência integrada do serviço (telefones Nokia Asha 50x e 230 Series) </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYC4ZJfDpsmmXshXuw-hTS0yb7RG-TunvC53J6kzOxwKwmkrB4Hbco-uoANm6-oikCwxATve3ZNxyd40dsBnSfpdY82xIV0Q7-3twGLHFrIz9AHoGYFa8IVDAh3d9J_H-CccsoBGlanuU/s1600/Nokia-Asha-501-Color-Range_465-763869.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYC4ZJfDpsmmXshXuw-hTS0yb7RG-TunvC53J6kzOxwKwmkrB4Hbco-uoANm6-oikCwxATve3ZNxyd40dsBnSfpdY82xIV0Q7-3twGLHFrIz9AHoGYFa8IVDAh3d9J_H-CccsoBGlanuU/s400/Nokia-Asha-501-Color-Range_465-763869.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
A Microsoft informa que devido a uma alteração na API do Facebook que acontecerá no final de dezembro de 2015, usuários de telefones Nokia Asha 50x e 230 Series, que têm a experiência do Facebook integrada na interface de usuário, precisam fazer login novamente na conta da rede social para continuar usando a integração com o serviço. A alteração impactará os aplicativos Agenda telefônica, Fastlane, Galeria e Contas. Sem um novo login, a integração do Facebook com esses aplicativos não funcionará mais.&lt;br /&gt;
&lt;br /&gt;
Para fazer login novamente e continuar usando a experiência integrada do Facebook em seu telefone Asha, faça o seguinte:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Vá para &lt;b&gt;Menu &amp;gt; Contas.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Para remover sua conta do &lt;b&gt;Facebook &lt;/b&gt;existente do aplicativo &lt;b&gt;Contas&lt;/b&gt; mantenha pressionada a parte superior da conta do Facebook e toque em &lt;b&gt;Excluir&lt;/b&gt;. Esse processo não exclui sua conta real do Facebook, apenas remove os detalhes da conta do telefone.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Para fazer login novamente em sua conta do Facebook, toque em &lt;b&gt;+&lt;/b&gt; e selecione &lt;b&gt;Facebook&lt;/b&gt; na lista. Digite suas &lt;b&gt;credenciais&amp;nbsp;&lt;/b&gt;e toque em &lt;b&gt;Entrar.&lt;/b&gt; &lt;/li&gt;
&lt;li&gt;&amp;nbsp;Selecione se você deseja &lt;b&gt;sincronizar seus contatos do Facebook &lt;/b&gt;com o telefone e toque em &lt;b&gt;Concluído&lt;/b&gt;. Após a alteração na API do Facebook, somente os contatos na rede social que também usarem telefones Asha 50x ou 230 Series poderão ser sincronizados.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Depois que a sincronização dos dados do Facebook estiver concluída, você poderá continuar usando os serviços integrados na rede social no telefone da mesma forma que antes, com exceção das alterações na sincronização de contatos.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
A alteração na API do Facebook não afeta o uso do aplicativo do em si. Ele continuará funcionando como antes. &lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/12/e-necessario-fazer-login-novamente-no.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYC4ZJfDpsmmXshXuw-hTS0yb7RG-TunvC53J6kzOxwKwmkrB4Hbco-uoANm6-oikCwxATve3ZNxyd40dsBnSfpdY82xIV0Q7-3twGLHFrIz9AHoGYFa8IVDAh3d9J_H-CccsoBGlanuU/s72-c/Nokia-Asha-501-Color-Range_465-763869.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-8305465721980742909</guid><pubDate>Tue, 10 Nov 2015 10:00:00 +0000</pubDate><atom:updated>2015-11-10T07:00:04.981-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><title>O Nokia Z launcher muda a maneira de utilizar o Android</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Como nós sabemos, a Nokia como fabricante de Smartphones não existe mais. Porém ela continua viva como uma empresa de software e lançou há um tempinho atrás o Z Launcher, um aplicativo de tela inicial para Android que muda completamente a maneira de utilizar o sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrROvvhw_osaDgZYQ8jZuaObL5DM_5ra8VvIxLrK1mulVkUtZuSDdvIF7vpBL0foIT7Ft5_8fsUZIL77O7djzvQQjpMS0YFI7kPl8Phzyxrdt8RN23FgHQJrETl7ZfOGnnOnHiQUXhyA0/s1600/Screenshot_2015-11-09-23-02-09.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;355&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrROvvhw_osaDgZYQ8jZuaObL5DM_5ra8VvIxLrK1mulVkUtZuSDdvIF7vpBL0foIT7Ft5_8fsUZIL77O7djzvQQjpMS0YFI7kPl8Phzyxrdt8RN23FgHQJrETl7ZfOGnnOnHiQUXhyA0/s400/Screenshot_2015-11-09-23-02-09.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Tela principal do Z Launcher&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
A proposta do Launcher é inovadora e permite que você acesse seus aplicativos, contatos, histórico de chamadas, etc. além de realizar pesquisas na web, desenhando a primeira letra do que você deseja acessar na tela inicial do seu smartphone. Nos primeiros usos parece estranho, porque é um jeito diferente do que estamos acostumados a usar o Android, mas depois que você se acostuma fica tudo bem interessante.&lt;br /&gt;
&lt;br /&gt;
A interface do Z Launcher é muito simples e o design é focado em texto com uma fonte elegante e os ícones dos aplicativos instalados. Além disso, é capaz de trocar o plano de fundo automaticamente de acordo com o horário. Ele é dividido em três telas iniciais: uma onde você poderá adicionar widgets, outra com a lista de todos os aplicativos instalados no seu aparelho e a tela principal que é onde aparecem os aplicativos mais utilizados e é nela que é permitido desenhar a inicial do nome do item que você quer acessar.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNe_jLnnn2rAmULHLQbU8Hsly4BbP3oAwbvc-4v96wOkFxTb-45IdwQR_W_NvNcYWVdL66T1jOnsrjwh_-KLn6ZP_xlbnMdR8hflFFX81JCDI1f7d2h6R_czz25XoO61l8qh-t8g8HJ68/s1600/Screenshot_2015-11-09-22-58-00.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNe_jLnnn2rAmULHLQbU8Hsly4BbP3oAwbvc-4v96wOkFxTb-45IdwQR_W_NvNcYWVdL66T1jOnsrjwh_-KLn6ZP_xlbnMdR8hflFFX81JCDI1f7d2h6R_czz25XoO61l8qh-t8g8HJ68/s320/Screenshot_2015-11-09-22-58-00.png&quot; style=&quot;cursor: move;&quot; width=&quot;180&quot; /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3qgtfO4PoHDATlIHT23unuqK6eBclzC1jr3ce4BWAH8VSLN6ahqpE8emVGgbgScf_mii0v1hI5OKalIvCYYMSgyQf75ssnIG3JCeXvgFtQi1HGYFrVJAUK20jVgY4ZLBA4IckjYL_HZk/s1600/Screenshot_2015-11-09-22-58-03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3qgtfO4PoHDATlIHT23unuqK6eBclzC1jr3ce4BWAH8VSLN6ahqpE8emVGgbgScf_mii0v1hI5OKalIvCYYMSgyQf75ssnIG3JCeXvgFtQi1HGYFrVJAUK20jVgY4ZLBA4IckjYL_HZk/s320/Screenshot_2015-11-09-22-58-03.png&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJpL4qQY7j9tb8EPjC3hKBa748w6zffihWbMOnTWuM8d-nDAciGYaA2BEGA7v6LTWj_utpwG8bdW3c0WogfD8MpbQNR5bPvhqKar42zADIN-Y_5XorGGgH4lUu43ATK5EMxRlCM68VSY/s1600/Screenshot_2015-11-09-22-58-08.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJpL4qQY7j9tb8EPjC3hKBa748w6zffihWbMOnTWuM8d-nDAciGYaA2BEGA7v6LTWj_utpwG8bdW3c0WogfD8MpbQNR5bPvhqKar42zADIN-Y_5XorGGgH4lUu43ATK5EMxRlCM68VSY/s320/Screenshot_2015-11-09-22-58-08.png&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Segundo a Nokia, o Z Launcher&amp;nbsp;memoriza a sua forma de utilizar o telefone e destaca as suas aplicações favoritas, para que possa acessá-las mais rapidamente. Em teoria, quanto mais for utilizado o launcher, melhor ele se torna.&lt;br /&gt;
&lt;br /&gt;
Gostou e quer baixar?&lt;br /&gt;
&lt;br /&gt;
O Z Launcher está &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.nokia.z&amp;amp;hl=pt_BR&quot; target=&quot;_blank&quot;&gt;disponível gratuitamente na Play Store.&lt;/a&gt;&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/11/o-nokia-z-launcher-muda-maneira-de.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrROvvhw_osaDgZYQ8jZuaObL5DM_5ra8VvIxLrK1mulVkUtZuSDdvIF7vpBL0foIT7Ft5_8fsUZIL77O7djzvQQjpMS0YFI7kPl8Phzyxrdt8RN23FgHQJrETl7ZfOGnnOnHiQUXhyA0/s72-c/Screenshot_2015-11-09-23-02-09.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-3458740350378696357</guid><pubDate>Fri, 23 Oct 2015 14:50:00 +0000</pubDate><atom:updated>2015-10-23T11:50:35.641-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Notícias</category><category domain="http://www.blogger.com/atom/ns#">UC Browser</category><category domain="http://www.blogger.com/atom/ns#">UCWeb</category><title>UC Browser – o navegador móvel que vem ganhando o mundo</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O UC Browser - navegador para smartphones que vem crescendo no Brasil - alcançou uma marca inédita no mundo. O navegador do grupo Alibaba se tornou o segundo navegador para celular mais popular do mundo, com  &lt;a href=&quot;http://gs.statcounter.com/#mobile_browser-ww-monthly-201503-201509&quot;&gt;16.82% de market share&lt;/a&gt;, de acordo com o StatCounter, um medidor de tráfego independente.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdddYWkKjGrXIkyKj-jPjexMdQB9IX4fNbsfJ37fYMV9MxVh7tHJ33rzijBD6kaJ_Ze7CLqXOj3nsKZONgZcElPvgfictZK1hqbvrqK9FcoPJk-Lgl-NXLKSUpEg4XRqbKePATMfUYqJc/s1600/uc+gr%25C3%25A1fico.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;388&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdddYWkKjGrXIkyKj-jPjexMdQB9IX4fNbsfJ37fYMV9MxVh7tHJ33rzijBD6kaJ_Ze7CLqXOj3nsKZONgZcElPvgfictZK1hqbvrqK9FcoPJk-Lgl-NXLKSUpEg4XRqbKePATMfUYqJc/s640/uc+gr%25C3%25A1fico.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Esta recente conquista coincide com o crescente sucesso que o navegador vem fazendo mundo afora.  &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.UCMobile.intl&amp;amp;hl=pt&quot;&gt;Só no Brasil já são mais de 6 milhões de downloads&lt;/a&gt;, de acordo com o Google Play. A estratégia de investir em mercados emergentes na Ásia, África e América Latina vem se mostrando produtiva. Para se ter uma ideia,  a população dos três maiores mercados do UC Browser – Índia, China e Indonésia – somam 2.8 bilhões de pessoas ou, um terço da população mundial. E em todos estes mercados o navegador tem mais de 40% do market share. Então é só fazer as contas que se entende o tamanho deste aplicativo.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O diferencial deste navegador móvel em relação a outros é sua adaptabilidade aos mercados locais. No Brasil por exemplo,  o navegador possui seções exclusivas onde se pode acompanhar o Brasileirão, fazer o download de músicas nacionais e até assistir filmes online, em Português, claro. Essa adaptação aos mercados locais - aliado a um &lt;a href=&quot;https://www.facebook.com/brasil.ucbrowser&quot;&gt;excelente trabalho de resolução de dúvidas e problemas via Facebook&lt;/a&gt; -  mostra a ambição do UC Browser na duríssima missão de roubar do Google Chrome a primeira posição no rank mundial.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Além disso, nota-se que o UC Browser – devido a seus serviços de compressão em nuvem – consegue acelerar a sofrida conexão 2/3/4G do Brasil.  Através de um sistema de compressão de dados em nuvem, a navegação pode ficar até 60% mais rápida. Isto é um alívio, especialmente para quem mora fora dos grandes centros, onde a infra-estrutura de internet móvel é ainda mais escassa.&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;b&gt;Sobre a UCWeb&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A UCWeb – uma das empresas que fazem parte do grupo Alibaba -  é uma das líderes globais na área de internet móvel. O grupo é fortíssimo no mercado asiático e está em expansão para os mercados ocidentais. Seu principal aplicativo, o UC Browser, está presente em mais de 500 milhões de dispositivos mundo afora e é compatível com todos os sistemas operacionais. O UC Browser serve usuários em mais de 150 países e está disponível em 11 idiomas, português incluso. Para mais informações, acesse &lt;a href=&quot;http://www.ucweb.com/&quot;&gt;http://www.ucweb.com&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/10/uc-browser-o-navegador-movel-que-vem.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdddYWkKjGrXIkyKj-jPjexMdQB9IX4fNbsfJ37fYMV9MxVh7tHJ33rzijBD6kaJ_Ze7CLqXOj3nsKZONgZcElPvgfictZK1hqbvrqK9FcoPJk-Lgl-NXLKSUpEg4XRqbKePATMfUYqJc/s72-c/uc+gr%25C3%25A1fico.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-8721537134865002987</guid><pubDate>Fri, 31 Jul 2015 00:37:00 +0000</pubDate><atom:updated>2015-07-30T21:38:26.324-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">UC Browser</category><category domain="http://www.blogger.com/atom/ns#">UCWeb</category><title>UC Browser para PC ganha versão em português</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
O UC Browser foi liberado em versão para computador em português. O navegador que acumula mais de 500 milhões de usuários no app móvel já pode ser baixado no PC em Português desde o último dia 17 (sim, estamos atrasados).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTWDpG_CeD2BvGxQnS7Q4QenBABXr_fs963AxyOka8hi2P4mgIj9cbLtZtqb-e7GzyQEZlLr7SQRsi_XCJgcHzn5fO4HHGKoVb9o7h2Z5-VfYDdFcEsEX-0W5p5sA2bOaruOqujmKdkRs/s1600/uc+browser+para+pc+tecnofator.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;329&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTWDpG_CeD2BvGxQnS7Q4QenBABXr_fs963AxyOka8hi2P4mgIj9cbLtZtqb-e7GzyQEZlLr7SQRsi_XCJgcHzn5fO4HHGKoVb9o7h2Z5-VfYDdFcEsEX-0W5p5sA2bOaruOqujmKdkRs/s640/uc+browser+para+pc+tecnofator.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div&gt;
O navegador traz a maioria dos recursos que há na versão mobile, com destaque para o gerenciador de downloads que se mostra muito eficiente, categorizando o que você baixa de acordo com o tipo de arquivo.&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
Uma curiosidade interessante sobre o navegador que eu descobri recentemente é que, por ser baseado na interface Chromium M41 (a mesma do Google Chrome),  podemos usar as mesmas extensões do navegador do Google, sem problemas de compatibilidade.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
A UCWeb pertence ao grupo chinês Alibaba e o navegador UC Browser está na versão 5.2 (Beta), disponível em cerca de 150 países e em 11 idiomas. A instalação pode ser feita gratuitamente em computadores com &lt;a href=&quot;http://pc.ucweb.com/&quot; target=&quot;_blank&quot;&gt;Windows&lt;/a&gt;. Ainda não há versão para Mac OS X.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/07/uc-browser-para-pc-ganha-versao-em.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTWDpG_CeD2BvGxQnS7Q4QenBABXr_fs963AxyOka8hi2P4mgIj9cbLtZtqb-e7GzyQEZlLr7SQRsi_XCJgcHzn5fO4HHGKoVb9o7h2Z5-VfYDdFcEsEX-0W5p5sA2bOaruOqujmKdkRs/s72-c/uc+browser+para+pc+tecnofator.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-8634183622468771418</guid><pubDate>Fri, 10 Jul 2015 11:00:00 +0000</pubDate><atom:updated>2015-07-10T08:00:09.978-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><category domain="http://www.blogger.com/atom/ns#">Asha</category><title>Game Cute The Rope para a Plataforma Asha</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sabe aquele joguinho no qual o objetivo é cortar cordas para deixar cair o alimento na boca de um monstrinho? Pois é. Ele é bem popular no Android e em outras plataformas e agora podemos jogá-lo em nossos Ashas.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3b-8FronlQLMRwiLn2q-DiTtFY53ACxkvdxygIwyPSD5I8dOOfsaS6RQeVbdn-C2DyQyiLs85nmYcA6Y3hIhk8OZU7fXbjXUixRQJyKnmnyuBDIBpidq-9_BkgUjdZRDtuS-rIPslUE/s1600/cut+the+rope+nokia+asha.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3b-8FronlQLMRwiLn2q-DiTtFY53ACxkvdxygIwyPSD5I8dOOfsaS6RQeVbdn-C2DyQyiLs85nmYcA6Y3hIhk8OZU7fXbjXUixRQJyKnmnyuBDIBpidq-9_BkgUjdZRDtuS-rIPslUE/s1600/cut+the+rope+nokia+asha.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Ao que eu pude perceber, o jogo não foi oficialmente lançado para Asha, mas algum desenvolvedor conseguiu criar essa versão que parece ser portada do Android. O resultado ficou incrível.&lt;br /&gt;
&lt;br /&gt;
Gostou e quer baixar?&lt;br /&gt;
&lt;br /&gt;
Para fazer o download &lt;a href=&quot;http://www.4shared.com/file/Ag7YwhsGce/Cut_the_rope_tecnofatorblogspo.html?&quot; target=&quot;_blank&quot;&gt;acesse este link.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
:)&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/07/game-cute-rope-para-plataforma-asha.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3b-8FronlQLMRwiLn2q-DiTtFY53ACxkvdxygIwyPSD5I8dOOfsaS6RQeVbdn-C2DyQyiLs85nmYcA6Y3hIhk8OZU7fXbjXUixRQJyKnmnyuBDIBpidq-9_BkgUjdZRDtuS-rIPslUE/s72-c/cut+the+rope+nokia+asha.png" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-1724040881296183183</guid><pubDate>Tue, 30 Jun 2015 11:00:00 +0000</pubDate><atom:updated>2015-06-30T13:54:05.000-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android</category><category domain="http://www.blogger.com/atom/ns#">Dicas</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Droid4X — Emulador de Android para computador</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
O Droid4x é um simulador do sistema operacional Android capaz de rodar qualquer aplicativo como se estivesse em um smartphone/tablet.&lt;br /&gt;
O mais interessante nesse programa é que ele traz uma experiência completa do Android para o PC, com a maioria das funcionalidades e o launcher padrão da plataforma, &lt;a href=&quot;http://tecnofator.blogspot.com.br/2013/10/windows-android.html&quot; target=&quot;_blank&quot;&gt;diferente do BlueStacks&lt;/a&gt; que usava uma interface própria que nada lembra o Android que vemos em dispositivos móveis.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGHzjap2ScGRfE60NyV7itvGEIjoYvJdBAtmdhuVTO8y2v4upm6s0x7yiyeHJOP8bopZ1-7kpxuSG-8aCY-azR6naZXdfcmV8SNqtDclWjbkvbpai5iAFMnAL-_Vxw2GJuH7KfpYGRQu4/s1600/Captura+de+Tela+%252810%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;356&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGHzjap2ScGRfE60NyV7itvGEIjoYvJdBAtmdhuVTO8y2v4upm6s0x7yiyeHJOP8bopZ1-7kpxuSG-8aCY-azR6naZXdfcmV8SNqtDclWjbkvbpai5iAFMnAL-_Vxw2GJuH7KfpYGRQu4/s640/Captura+de+Tela+%252810%2529.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
No emulador, por padrão, o mouse realiza todas as ações como se fosse seu dedo, mas se você quiser poderá configurar teclas para realizar ações multitouch. Também é possível simular sua localização física dentro do emulador e compartilhar pastas entre ele e o computador para acessar arquivos do PC dentro de &amp;nbsp;aplicativos.&lt;br /&gt;
A versão do Android &amp;nbsp;quem vem nele é a 4.2.2 Jelly Bean e podemos instalar aplicativos tanto pela loja quanto por arquivos externos.&lt;br /&gt;
&lt;br /&gt;
O Droid4x foi projetado especialmente pra quem quer executar games do Andoid no computador. É possível sincronizá-lo com seu aparelho (Android ou iOS), fazendo do seu celular um Joystick.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/PVxs1RcyZpI/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/PVxs1RcyZpI?feature=player_embedded&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
O hardware de seu computador afeta diretamente o potencial do simulador, ou seja, quanto mais potente, melhor.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Gostou e quer baixar?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
O download do software pode ser feito no &lt;a href=&quot;http://www.droid4x.com/#&quot; target=&quot;_blank&quot;&gt;site oficial.&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/06/droid4x-emulador-de-android-para.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGHzjap2ScGRfE60NyV7itvGEIjoYvJdBAtmdhuVTO8y2v4upm6s0x7yiyeHJOP8bopZ1-7kpxuSG-8aCY-azR6naZXdfcmV8SNqtDclWjbkvbpai5iAFMnAL-_Vxw2GJuH7KfpYGRQu4/s72-c/Captura+de+Tela+%252810%2529.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4730241577751915174.post-4418506154108911035</guid><pubDate>Fri, 26 Jun 2015 11:00:00 +0000</pubDate><atom:updated>2015-06-26T08:00:08.259-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Aplicativos</category><category domain="http://www.blogger.com/atom/ns#">Asha</category><title>SpotShot — Fotos com a previsão do tempo local</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
O &lt;b&gt;SpotShot&lt;/b&gt; é um daqueles aplicativos legais que foram lançados naquela época em que a Nokia estava incentivando os desenvolvedores a criar para a plataforma Asha.&lt;br /&gt;
No software você pode adicionar à imagens informações do clima do local onde você está e depois compartilhá-las — como no InstaWeather para Android e iOS.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEdTrEffPjuke63jniXFWkEOWUcOUSiNdo3oWg61xMt_-R92g05hROLmvn_LrnQzlS1n69YGHMACc4nuVi-9QHrIbt-kGv6wyd4cTTqqAxM56S3oOLkYKxPD974mGk5Z-uFXp8ZcGvyI/s1600/spotshot+%25282%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEdTrEffPjuke63jniXFWkEOWUcOUSiNdo3oWg61xMt_-R92g05hROLmvn_LrnQzlS1n69YGHMACc4nuVi-9QHrIbt-kGv6wyd4cTTqqAxM56S3oOLkYKxPD974mGk5Z-uFXp8ZcGvyI/s1600/spotshot+%25282%2529.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Com uma interface simples e muito bem construída, ele permite que você use fotos da galeria ou capturadas na hora e acha sua localização com base na triangulação do sinal da operadora. Ele vem com templates gratuitos que definem como as informações são exibidas na imagem e alguns temas premium, porém nós não podemos mais comprá-los (nem remover alguns anúncios) porque o app usa a ferramenta &lt;b&gt;Nokia In-App Payment&lt;/b&gt; que, assim como outros serviços da antiga Nokia, foi encerrada pela&amp;nbsp;Microsoft.&lt;br /&gt;
Entre os dados exibidos em cada uma das fotografias estão a temperatura (em Celsius ou Fahrenheit), a data e a sua localidade.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
A parte ruim do SpotShot é que, por limitações da própria plataforma Asha, ele salva as imagens na resolução 240x320. No entanto, apesar de pequenas, as fotos ficam bem interessantes, vejam um exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylhKBN1kNh1J4sn4yx34xLOHgQvqU27wNHnfBBJaCv5tSBUBe2R-f28etWDUgAdNtoKbszlaNTLhTXZsRBZBdJT38r64c5imMlJ4XvELO8-u3iyhe-vscW3vD4gheuBB6G29RC780uUM/s1600/spotshot_1435291374397.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylhKBN1kNh1J4sn4yx34xLOHgQvqU27wNHnfBBJaCv5tSBUBe2R-f28etWDUgAdNtoKbszlaNTLhTXZsRBZBdJT38r64c5imMlJ4XvELO8-u3iyhe-vscW3vD4gheuBB6G29RC780uUM/s1600/spotshot_1435291374397.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Gostou e quer baixar?&lt;br /&gt;
&lt;br /&gt;
Com o fim da Loja Nokia, muitos desenvolvedores não migraram seus aplicativos para a — bagunça — Opera Mobile Store, e o do SpotShot está entre eles. Talvez muitos de vocês não conheçam o aplicativo, por isso vou disponibilizar os aquivos de instalação para a plataforma Asha que eu tenho no meu aparelho. Provavelmente ele funciona em S40 Touch também, mas nunca testei.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.4shared.com/zip/TzboFvWcba/Spotshot__tecnofatorblogspotco.html&quot; target=&quot;_blank&quot;&gt;Clique aqui&lt;/a&gt; para fazer o download por um servidor externo.&lt;br /&gt;
&lt;br /&gt;
Quem aí já conhecia o aplicativo?&lt;/div&gt;
&lt;/div&gt;
</description><link>https://www.tecnofator.com.br/2015/06/spotshot-fotos-com-previsao-do-tempo.html</link><author>noreply@blogger.com (Wali Queiroz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEdTrEffPjuke63jniXFWkEOWUcOUSiNdo3oWg61xMt_-R92g05hROLmvn_LrnQzlS1n69YGHMACc4nuVi-9QHrIbt-kGv6wyd4cTTqqAxM56S3oOLkYKxPD974mGk5Z-uFXp8ZcGvyI/s72-c/spotshot+%25282%2529.png" height="72" width="72"/><thr:total>4</thr:total></item></channel></rss>