Autor: Redação

  • O que é Programação Orientada a Objetos (POO)?

    O que é Programação Orientada a Objetos (POO)?

    O conceito de Programação Orientada a Objetos já é bem antiga e remonta aos anos 70 primordialmente. E atualmente é usado de fato por grande parte dos sistemas. 

    A Programação Orientada a Objetos, também conhecida pela sua sigla POO, em inglês OOP –  Object Oriented Programming. É um paradigma de programação, também chamado de Paradigma de Desenvolvimento, que utiliza o conceito de objetos para representar elementos do mundo real. Desse modo os objetos podem conter atributos, estados e comportamentos. Entretanto antes do POO o paradigma da Programação Procedural, ou a Programação Estruturada era o mais usado no desenvolvimento de software.

    A Primeira linguagem considerada POO é a Smalltalk. Considerada puramente orientada a objetos. Ela introduziu o uso de máquina virtual que permite que o software seja desenvolvido independente da plataforma. Possui uma IDE (Integrated Development Environment), ou seja, ambiente de desenvolvimento integrado algo incomum para época, e compilação JIT (Just-in-time), além da arquitetura MVC (Model-View-Controller). Como resultado a Linguagem Smalltalk influenciou várias das principais linguagens modernas. Saiba mais sobre o que é Programação Orientada a Objetos a seguir.

    Principais Características

    Os quatro pilares básicos desse paradigma são:

    Herança

    Um objeto (filho) pode ser criado baseado nas características de outro (pai). O objeto principal, chamado de objeto pai, possui seus próprio atributos (propriedades) e métodos (funções). Assim quando criado o objeto filho ele herdará esses atributos e métodos de seu objeto pai. 

    Polimorfismo

    Um método (função) pode ser reescrito para o objeto filho. Assim a função no objeto filho ganha um comportamento diferente do herdado pelo objeto pai.

     Encapsulamento

    Cria uma proteção para os objetos. O Encapsulamento protege de uso indevido. Nesse contexto existem os modificadores de acesso que servem para evitar que determinada classe tenham acesso um código fora de sua lógica de programação a saber:

    •  public: disponível para qualquer acesso externo a classe;
    •  protected: disponível o acesso das classes filhas, protegido para acesso externo;
    •  private: acesso disponível somente dentro da própria classe.

    Abstração

    O objeto é representado de forma abstrata. Uma classe pai (superclasse) é criada mas a implementação só é feita na classe filha. Não é possível criar um objeto na superclasse pois ela não executa nenhum método. Esse conceito também pode ser entendido como a união das características do Encapsulamento e do Polimorfismo. 

    Programação Orientada a Objetos vs Programação Estruturada

    Programação Estruturada têm ênfase em outras características como sub-rotinas e laços de repetição.Nela os programas seguem em forma sequencial. Assim ela segue a ordem de sequência, condição e repetição. Esse paradigma possui limitações e não é possível o uso do encapsulamento. Um exemplo é a Linguagem C.

    Design Patterns

    Entender o que é Design Patterns é relativamente simples pois nada mais é do que padrões de projeto. A ideia principal surgiu do livro “A Pattern Language: Towns, Buildings, Construction” em português “Uma Linguagem de Padrões”. Nele é listada uma série de problemas e suas possíveis soluções.

    Conclusão

    Muitas das linguagens mais utilizadas atualmente possuem orientação a objetos como C++, C#, Java, PHP, Python, Ruby, Dart, Perl, Objective-C, entre outras.

    Em resumo as principais vantagens do POO são: a reutilização de código e independência entre as partes do software, manutenção de código e criação de bibliotecas.

    Por fim entre as desvantagens estão: maior uso de memória, maior tempo de aprendizado para o programador, pode não ser o pais adequado para o seu projeto.

  • O que é SQL (Structured Query Language)?

    O que é SQL (Structured Query Language)?

    Com a evolução dos Bancos de Dados tornou-se necessário a criação de uma linguagem que simplificasse as consultas. Nesse artigo você vai entender o que é SQL e suas aplicações práticas no dia a dia de quem usa Banco de Dados Relacionais. Conhecimento muito importante para quem deseja se tornar um desenvolvedor bem como para quem deseja se especializar como Administrador de Banco de Dados (DBA).

    Os Bancos de Dados Relacionais possuem uma linguagem padrão para realizar suas consultas a Linguagem SQL  “Structured Query Language”,  em português, “Linguagem de Consulta Estruturada”. A princípio ela foi criada nos anos 70 por Donald Chamberlin e Boyce Raymond. Atualmente é padronizada pela ANSI (American National Standard Institute) e ISO (International Organization for Standards).

    Os SGBDRs (Sistema de Gerenciamento de Banco de Dados Relacionais) são compatíveis com a linguagem SQL para realizar principalmente as tarefas de  INSERT (inserir), SEARCH (pesquisar), UPDATE (atualizar) e DELETE (excluir). Bem como comandos essenciais para programas que realizam CRUD , Create (criar), Read (ler), Update (Atualizar) e Delete (deletar). As operações básicas de programas que se relacionam com Banco de Dados Relacional, ou seja Banco de Dados que possuem tabelas.

    Principais Comandos SQL

    Primeiramente vamos imaginar uma tabela chamada Aluno possui os seguintes dados:

    IDNome
    11Ana
    12João
    Tabela ALUNOS

    Todavia para inserir um novo aluno poderíamos usar o comando:

    INSERT

    INSERT into ALUNO(ID, NOME) values (13, Maria);

    Agora para ler e ver se foi salvo corretamente:

    SELECT

    SELECT ID, NOME FROM ALUNOS;

    Dessa forma a tabela de alunos estará visível.

    Agora vamos supor que o nome da aluna ficou incompleto e será necessário atualizar seu cadastro, assim o seguinte comando será necessário:

    UPDATE

    UPDATE ALUNOS set NOME=’Maria Eduarda’ WHERE ID=13;

    Vamos supor que a aluna pediu transferência e assim precisamos deletá-la da tabela de alunos:

    DELETE

    DELETE FROM ALUNOS WHERE ID=13;

    Operadores em SQL

    Primordialmente os Operadores Lógicos relacionais servem para fazer comparações. A saber são eles:

    ANDE
    OROU
    NOTNÃO/ NEGAÇÃO
    Operadores Lógicos

    Operadores Relacionais

    =Igual
    >Maior
    >=Maior ou Igual
    <Menor
    <=Menor ou Igual
    <>Diferente
    Operadores Relacionais

    Do mesmo modo os Operadores Aritméticos seguem o mesmo formato das calculadoras:

    +Soma
    Subtração
    *Multiplicação
    /Divisão
    Operadores Aritméticos

    Como podemos observar grande parte da linguagem utiliza termos em inglês para os comandos, assim ela é muito intuitiva. Como por exemplo para criar uma nova tabela o comando é CREAT TABLE e para alterar ALTER TABLE ou ainda para criar um nova banco de dados CREATE DATABASE.

    Conclusão

    Em suma a Linguagem SQL é suportada pelos principais Banco de Dados Relacionais utilizados atualmente como MySQL, MariaDB, Oracle, PostgreSQL, Microsoft SQL Server, Firebird e até mesmo o Microsoft Access. Cada um possui suas peculiaridades na sintaxe, mas de maneira geral eles funcionam de maneira igual. Por isso é importante fazer a leitura da documentação do Banco de Dados que for utilizar, seja para trabalho ou estudo.

    Em conclusão existem vários outros comandos que com o estudo e prática  serão absorvidos aos poucos, e quando menos esperar você estará confiante para utilizar a Linguagem SQL sem medo!

    Aliás existem carreiras onde o conhecimento de SQL pode ser de grande ajuda como a Análise de Dados e Big Data.

  • O que é Algoritmo? – Lógica de Programação

    O que é Algoritmo? – Lógica de Programação

    O conceito de algoritmo é antigo e já existe há séculos. No entanto no estudo de Lógica de Programação nos é apresentado que para aprender a programar primeiro é necessario entender o que é Algoritmo.

    Na matemática a ideia de algoritmo existe desde na Grécia Antiga ou até antes. O Algoritmo de Euclides é um conjunto de passo a passo, que cria um método para encontrar o máximo divisor comum (MDC) de um número inteiro.

    Tradicionalmente o conceito de Algoritmo é descrito como um conjunto de passos finitos para resolver determinado problema ou tarefa. É muito comum a comparação a uma receita. Que possui uma lista de instruções a serem execeutadas em determinado momento para que o resultado final saia como esperado. Pois se os ingredientes não forem colocados ou colocados em momentos errados a receita não dará certo.

    Afinal o que é Algoritmo?

    Vamos imaginar a receita de um bolo de laranja. O Algoritmo para execução seria algo assim:

    • Bata no liquidificador o óleo, os ovos, o açúcar, o suco da laranja até formar uma mistura homogênea .
    • Passe para uma tigela a mistura e acrescente a farinha peneirada e o fermento.
    • Passe a massa para uma forma untada e asse no formo até ficar dourada.
    • Desenforme e sirva.

    Em suma entender o que é algoritmo se torna mais facil. Basta pensar que nada mais é do que comandos de uma lista de instrução.

    Algoritmos e Lógica de Programação

    Na Ciência da Computação esse conceito foi primeiramente utilizado por Alan Turing, considerado o pai da computação, com o modelo abstrato de computador criado por ele chamado Máquina de Turing. Assim ele pode provar teorias computacionais de forma matemática.

    Os programas de computador são criados por essas instruções. Ele deve ser bem escrito e não deixar fachas pois a máquina nao entenderá. Ele apenas fará o que está escrito no programa. O conceito de variável é um tipo de dado de entrada que sera fornecido pelo usuario e ocupará um local na memória do programa. Os comandos de repetição indicam qual o caminho o fluxograma do programa irá seguir. Um fluxograma nada mais é do que a representadacao grafica do programa.

    Para aprender a programar é comum começar com pseudocódigo, o chamado português estruturado. Que é uma sequencia escrita que simula a execução de um código de programa de computador.

    No mundo atual cada produto ou empresa possui seu próprio algoritmo de funcionamento. Por isso estamos acostrumados a ouvir “algoritmo do google”, “algoritmo do facebook”, “algoritmo do instagram”. Dessa forma são eles que ditam as regras para os usuários. Assim vale ressaltar que não é algo estático que nunca mudará. Muito pelo contrário eles estao mudando a todo momento buscando melhorias e uma melhor performance.

    Conclusão

    Após entender essa base do conhecimento computacional é hora de escolhar qual Linguagem de Programação deseja estudar maia a fundo. Seja Java, C#, C++, Python, Ruby … e tantas outras!

    Para saber mais leia esse artigo sobre qual a melhor linguagem para começar a programar. Ele detalha quais as vantagens e desvantagens de se escolher determinada linguagem para o programador iniciante.

  • Laravel: Conheça esse Framework PHP

    Laravel: Conheça esse Framework PHP

    Laravel é um Framework para desenvolvimento em linguagem PHP. Foi criado por Taylor B. Otwell em 2011 e tem por objetivo facilitar o desenvolvimento de aplicações tornando possível a reutilização de código, além de escrever a menor quantidade de código possível.

    Em 2013 foi lançado o Laravel 4 com grandes mudanças no layout e passando a utilizar o Composer como gerenciador de dependências. Já em 2015 o Laravel passou a ser um dos Frameworks para PHP mais populares utilizados pela comunidade. Atualmente o software está na versão 7.

    Características do Framework Laravel para PHP

    Entre as principais vantagens da utilização desse Framework para PHP estão: a facilidade da instalação, o padrão de desenvolvimento na arquitetura MVC (model, view, controller), ser livre, pois é disponibilizado em open source sob a licença MIT. Dessa forma seu código fonte está no GitHub. Entre várias outras funcionalidades. Como o sistema de templates Blade, que facilita o trabalho com páginas HTML. O sistema de rotas para melhora desempenho. O Laravel Authentication para autenticação usuários. E o Eloquent para manipulação de banco dados.

    O slogan do Laravel é “The PHP Framework for Web Artisans”, que em português quer dizer, “O framework PHP para artesãos Web”. Uma das características é a elegância do código daí o motivo de tal slogan. Uma sintaxe simples e elegante é um dos objetivos principais, já que ele utiliza o padrão PSR-2 para escrita do código. Ou seja com o Laravel é possível adicionar apenas as regras de negócios ao código e deixar o restante com o Framework.

    Como Instalar com Composer

    O Composer é um gerenciador de pacotes para PHP. Se não possui o Composer já instalado em sua maquina primeiro é necessário baixar e instalar. O processo é bem simples. O download e toda documentação do Composer está disponível no site oficial para acessar basta clicar aqui. Depois de instalado é possível baixar o Laravel pelo prompt de comando. No Windows digite CTRL + R  e depois cmd. Com o prompt aberto digite o comando:

    composer global require “laravel/installer”

    Assim o utilitário o Laravel Installer vai ser baixado dentro de vendor.

    Novidades do Laravel 7

    Dente as várias novidades estao melhorias para requisições HTTP, novo cliente HTTP, Laravel Airlock, suporte CORS, velocidade de cache de rota até duas vezes mais rápida. Dentre várias outras.

    Conclusão

    Assim o Laravel se destaca como um dos melhores Framework para PHP. Seu uso em projetos e pesquisas na web ganha disparado de outros como Codeigniter, Symfony, CakePHP, Zend Framework e Yii2. No entanto vale ressaltar que cada projeto deve ser analisado individualmente. Afinal para projetos muito pequenos ou com alguma peculiaridade esse pode não ser o mais adequado. Pois as várias funcionalidades pode tornar o projeto pesado, e não forem utilizadas vai consumir recursos de forma desnecessária.

  • O que é HTML? O que são Tags HTML? – Guia para iniciantes

    O que é HTML? O que são Tags HTML? – Guia para iniciantes

    HTML (HyperText Markup Language em português Linguagem de Marcação de Hipertexto) é uma linguagem de marcação utilizada para criação de sites. Saiba mais a seguir sobre o que é HTML, para que serve e principais características.

    Em primeiro lugar a Linguagem de Marcação de Hipertexto é utilizada na criação da estruturas de sites da Web. Em outras palavras ela é responsável pela organização e formatação geral da página e é o padrão oficial da web definido pelo W3C (Consórcio World Wide Web).

    O HTML foi crido pelo cientista da computação britânico Tim Berners-Lee no início da década de 1990. Além disso ele também é o responsável pela criação do protocolo HTTP e da World Wide Web que até hoje serve de base para a internet. Berners-Lee se inspirou na Linguagem de Marcação SGML (Standard Generalized Markup Language) que é um padrão internacional utilizado para compartilhar dados e documentos.

    Em 1993 o HTML é publicado como uma aplicação do SGML. A versão HTML 2.0 foi lançada em 1995. Ano 2000 surge XHTML que é uma versão reformulada com integração do XML (Linguagem também baseada em SGML).

    Ao mesmo tempo visando a padronização na internet Tim Berners-Lee fundou o World Wide Web Consortium (W3C) já em 1994. Como resultado principal objetivo é que a tecnologia seja compatível com qualquer hardware e possa ser utilizada por qualquer pessoa. E que o padrão seja compatível com tecnologias que ainda surgirão.

    O que é HTML 5

    Em 2008 a W3C (World Wide Web Consortium) disponibilizou a versão HTML5 e a XHTML5. Enfim deixou de ser uma aplicação SGML.

    O que são Tags HTML?

    As tags servem para marcar os elementos da página. Devem ser abertas e fechadas conforme a necessidade de indicar os elementos. E seguem formato <tag></tag>. Por exemplo:

    <p>Este é um parágrafo</p>

    A declaração <!DOCTYPE html> indica para o navegador o início do arquivo e qual versão da linguagem de marcação. Contudo <!DOCTYPE html> não é considerado uma tag.

    Todo arquivo devem estar delimitado entre a tag <html></html>. O cabeçalho fica entre <head></head>. E entre várias outras.

    Nesse sentido s comentários seguem a seguinte sintaxe:

    <!– Este é um comentário –>

    Entre as tags mais importantes estão:

    • <html></html> define o início e fim do código / arquivo
    • <head></head> cabeçalho
    • <body></body> corpo da página
    • <p></p> parágrafo
    • <div></div> divisão, marca seções de outros conteúdos
    • <h1></h1> título principal
    • <h2></h2> subtítulo
    • <img></img> imagem
    • <a></a> link com atributo href
    • <ol></ol> lista ordenada
    • <ul></ul> lista desordenada
    • <strong></strong> negrito

    Conclusão

    Em suma vale ressaltar que Hipertext Markup Language não pode ser usado para criação de soluções dinâmicas.

    Como resultado a W3C possui comitês que definem as melhores práticas e padrões para o HTML.

    Com o HTML é possível criar parágrafos, seções, etc, bastando informar entres as tags, ou elementos, dentro de um arquivo com as extensões .html ou .htm. Assim por padrão o HTML é suportado por todos os navegadores da atualidade.

  • O que é Data Warehouse? Saiba características e como funciona

    O que é Data Warehouse? Saiba características e como funciona

    Data Warehouse (DW) é um banco de dados com grande volume de informações que auxilia na tomada de decisão. Geralmente usada por grandes empresas. Os dados são coletados de sistemas transicionais OLTP (Online Transaction Processing) que pode ser traduzido como Sistemas Transicionais de Processamento de Transações em Tempo Real. Nesses sistemas estão todas as transações realizadas pela empresa. E tem por objetivo manter uma série histórica para uso posterior dando suporte ao Business Intelligence (BI).

    O Data Warehouse é considerado não volátil pois lida com dados consolidados. As séries históricas armazenadas não podem ser alterados, somente visualizadas. Caso seja necessário realizar alguma alteração terá que ser feita uma retificação. Assim as consultas e análise de dados podem ser realizadas nos dados históricos armazenados.

    Principais Características

    Traduzido para o português Data Warehouse quer dizer armazém de dados. Uma das características principais é a centralização de informações. Com as informações disponíveis assim pode-se dizer que são Orientados por assunto ou tema além de variar com o tempo. Como por exemplo: setores, produtos, marcas, funcionários, consumidores, fornecedores, etc. São integrados pois todas as variáveis já foram padronizadas, não restando dúvidas quanto a que nomenclatura usar. Por exemplo: a variável data pode ser representada de várias formas: dia/mês/ano, ano/mês/dia, mês/dia/ano. Ao ser inserida e consolidada no DW deve ser escolhida uma forma padrão que será sempre usada para representar tal variável, por exemplo definir a forma dia/mês/ano como a escolhida. Devido a necessidade de dar auxílio a tomada de decisão gerenciais não pode restar dúvida sobre os dados disponíveis no DW, cabendo ao responsável apenas interpretar os dados e não precisar pensar sobre o que cada informação quer dizer.

    São elementos de um data warehouse: ferramentas para extração, carregamento e transformação (ELT – Extract, Transform and Load), banco de dados relacional, recursos de data mining (mineração de dados), e outros.

    Qual a diferença entre um data Warehouse e um Data Mart

    Os Data Marts (repositórios de dados) tem características similares aos Data Warehouse. No entanto em escala menor, com menos informações separados por setores, categorias, asssuntos, etc. E geralmente os dados vem de uma única fonte. Enquanto o DW é amplo e visa organizar o máximo de informações disponíveis de várias fontes e o posterior processamento analítico dos dados. Ou seja um DM é um sub-conjunto do DW.

    Conclusão

    Inicialmente o conceito acadêmico foi definido na década de 1980, mas com o passar do tempo houve uma evolução significativa da quantidade de dados que podem ser armazenados. Assim Como das ferramentas que podem ser usadas para comparar as informações.

  • História da Linguagem Ruby

    História da Linguagem Ruby

    A Linguagem Ruby foi criada por Yukihiro Matsumoto um cientista da computação japonês em 1995. A princípio seu criador queria desenvolver uma linguagem com sintaxe perfeita e elegante. Assim nasceu a Linguagem Ruby inspirada nas linguagens Perl, Python, Eiffel, Ada, Lisp e Smalltalk. Além disso possui tipagem dinâmica e forte. E é multiparadigma. É totalmente livre sua distribuição e modificação. Uma das preocupações do criador da linguagem era que ela fosse de script e totalmente orientada a objetos. Assim para Ruby todas as variáveis são objetos. Bem como os tipos primitivos, inteiro, real, e outros, são classes.

    Em 1998 foi lançada a versão 1.2 a primeira versão estável da linguagem. No ano seguinte é lançado o livro The Object-Oriented Scripting Language Ruby de autoria de Matsumoto, conhecido na web como Matz, e Keiju Ishitsuka. Em 1999 também é lançada a Ruby versão 1.3. E começam as listas de discussão sobre a linguagem na internet sendo a primeira chamada de Ruby-Talk. No 2000 o livro Programming Ruby é disponibilizado gratuitamente como estratégia para divulgação aos falantes de inglês.

    Linguagem Ruby e Framework Ruby on Rails

    Nos anos 2000 a Linguagem Ruby ganhou popularidade e uma comunidade ativa. Se mantendo até hoje como uma das mais usadas. Grande parte dessa popularidade se deve ao framework Ruby on Rails criado pelo programador dinamarquês David Heinemeier Hansson em 2005. Frequentemente confundido com o nome da própria linguagem por novos programadores.

    O Framework visa principalmente aumentar a produtividade dos desenvolvedores. Tornar a linguagem mais rápida e facilitar o acesso a banco de dados em aplicações web. Com ele é possível criar projetos com uma estrutura pré-definida uma vez que o framework possui arquitetura MVC (Model-View-Controller). Costumeiramente Ruby on Rails é chamado de RoR.

    Ruby Gems

    A linguagem possui a biblioteca Ruby Gems com plugins, layouts, e outras ferramentas totalmente gratuitas. Ou seja que funciona como um gerenciador de pacotes.

    Posteriormente a Linguagem Ruby influenciou outras como Groovy, Falcon e linguagem D.

  • WhatsApp Pay chega ao Brasil como ferramenta para pagamentos

    WhatsApp Pay chega ao Brasil como ferramenta para pagamentos

    Com exclusividade chega ao Brasil o WhatsApp Pay, função para realizar pagamentos dentro do aplicativo. A novidade foi confirmada pela empresa para usuários do sistema Android e iOS, e deve estar disponível em algumas semanas. Primeiramente uma versão teste estava sendo desenvolvida na Índia na início do ano.

    Usuários de contas pessoais e comerciais poderão cobrar e receber dinheiro diretamente no aplicativo. Segundo o Facebook, empresa responsável pelo mensageiro, será necessário cadastrar um cartão com a opção de débito ou crédito das bandeiras Mastercard e Visa. A Cielo será responsável pelo processamento das transações, inicialmente as instituições financeiras parceiras são Nubank, Banco do Brasil e Sicred.

    Para pessoas físicas não haverá cobrança de taxas. Já para empresas uma pequena cobrança será realizada. O WhatsApp Pay visa ajudar principalmente pequenas empresas e microempreendedores.

    A ferramenta de pagamentos será integrada ao Facebook Pay, logo também será possível realizar transações por meio do Messenger, já que haverá integração entre os aplicativos da empresa.

  • Pokémon GO não funcionará em Android 32 bits a partir de agosto

    Pokémon GO não funcionará em Android 32 bits a partir de agosto

    Pokémon GO descontinuará suporte ao jogo no Android 32 bits para focar o seu desenvolvimento em novas tecnologias. A atualização está prevista para agosto de 2020.

    A medida afetará principalmente aparelhos lançados antes de 2015 e que possuem Android 5.0 e anteriores . A grande maioria dos smartphones atuais usam a arquitetura de 64 bits. Que possui o dobro de processamento e maior memória RAM.

    Portanto após a atualização não será possível acessar a conta de usuário nesses aparelhos. Simplesmente não atualizar o aplicativo não será suficiente.

    Alguns dos smartphones impactado são Samsung Galaxy S4, S5, Note 3, J3 e Moto G (1ª geração).

    Por outro lado os usuários de iOS e de Android 64 bits não serão impactados pela mudança. Para saber se seu smartphone possui arquitetura 32 ou 64 bits, você deve entrar no site do fabricante ou usar um aplicativo como o 64Bit Checker. Por fim no site do Pokémon Go há uma lista, não exaustiva, com alguns dos aparelhos que perderão o suporte ao jogo.

  • Whatsapp poderá conter opção de pesquisa por data

    Whatsapp poderá conter opção de pesquisa por data

    Uma nova funcionalidade está sendo trabalhada no Whatsapp, a opção de pesquisa por data da mensagem. A opção contará com um calendário onde o usuário poderá selecionar a data desejada. A nova função está em desenvolvimento alfa e não há previsão do lançamento da opção no aplicativo. Mas há expectativa que uma nova versão esteja disponível nas próximas semanas.

    Segundo o site WABetaInfo será possível a pesquisa por data específica ou por intervalo de data. A opção estará disponível para o aplicativo Android e iOS. Mas chegará primeiro para usuários de iPhone.

    Atualmente com a ferramenta de pesquisa do aplicativo é possível fazer a busca apenas por conteúdo. Ou seja em conversas longas o usuário tem certa dificuldade de encontrar a mensagem desejada dentro do aplicativo do Whatsapp.