{"id":3038,"date":"2020-04-24T08:53:35","date_gmt":"2020-04-24T08:53:35","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/"},"modified":"2026-04-24T11:29:19","modified_gmt":"2026-04-24T11:29:19","slug":"um-olhar-objetivo-sobre-a-guerra-das-bibliotecas-react-vs-vue","status":"publish","type":"post","link":"https:\/\/thecodest.co\/pt\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/","title":{"rendered":"Um olhar objetivo sobre a guerra das bibliotecas: React vs Vue"},"content":{"rendered":"<p><h2>De onde viemos? O que \u00e9 que somos? Para onde vamos?<\/h2><\/p>\n<p>Paremos por um momento e pensemos onde estamos. Sendo eu um boomer total, duvido sinceramente que h\u00e1 cerca de 10 anos algu\u00e9m pudesse prever que <a href=\"https:\/\/thecodest.co\/pt\/blog\/find-your-node-js-expert-for-hire-today\/\">desenvolvimento web<\/a> iria t\u00e3o longe.<\/p>\n<p>As aplica\u00e7\u00f5es de ambiente de trabalho utilit\u00e1rias s\u00e3o uma coisa do passado porque tudo pode ser feito num browser. De facto, as aplica\u00e7\u00f5es que precisam de utilizar APIs de n\u00edvel inferior que n\u00e3o est\u00e3o dispon\u00edveis no navegador s\u00e3o tamb\u00e9m escritas utilizando motores e linguagens de navegador, porque isso facilita a sua manuten\u00e7\u00e3o.<\/p>\n<p>As aplica\u00e7\u00f5es m\u00f3veis podem ser facilmente substitu\u00eddas por ferramentas utilizadas para <a href=\"https:\/\/thecodest.co\/pt\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> desenvolvimento - ver <strong><a href=\"https:\/\/thecodest.co\/pt\/blog\/conditional-component-visibility-in-react\/\">React<\/a> Nativo<\/strong>, NativeScript. Al\u00e9m disso, temos o PWA, que \"imita\" facilmente o funcionamento das aplica\u00e7\u00f5es m\u00f3veis. Adicionalmente, os componentes que alimentam uma aplica\u00e7\u00e3o escrita em <strong><a href=\"https:\/\/thecodest.co\/pt\/blog\/hire-vue-js-developers\/\">Vue<\/a><\/strong> ou <strong>React<\/strong> pode facilmente partilhar v\u00e1rios <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/what-is-code-refactoring\/\">c\u00f3digo<\/a> elementos entre plataformas. <\/p>\n<p>Temos de admitir uma coisa: as aplica\u00e7\u00f5es Web s\u00e3o atualmente uma pot\u00eancia que ser\u00e1 dif\u00edcil de reduzir para o r\u00e9s do ch\u00e3o. Como utilizador, vejo-me a utiliz\u00e1-las praticamente em todo o lado: a comunicar via Slack, a utilizar um editor de c\u00f3digo, a fazer apresenta\u00e7\u00f5es ou mesmo a escrever um artigo num blogue.<\/p>\n<p>\u00c9 dif\u00edcil prever o que acontecer\u00e1 dentro de alguns anos. O WebAssembly est\u00e1 a entrar em a\u00e7\u00e3o e vai permitir <a href=\"https:\/\/thecodest.co\/pt\/blog\/why-us-companies-are-opting-for-polish-developers\/\">n\u00f3s<\/a> para transferir as aplica\u00e7\u00f5es que requerem c\u00e1lculos mais complexos para o mundo do browser. No entanto, h\u00e1 um facto que se mant\u00e9m inalterado - \u00e9 realmente dif\u00edcil encontrar um obst\u00e1culo para construir, com a utiliza\u00e7\u00e3o de tecnologias Web, uma aplica\u00e7\u00e3o com a qual s\u00f3 podemos sonhar. <\/p>\n<p><h2>O big bang na realidade da Internet <\/h2><\/p>\n<p>Vamos voltar ao passado por um momento, antes de aparecerem as primeiras estruturas Web mais significativas e de as aplica\u00e7\u00f5es serem desenvolvidas de forma imperativa. Cada mecanismo interativo de uma p\u00e1gina era tratado manualmente e era respons\u00e1vel por uma a\u00e7\u00e3o espec\u00edfica.<\/p>\n<p>O melhor exemplo que pode ser citado \u00e9 a biblioteca jQuery - na altura, uma das solu\u00e7\u00f5es mais populares para lidar com eventos simples. Com a sua ajuda, foram implementados v\u00e1rios menus pendentes, transi\u00e7\u00f5es, anima\u00e7\u00f5es, calculadoras e mecanismos semelhantes.<\/p>\n<p>Vale a pena mencionar que j\u00e1 nessa altura se notavam problemas em aplica\u00e7\u00f5es mais complexas - em locais onde partes diferentes e independentes tinham de, por exemplo, reagir a um clique adequado ou \u00e0 digita\u00e7\u00e3o de algo. A maioria das aplica\u00e7\u00f5es n\u00e3o tinha um estado expl\u00edcito e, em vez disso, era salva, por exemplo, pelos atributos dos elementos ou pelas classes que possu\u00edam.<\/p>\n<p>Na altura, era evidente que a abordagem atual carecia de reatividade - uma forma estruturada de os componentes comunicarem entre si e partilharem, por exemplo, o seu estado ou diferentes eventos, o que tornava as aplica\u00e7\u00f5es mais f\u00e1ceis de manter e lhes permitia proporcionar uma boa experi\u00eancia de utilizador a baixo custo.<\/p>\n<p><article-digital-product-development><\/article-digital-product-development><\/p>\n<p><h2>Primeiros passos em dire\u00e7\u00e3o a quadros bem conhecidos<\/h2><\/p>\n<p>Com o tempo, come\u00e7aram a surgir no horizonte as primeiras frameworks de front-end, com o objetivo de estruturar a arquitetura para aplica\u00e7\u00f5es mais complexas.<\/p>\n<p>Estas estruturas baseavam-se principalmente no padr\u00e3o MVC - algumas sugeriam uma abordagem mais manual, como o Backbone.js, enquanto outras, como o Knockout.js, ligavam-se a sistemas bidireccionais <a href=\"https:\/\/thecodest.co\/pt\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">dados<\/a> vincula\u00e7\u00e3o.<\/p>\n<p>No entanto, \u00e9 poss\u00edvel sentir que escrever a aplica\u00e7\u00e3o foi mais dif\u00edcil, exigiu muito mais codifica\u00e7\u00e3o e n\u00e3o produziu necessariamente os resultados pretendidos ou compensou o tempo perdido no desenvolvimento da aplica\u00e7\u00e3o.<\/p>\n<p>A principal raz\u00e3o pela qual encontrar a m\u00e9dia dourada no <a href=\"https:\/\/thecodest.co\/pt\/blog\/javascript-tools-in-action\/\">JS<\/a> O ecossistema era dif\u00edcil porque era um pouco estranho entre os conhecidos <a href=\"https:\/\/thecodest.co\/pt\/blog\/top-programming-languages-to-build-e-commerce\/\">linguagens de programa\u00e7\u00e3o<\/a> que h\u00e1 muito t\u00eam os seus caminhos pavimentados.<\/p>\n<p>E eu n\u00e3o quero me alongar aqui sobre exatamente quais caminhos acompanharam o desenvolvimento de v\u00e1rios frameworks ao longo da hist\u00f3ria. No entanto, \u00e9 importante notar uma coisa - o tempo de matura\u00e7\u00e3o do ecossistema JS nos browsers n\u00e3o foi f\u00e1cil e enfrentou muitas prova\u00e7\u00f5es.<\/p>\n<p>Esta \u00e9 a \u00fanica raz\u00e3o pela qual, atualmente, podemos criar aplica\u00e7\u00f5es Web e desenvolv\u00ea-las de uma forma muito f\u00e1cil e indolor.<\/p>\n<p><h2>Informa\u00e7\u00f5es b\u00e1sicas e ligeira compara\u00e7\u00e3o<\/h2><\/p>\n<p>Em vez de atirar carne para o ar, como \u00e9 habitual na Internet, vamos analisar as duas bibliotecas, recolher informa\u00e7\u00f5es sobre elas e compar\u00e1-las - tanto na teoria como na pr\u00e1tica.<\/p>\n<p>NOTA: A descri\u00e7\u00e3o dos mecanismos que funcionam em <strong>Vue <\/strong>refere-se especificamente \u00e0 vers\u00e3o 2. A vers\u00e3o 3 introduz muitas altera\u00e7\u00f5es significativas, mas n\u00e3o \u00e9 um verdadeiro concorrente do <strong>React<\/strong> neste momento, quanto mais n\u00e3o seja devido \u00e0 sua maturidade - Vue 3 data de lan\u00e7amento: 18 de setembro de 2020.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/tabela-art-.jpg\" alt=\"React Vue diferen\u00e7as \" \/><\/p>\n<p>Vamos esclarecer uma coisa - ao aprofundar as duas bibliotecas, pode ver que, na verdade, existem mais semelhan\u00e7as do que diferen\u00e7as. Deixando de lado a maneira de usar as bibliotecas como tal - ambas t\u00eam conceitos muito semelhantes de como funcionam. Ambas s\u00e3o alimentadas por um ecossistema semelhante e a sua utiliza\u00e7\u00e3o n\u00e3o \u00e9 diametralmente diferente.<\/p>\n<p>O diabo est\u00e1 nos pormenores - quanto mais frequentemente utilizamos uma ferramenta, maiores s\u00e3o as desvantagens das suas diferentes solu\u00e7\u00f5es. Um bom exemplo pode ser a liga\u00e7\u00e3o de dados bidirecional, que \u00e9 mais frequentemente utilizada em <strong>Vue<\/strong> como uma propriedade v-model: muitas vezes facilita as coisas, trata de muitas coisas automaticamente e n\u00e3o requer a codifica\u00e7\u00e3o de suporte adicional para a altera\u00e7\u00e3o de valores.<\/p>\n<p>No entanto, h\u00e1 casos em que \u00e9 necess\u00e1rio seguir especificamente uma tentativa de altera\u00e7\u00e3o e reagir em conformidade, caso em que os componentes baseados no modelo V nos obrigam frequentemente a mexer noutros <strong>Vue<\/strong> mec\u00e2nicas como a propriedade computorizada, fazendo com que o efeito obtido pare\u00e7a frequentemente muito pior do que com uma abordagem manual;<\/p>\n<p>Outro aspeto interessante \u00e9 o JSX, que \u00e9 uma forma \"vagabunda\" de modelar conte\u00fado renderizado utilizando <strong>React<\/strong>. Tem opini\u00f5es diferentes na comunidade de programadores.<\/p>\n<p>De acordo com as minhas observa\u00e7\u00f5es, parece que os programadores que utilizam um ambiente diferente do JS, por exemplo <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/how-to-hire-a-php-developer\/\">PHP<\/a> ou C#, est\u00e3o mais inclinados a modelar vistas de uma forma que <strong>Vue<\/strong> faz.<\/p>\n<p>Resumindo - modelos conhecidos de <strong>Vue<\/strong> permitem definir vistas de uma forma muito clara e elegante, enquanto o JSX do React permite constru\u00ed-las, em muitos casos, de forma mais r\u00e1pida, adaptada a necessidades espec\u00edficas e, frequentemente, requer menos c\u00f3digo para construir estruturas diversas;<\/p>\n<p>Vejamos tamb\u00e9m os ecossistemas destas duas ferramentas. Em princ\u00edpio, podemos dizer que n\u00e3o diferem em nada. Ambas s\u00e3o chamadas de bibliotecas por uma raz\u00e3o - elas fornecem o m\u00ednimo necess\u00e1rio para o suporte de aplica\u00e7\u00f5es Web reactivas.<\/p>\n<p>Enquanto as restantes, relacionadas com a comunica\u00e7\u00e3o com <a href=\"https:\/\/thecodest.co\/pt\/blog\/compare-staff-augmentation-firms-that-excel-in-api-team-staffing-for-financial-technology-projects\/\">API<\/a>, O fluxo de dados, os componentes da interface do utilizador utilizados em diferentes subp\u00e1ginas, s\u00e3o os chamados fornecedores - bibliotecas retiradas do exterior, que t\u00eam de ser corretamente ligadas ao <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/why-do-projects-fail\/\">projeto<\/a>. \u00c9 um pouco como o mundo do Lego: se quisermos construir um todo coerente, temos de o juntar a partir de pequenos blocos individuais.<\/p>\n<p>Esta alegoria refere-se precisamente aos componentes ligados, que s\u00e3o o poder das aplica\u00e7\u00f5es criadas com <strong>React<\/strong> ou <strong>Vue<\/strong>;<\/p>\n<p>Um aspeto importante, especialmente para as pessoas que n\u00e3o t\u00eam muita experi\u00eancia no ambiente JS, \u00e9 o n\u00edvel de entrada numa determinada biblioteca. Por outras palavras - a complexidade da ferramenta, que consiste no tempo direto que \u00e9 necess\u00e1rio despender para compreender a sua mec\u00e2nica.<\/p>\n<p>Penso que h\u00e1 uma coisa que tem de ser inequivocamente afirmada aqui - no caso de <strong>Vue<\/strong>\u00e9 muito mais simples. Temos uma liga\u00e7\u00e3o de dados bidirecional, temos um modelo elegantemente especificado que \u00e9 enganadoramente semelhante a solu\u00e7\u00f5es noutras linguagens, por exemplo, twig, e finalmente - n\u00e3o temos dores de cabe\u00e7a causadas pela aprendizagem de teorias sobre o funcionamento de ganchos individuais e casos em que devem ser utilizadas mec\u00e2nicas espec\u00edficas.<\/p>\n<p><h2>O que dizem as estat\u00edsticas?<\/h2><\/p>\n<p>Seguir diretamente a voz da multid\u00e3o n\u00e3o \u00e9 exatamente uma boa escolha. No entanto, um bom passo para tomar uma boa decis\u00e3o \u00e9 analisar o que dizem as pessoas que interagiram com estas bibliotecas.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/bez-tytulu.png\" alt=\"gr\u00e1fico vue js\" \/><\/p>\n<p>E sim -  <a href=\"https:\/\/star-history.t9t.io\/#facebook\/react&amp;vuejs\/vue\" rel=\"nofollow\">estrelas no github <\/a> pode ser um indicador do grau de envolvimento da comunidade de uma determinada biblioteca no seu desenvolvimento, da forma como \u00e9 percepcionada pelos criadores e do seu interesse no rumo que est\u00e1 a tomar. <a href=\"https:\/\/thecodest.co\/pt\/blog\/team-extension-guide-software-development\/\">Engenheiros<\/a> que iniciam um determinado reposit\u00f3rio recebem frequentemente notifica\u00e7\u00f5es sobre novas vers\u00f5es ou altera\u00e7\u00f5es de c\u00f3digo, o que se traduz no seu conhecimento direto da biblioteca.<\/p>\n<p>No entanto, o n\u00famero de estrelas no github n\u00e3o deve ser visto como um or\u00e1culo - nem todos os programadores que gostam de uma ferramenta deixar\u00e3o uma marca - em vez disso, considero-o um sinal de pura paix\u00e3o que os programadores t\u00eam por um determinado projeto de c\u00f3digo aberto.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/aaaaaabbb.png\" alt=\"react vs. vue \" \/><\/p>\n<p><a href=\"https:\/\/trends.google.com\/trends\/explore?date=today%205-y&amp;q=react%20js,vue%20js\" rel=\"nofollow\">Google Trends <\/a> \u00e9 um servi\u00e7o bem conhecido que nos permite estudar o interesse por temas espec\u00edficos ao longo do tempo. Embora n\u00e3o seja um indicador racional de qualidade ou de utiliza\u00e7\u00e3o, pode fornecer todo o tipo de an\u00e1lises.<\/p>\n<p>\u00c9 f\u00e1cil ver que o curso dos \u00faltimos 5 anos foi tra\u00e7ado de forma bastante semelhante quando se trata de comparar os dois protagonistas do artigo de hoje. A conclus\u00e3o b\u00e1sica que se pode tirar do gr\u00e1fico \u00e9 que<strong> React<\/strong> \u00e9 superior no que respeita \u00e0 popularidade de pesquisa em rela\u00e7\u00e3o ao seu advers\u00e1rio.<\/p>\n<p>Para ser claro - estar no topo do Google Trends n\u00e3o significa que uma biblioteca seja melhor. Tem a ver com a popularidade do p\u00fablico, como j\u00e1 referi - provavelmente mais pessoas ouviram falar desta ferramenta, pode ter despertado mais interesse entre <a href=\"https:\/\/thecodest.co\/pt\/blog\/guide-to-enterprise-software-development\/\">CTOs<\/a>, <strong><a href=\"https:\/\/thecodest.co\/pt\/blog\/hire-software-developers\/\">programadores de software<\/a> <\/strong>ou pessoas que apenas querem aprender uma determinada ferramenta.<\/p>\n<p>Este gr\u00e1fico reflecte-se na realidade? De certa forma, sim. De um modo geral, entre as pessoas inquiridas, h\u00e1 mais pessoas que revelam conhecimentos diversificados e sofisticados sobre <strong>React<\/strong> do que <strong>Vue<\/strong>. Que opini\u00f5es se podem obter ao falar com estas pessoas? Tentarei descrever isto no pr\u00f3ximo par\u00e1grafo.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/1.png\" alt=\"Classifica\u00e7\u00e3o dos quadros\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/2.png\" alt=\"estado de JS \" \/><\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/3.png\" alt=\"React vs. Vue \" \/><\/p>\n<p><a href=\"https:\/\/2020.stateofjs.com\/en-US\/\" rel=\"nofollow\">Estado de JS\u00a0<\/a> \u00e9 um site que todos os anos realiza inqu\u00e9ritos a pessoas que trabalham em tecnologias relacionadas com o JavaScript. O seu objetivo \u00e9 recolher informa\u00e7\u00f5es dos programadores sobre a forma como v\u00eaem as ferramentas com que trabalham diariamente.<\/p>\n<p>As perguntas abrangem ferramentas individuais para diferentes objectivos - por exemplo, ferramentas utilizadas no front-end e no back-end, mas tamb\u00e9m ferramentas para testes, gest\u00e3o do estado da aplica\u00e7\u00e3o, etc. Cada uma destas perguntas n\u00e3o \u00e9 uma simples resposta sim\/n\u00e3o, o s\u00edtio coloca uma s\u00e9rie de quest\u00f5es sobre a pr\u00f3pria ferramenta, interesses, experi\u00eancias e uma avalia\u00e7\u00e3o global que se resume \u00e0 frase \"Utilizaria esta ferramenta em projectos futuros?\"<\/p>\n<p>O pr\u00f3prio site permite-lhe fazer muitas an\u00e1lises, comparar ferramentas relevantes e, por vezes, descobrir bibliotecas menos conhecidas que est\u00e3o a come\u00e7ar a ter sucesso no mundo JS, ganhando popularidade e desfrutando de uma elevada taxa de \"felicidade de utiliza\u00e7\u00e3o\". Encorajo-o sinceramente a navegar pelo conte\u00fado deste s\u00edtio.<\/p>\n<p>Vamos resumir a sec\u00e7\u00e3o com estat\u00edsticas. A an\u00e1lise de diferentes tipos de gr\u00e1ficos pode muitas vezes ser uma boa op\u00e7\u00e3o para comparar diferentes aspectos de determinados t\u00f3picos. No entanto, \u00e9 importante ter em conta que seguir a voz da multid\u00e3o n\u00e3o ser\u00e1 necessariamente a coisa mais inteligente a fazer. Em vez disso, pode tomar uma decis\u00e3o informada utilizando algumas das li\u00e7\u00f5es aprendidas com a an\u00e1lise de gr\u00e1ficos.<\/p>\n<p><h2>Melhor escolha para desenvolvedor<\/h2><\/p>\n<p>Anteriormente, referi o limiar de entrada mais baixo para <strong>Vue<\/strong> - De facto, permite-lhe concentrar-se um pouco mais rapidamente no desenvolvimento real da aplica\u00e7\u00e3o, utilizando a ferramenta e reduzindo ao m\u00ednimo o tempo necess\u00e1rio para se familiarizar com o ambiente, a mec\u00e2nica e os v\u00e1rios casos de utiliza\u00e7\u00e3o.<\/p>\n<p>Em geral, a minha opini\u00e3o \u00e9 que <strong>Vue<\/strong> \u00e9 mais adequado para pessoas que ainda n\u00e3o lidaram com bibliotecas de front-end. Certamente que lhe permitir\u00e1, de uma forma mais encorajadora, obter resultados satisfat\u00f3rios num curto espa\u00e7o de tempo.<\/p>\n<p>No entanto, digamo-lo em voz alta - a falta de conhecimento da linguagem em que utilizamos ferramentas espec\u00edficas ir\u00e1 prejudicar-nos mais cedo ou mais tarde. \u00c9 um elemento insignificante para coisas simples, mas \u00e0 medida que a complexidade das aplica\u00e7\u00f5es criadas aumenta, ser\u00e1 cada vez mais dif\u00edcil construir aplica\u00e7\u00f5es de forma decente sem um bom conhecimento de <a href=\"https:\/\/thecodest.co\/pt\/blog\/hire-javascript-developer\/\">JavaScript<\/a>.<\/p>\n<p>N\u00e3o me refiro propriamente a ser capaz de escrever algumas fun\u00e7\u00f5es sofisticadas, porque esta parte pode ser largamente substitu\u00edda, por exemplo, por fornecedores. Refiro-me a alguns erros comuns que podem ser cometidos na linguagem e ao facto de n\u00e3o se ter consci\u00eancia de que o comportamento incorreto n\u00e3o se deve \u00e0 utiliza\u00e7\u00e3o da biblioteca, mas sim \u00e0 utiliza\u00e7\u00e3o da linguagem. O erro mais comum que se manifesta aqui \u00e9 a chamada imutabilidade - ou seja, o conhecimento do mecanismo de refer\u00eancia no JavaScript.<\/p>\n<p>N\u00e3o sou capaz de sugerir qual a melhor biblioteca para programadores mais ou menos familiarizados com o JavaScript. Mas uma coisa eu sei - se quiser ter uma ideia real de como \u00e9 o desenvolvimento com ambas as ferramentas \"por dentro\" - tente escrever aplica\u00e7\u00f5es em cada uma delas. Isto dar-lhe-\u00e1 uma ideia, permitir-lhe-\u00e1 ver quais os mecanismos que lhe agradam mais e qual a melhor escolha para si.<\/p>\n<p>Como referi anteriormente, ambas as bibliotecas s\u00e3o alimentadas por ecossistemas semelhantes e t\u00eam vis\u00f5es semelhantes sobre a cria\u00e7\u00e3o de aplica\u00e7\u00f5es com pequenos componentes. Ambas as bibliotecas est\u00e3o a ter bons resultados - n\u00e3o h\u00e1 qualquer indica\u00e7\u00e3o de que alguma delas v\u00e1 desaparecer num futuro pr\u00f3ximo. Consequentemente, as ofertas de emprego em ambas as bibliotecas manter-se-\u00e3o a um n\u00edvel semelhante.<\/p>\n<p>As conclus\u00f5es s\u00e3o simples - utilize o que lhe conv\u00e9m; acumule experi\u00eancia e avalie. Isto ajud\u00e1-lo-\u00e1 a desenvolver uma abordagem racional para saber se \u00e9 melhor utilizar uma ou outra biblioteca num determinado projeto; al\u00e9m disso, tente experimentar - nada ensina t\u00e3o profundamente como os erros cometidos no passado.<\/p>\n<p><h2>Melhor escolha para <a href=\"https:\/\/thecodest.co\/pt\/blog\/ainiros-cto-discusses-the-hurdles-and-successes-in-crafting-ai-driven-solutions\/\">CTO<\/a> <\/h2><\/p>\n<p>N\u00e3o \u00e9 segredo que n\u00e3o existe um meio de ouro que seja a melhor solu\u00e7\u00e3o para um determinado projeto. Especialmente no front-end, as ferramentas utilizadas para criar aplica\u00e7\u00f5es envelhecem rapidamente e, muitas vezes, \u00e9 dif\u00edcil encontrar as \u00faltimas tend\u00eancias.<\/p>\n<p>No entanto, a escolha da tecnologia n\u00e3o \u00e9, ou pelo menos n\u00e3o deveria ser, uma quest\u00e3o de saber o que se enquadra nas tend\u00eancias actuais. Em vez disso, devemos orient\u00e1-la para expectativas e pressupostos espec\u00edficos sobre a aplica\u00e7\u00e3o que vamos construir. Cada uma das bibliotecas comparadas tem os seus pontos fortes e fracos, que, combinados com o caso de utiliza\u00e7\u00e3o, nos permitir\u00e3o fazer a escolha mais razo\u00e1vel.<\/p>\n<p>Uma op\u00e7\u00e3o interessante pode vir a ser os resumos tecnol\u00f3gicos de grandes empresas, que descrevem frequentemente os seus casos de utiliza\u00e7\u00e3o, como foi ou est\u00e1 a ser o desenvolvimento de grandes aplica\u00e7\u00f5es e quais os erros que cometeram no passado. Talvez encontremos entre eles casos que sejam particularmente interessantes no contexto da escolha de uma biblioteca para um determinado projeto.<\/p>\n<p>As carater\u00edsticas que devemos considerar para escolher as ferramentas certas para a aplica\u00e7\u00e3o que est\u00e1 a ser constru\u00edda s\u00e3o: o tempo de desenvolvimento da aplica\u00e7\u00e3o, a facilidade de <a href=\"https:\/\/thecodest.co\/pt\/blog\/the-importance-of-regular-application-maintenance-and-support-in-future-proofing-your-business\/\">manuten\u00e7\u00e3o da aplica\u00e7\u00e3o<\/a>A complexidade da aplica\u00e7\u00e3o e a experi\u00eancia dos programadores na utiliza\u00e7\u00e3o de bibliotecas espec\u00edficas.<\/p>\n<p>Os programadores s\u00e3o as pessoas que passam mais tempo nas ferramentas que comparo e s\u00e3o eles que podem dar os melhores conselhos e ajud\u00e1-lo a fazer a melhor escolha no grande choque de bibliotecas. \u00c9 durante o desenvolvimento da aplica\u00e7\u00e3o que se v\u00eaem os v\u00e1rios problemas que surgem diretamente da escolha da tecnologia e se tem a melhor vis\u00e3o dos aspectos que prejudicam a utiliza\u00e7\u00e3o de uma determinada ferramenta para determinadas funcionalidades.<\/p>\n<p>Como mencionei anteriormente - ambas as bibliotecas n\u00e3o parecem estar a desaparecer do <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/what-is-the-size-of-your-potential-reachable-market\/\">mercado<\/a>Pelo menos, n\u00e3o nos pr\u00f3ximos anos. Em vez de tomar decis\u00f5es com base em estat\u00edsticas e opini\u00f5es<br \/>\nde v\u00e1rias pessoas da Internet - talvez uma melhor op\u00e7\u00e3o seja simplesmente falar com os criadores.<\/p>\n<p>Apresentar-lhes o que se espera da aplica\u00e7\u00e3o, o tempo de que dispomos para a entregar e permitir uma troca de opini\u00f5es sobre o que pensam das duas solu\u00e7\u00f5es antes de tomarmos a decis\u00e3o final.<\/p>\n<p><h2>Conclus\u00f5es<\/h2><\/p>\n<p>As guerras na Internet s\u00e3o normalmente - ou talvez em todos os casos - in\u00fateis. Haver\u00e1 sempre pessoas que teimar\u00e3o em afirmar que a sua escolha \u00e9 a melhor, sem apresentar quaisquer argumentos racionais que confirmem a sua decis\u00e3o.<\/p>\n<p>Em vez de nos deixarmos cegar por escolhas espec\u00edficas - concentremo-nos na an\u00e1lise, tentemos tirar conclus\u00f5es adequadas e utilizemo-las para ajustar ou rejeitar uma solu\u00e7\u00e3o espec\u00edfica.<\/p>\n<p>Tal como o t\u00edtulo indica - n\u00e3o pretendo coroar nenhuma biblioteca em particular como a cura para todas as dores. Em vez disso, s\u00e3o apresentadas algumas hip\u00f3teses e revelados os pontos fortes e fracos de ambas as bibliotecas. Dei alguns conselhos sobre o que procurar ao escolher entre elas, de modo a tomar uma decis\u00e3o sensata e n\u00e3o ser guiado por tend\u00eancias ou pessoas aleat\u00f3rias da Internet.<\/p>\n<p>Cada ferramenta pode ser suficientemente adequada \u00e0s necessidades do projeto. Nenhuma delas desaparecer\u00e1 rapidamente do mercado nos pr\u00f3ximos anos. Ambas t\u00eam comunidades poderosas e bastante maturidade, o que nos mostra que estas duas ferramentas est\u00e3o a ter um bom desempenho.<\/p>\n<p>A escolha final est\u00e1 nas suas m\u00e3os. No entanto, se tiver d\u00favidas ou quiser apenas discutir o seu caso com <a href=\"https:\/\/thecodest.co\/pt\/blog\/vibrant-upturn-charting-the-resolute-rise-of-swedish-firms\/\">The Codest<\/a> - n\u00e3o hesite em contactar-nos!<\/p>\n<p><article-product-development-consulting><\/article-product-development-consulting><\/p>\n<p><b>Ler mais:<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Porque \u00e9 que deve (provavelmente) utilizar Typescript<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">Como n\u00e3o matar um projeto com m\u00e1s pr\u00e1ticas de codifica\u00e7\u00e3o?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Estrat\u00e9gias de obten\u00e7\u00e3o de dados no NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>O crescimento explosivo da Web, que teve in\u00edcio h\u00e1 cerca de 10 anos, causou uma grande confus\u00e3o no mundo da Internet. N\u00e3o s\u00f3 tornou poss\u00edvel fazer mais coisas no browser, como tamb\u00e9m mudou a vis\u00e3o geral do desenvolvimento de aplica\u00e7\u00f5es. No entanto, esta abordagem exigiu algumas melhorias na manuten\u00e7\u00e3o do c\u00f3digo das aplica\u00e7\u00f5es baseadas no browser. Esta foi a altura do desenvolvimento das primeiras estruturas de front-end. Hoje vou analisar duas delas ao microsc\u00f3pio.<\/p>","protected":false},"author":2,"featured_media":3039,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3038","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>An objective look at the library war: React vs Vue - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/pt\/blogue\/um-olhar-objetivo-sobre-a-guerra-das-bibliotecas-react-vs-vue\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An objective look at the library war: React vs Vue\" \/>\n<meta property=\"og:description\" content=\"The explosive growth of the web that has started about 10 years ago has caused great confusion in the world of the internet. Not only did it make it possible to do more things in the browser, but also changed the general view of application development. However, this approach required some improvements in maintaining the code of browser-based applications. This was the time of development of the first front-end frameworks. I will analyse two of them under the microscope today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/pt\/blogue\/um-olhar-objetivo-sobre-a-guerra-das-bibliotecas-react-vs-vue\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-24T08:53:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:29:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"An objective look at the library war: React vs Vue\",\"datePublished\":\"2020-04-24T08:53:35+00:00\",\"dateModified\":\"2026-04-24T11:29:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/\"},\"wordCount\":2808,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_vs_vue.jpg\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/\",\"name\":\"An objective look at the library war: React vs Vue - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_vs_vue.jpg\",\"datePublished\":\"2020-04-24T08:53:35+00:00\",\"dateModified\":\"2026-04-24T11:29:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_vs_vue.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_vs_vue.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/an-objective-look-at-the-library-war-react-vs-vue\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An objective look at the library war: React vs Vue\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/pt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Um olhar objetivo sobre a guerra das bibliotecas: React vs Vue - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/pt\/blogue\/um-olhar-objetivo-sobre-a-guerra-das-bibliotecas-react-vs-vue\/","og_locale":"pt_PT","og_type":"article","og_title":"An objective look at the library war: React vs Vue","og_description":"The explosive growth of the web that has started about 10 years ago has caused great confusion in the world of the internet. Not only did it make it possible to do more things in the browser, but also changed the general view of application development. However, this approach required some improvements in maintaining the code of browser-based applications. This was the time of development of the first front-end frameworks. I will analyse two of them under the microscope today.","og_url":"https:\/\/thecodest.co\/pt\/blogue\/um-olhar-objetivo-sobre-a-guerra-das-bibliotecas-react-vs-vue\/","og_site_name":"The Codest","article_published_time":"2020-04-24T08:53:35+00:00","article_modified_time":"2026-04-24T11:29:19+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"An objective look at the library war: React vs Vue","datePublished":"2020-04-24T08:53:35+00:00","dateModified":"2026-04-24T11:29:19+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/"},"wordCount":2808,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg","articleSection":["Software Development"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/","url":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/","name":"Um olhar objetivo sobre a guerra das bibliotecas: React vs Vue - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg","datePublished":"2020-04-24T08:53:35+00:00","dateModified":"2026-04-24T11:29:19+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_vs_vue.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/an-objective-look-at-the-library-war-react-vs-vue\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"An objective look at the library war: React vs Vue"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/pt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/comments?post=3038"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3038\/revisions"}],"predecessor-version":[{"id":7718,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3038\/revisions\/7718"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media\/3039"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media?parent=3038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/categories?post=3038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/tags?post=3038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}