{"id":1547,"date":"2024-09-17T15:39:21","date_gmt":"2024-09-17T18:39:21","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=1547"},"modified":"2025-11-26T12:52:27","modified_gmt":"2025-11-26T15:52:27","slug":"instalando-um-pwa","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/","title":{"rendered":"Instalando um PWA"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Instalando um PWA<\/strong>: A capacidade de <strong>instala\u00e7\u00e3o<\/strong> (<em>installability<\/em>) \u00e9 o que finalmente eleva um Progressive Web App (PWA) de um website avan\u00e7ado para uma experi\u00eancia de aplicativo. Ao serem instalados, os PWAs ganham um \u00edcone na tela inicial (ou na \u00e1rea de trabalho) e podem ser iniciados em um modo <strong><code>standalone<\/code><\/strong> (tela cheia, sem a barra de endere\u00e7o do navegador).<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Entender os crit\u00e9rios e as particularidades de cada plataforma (Desktop, Android e iOS) \u00e9 crucial para garantir que seu PWA seja eleg\u00edvel e que o usu\u00e1rio consiga concluir a instala\u00e7\u00e3o.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. \u2705 Crit\u00e9rios de Elegibilidade (O Checklist do Navegador)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para que um navegador (como Chrome, Edge ou Safari) exiba o <em>prompt<\/em> de instala\u00e7\u00e3o, o PWA precisa satisfazer a uma s\u00e9rie de requisitos t\u00e9cnicos, que garantem uma experi\u00eancia m\u00ednima de aplicativo:<\/p>\n\n\n\n<figure class=\"wp-block-table has-medium-font-size\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Crit\u00e9rio<\/strong><\/td><td><strong>Objetivo<\/strong><\/td><td><strong>Componente Necess\u00e1rio<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Seguran\u00e7a<\/strong><\/td><td>Proteger os dados e permitir o registro do Service Worker.<\/td><td><strong>HTTPS<\/strong> (obrigat\u00f3rio).<\/td><\/tr><tr><td><strong>Metadados<\/strong><\/td><td>Definir \u00edcones, nome, tema e modo de exibi\u00e7\u00e3o.<\/td><td><strong>Web App Manifest<\/strong> com campos essenciais (<code>name<\/code>, <code>short_name<\/code>, <code>icons<\/code>, <code>start_url<\/code>, <code>display: standalone<\/code>).<\/td><\/tr><tr><td><strong>Confiabilidade<\/strong><\/td><td>Garantir o funcionamento <em>offline<\/em> e o carregamento r\u00e1pido.<\/td><td><strong>Service Worker<\/strong> registrado, com o evento <code>fetch<\/code> configurado para servir, no m\u00ednimo, a p\u00e1gina de <em>start_url<\/em> (o App Shell).<\/td><\/tr><tr><td><strong>UX M\u00ednima<\/strong><\/td><td>A aplica\u00e7\u00e3o deve ser <strong>responsiva<\/strong> e ter conte\u00fado suficiente.<\/td><td><code>viewport<\/code> configurado e conte\u00fado que passa no teste de usabilidade.<\/td><\/tr><tr><td><strong>Engajamento<\/strong><\/td><td>Indicadores de que o usu\u00e1rio interage com o PWA (principalmente no Chrome).<\/td><td>A\u00e7\u00f5es do usu\u00e1rio como visitas repetidas ou tempo de sess\u00e3o m\u00ednimo.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. \ud83d\udda5\ufe0f Instala\u00e7\u00e3o em Desktop (Experi\u00eancia Consistente)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A experi\u00eancia de instala\u00e7\u00e3o em sistemas operacionais desktop (Windows, macOS, Linux) via navegadores baseados no Chromium (Chrome, Edge) \u00e9 a mais uniforme e direta.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Detec\u00e7\u00e3o:<\/strong> O navegador detecta o Service Worker e o Manifest v\u00e1lidos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Prompt:<\/strong> Um pequeno \u00edcone de &#8220;Instalar&#8221; aparece na barra de endere\u00e7o (Omnibox).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Instala\u00e7\u00e3o:<\/strong> O usu\u00e1rio clica no \u00edcone e, em seguida, em &#8220;Instalar&#8221;.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Resultado:<\/strong> O PWA \u00e9 adicionado como um aplicativo separado (sem <em>browser chrome<\/em>), com um atalho no Menu Iniciar\/Dock.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. \ud83e\udd16 Instala\u00e7\u00e3o em Android (Suporte Nativo Robusto)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O suporte do Google (Chrome para Android) \u00e9 o mais completo, tratando PWAs de forma quase indistingu\u00edvel de aplicativos nativos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>A2HS (Add to Home Screen):<\/strong> O navegador exibe uma pequena <em>banner<\/em> ou um <em>prompt<\/em> nativo convidando o usu\u00e1rio a adicionar o PWA \u00e0 tela inicial quando os crit\u00e9rios s\u00e3o atendidos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>WebAPK (Otimiza\u00e7\u00e3o Android):<\/strong> Em vez de apenas criar um atalho, o Chrome pode solicitar ao Play Store que gere um <strong>WebAPK<\/strong>. Isso permite que o PWA seja integrado ao sistema operacional de forma mais profunda (gerenciamento de permiss\u00f5es, melhor visibilidade no sistema, etc.), sem precisar ser desenvolvido em Kotlin ou Java.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. \ud83c\udf4e Instala\u00e7\u00e3o em iOS (Via Safari)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O suporte para PWAs no ecossistema da Apple (Safari no iOS e iPadOS) \u00e9 diferente e historicamente mais limitado, mas tem melhorado substancialmente. N\u00e3o h\u00e1 um <em>prompt<\/em> autom\u00e1tico de instala\u00e7\u00e3o.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Ato Manual:<\/strong> A instala\u00e7\u00e3o deve ser iniciada pelo usu\u00e1rio, manualmente, atrav\u00e9s do menu de compartilhamento do Safari.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Processo:<\/strong> O usu\u00e1rio deve tocar no \u00edcone <strong>Compartilhar<\/strong> (o quadrado com a seta para cima) e, em seguida, selecionar a op\u00e7\u00e3o <strong>&#8220;Adicionar \u00e0 Tela de In\u00edcio&#8221;<\/strong>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Web Clips (Termo Hist\u00f3rico):<\/strong> Embora o atalho criado seja tecnicamente um &#8220;Web Clip&#8221;, as vers\u00f5es modernas do Safari (a partir do iOS 15) permitem que o PWA funcione com Service Workers (para cache e modo <em>offline<\/em>), notifica\u00e7\u00f5es push e modo <code>standalone<\/code>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. \ud83d\udca1 Novas Tend\u00eancias de Distribui\u00e7\u00e3o<\/h2>\n\n\n\n<figure class=\"wp-block-table has-medium-font-size\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Tecnologia<\/strong><\/td><td><strong>Plataforma<\/strong><\/td><td><strong>O que \u00e9<\/strong><\/td><td><strong>Vantagem<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>WebAPK<\/strong><\/td><td>Android<\/td><td>Pacote que encapsula o PWA em um formato APK.<\/td><td>Melhor integra\u00e7\u00e3o com o sistema operacional e gerenciamento de permiss\u00f5es.<\/td><\/tr><tr><td><strong>Quick Apps<\/strong><\/td><td>Huawei\/Honor<\/td><td>Tecnologia da Huawei para criar mini-aplicativos com UX nativa usando padr\u00f5es web.<\/td><td>Desempenho r\u00e1pido e distribui\u00e7\u00e3o facilitada via AppGallery.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">\u2705 Conclus\u00e3o Instalando um PWA<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Instalando um PWA<\/strong>: A instala\u00e7\u00e3o \u00e9 a ponte que transforma seu site em um aplicativo de fato. Para garantir que seu PWA seja instal\u00e1vel, \u00e9 fundamental aderir estritamente aos crit\u00e9rios: <strong>HTTPS<\/strong>, <strong>Manifest<\/strong> completo e um <strong>Service Worker<\/strong> funcional. Enquanto o <strong>Android\/Desktop<\/strong> oferece um <em>prompt<\/em> autom\u00e1tico e o recurso <strong>WebAPK<\/strong>, o <strong>iOS<\/strong> exige que o usu\u00e1rio use a op\u00e7\u00e3o <strong>&#8220;Adicionar \u00e0 Tela de In\u00edcio&#8221;<\/strong> no menu do Safari. Entender essas nuances \u00e9 essencial para maximizar a ado\u00e7\u00e3o do seu PWA em todas as plataformas.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Toda jornada tem um in\u00edcio, e o in\u00edcio para se tornar um desenvolvedor web \u00e9 dominar as seguintes tecnologias, que voc\u00ea encontra aqui mesmo:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/html\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp\" alt=\"HTML\" class=\"wp-image-600\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">HTML<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/css\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp\" alt=\"CSS\" class=\"wp-image-702\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CSS<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/javascript\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp\" alt=\"Javascript\" class=\"wp-image-804\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">JavaScript<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Instalando um PWA: A capacidade de instala\u00e7\u00e3o (installability) \u00e9 o que finalmente eleva um Progressive&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1497,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1547","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pwa","wpcat-16-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Instalando um PWA - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Instalando um PWA - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-17T18:39:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-26T15:52:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Instalando um PWA\",\"datePublished\":\"2024-09-17T18:39:21+00:00\",\"dateModified\":\"2025-11-26T15:52:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/\"},\"wordCount\":801,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Capa-Artigos.webp\",\"articleSection\":[\"PWA\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/\",\"name\":\"Instalando um PWA - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Capa-Artigos.webp\",\"datePublished\":\"2024-09-17T18:39:21+00:00\",\"dateModified\":\"2025-11-26T15:52:27+00:00\",\"description\":\"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Capa-Artigos.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/Capa-Artigos.webp\",\"width\":758,\"height\":426,\"caption\":\"PWA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/instalando-um-pwa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Instalando um PWA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Instalando um PWA - BLOG THIAGO ROSSI","description":"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..","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:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/","og_locale":"pt_BR","og_type":"article","og_title":"Instalando um PWA - BLOG THIAGO ROSSI","og_description":"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..","og_url":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2024-09-17T18:39:21+00:00","article_modified_time":"2025-11-26T15:52:27+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp","type":"image\/webp"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Instalando um PWA","datePublished":"2024-09-17T18:39:21+00:00","dateModified":"2025-11-26T15:52:27+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/"},"wordCount":801,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp","articleSection":["PWA"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/","url":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/","name":"Instalando um PWA - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp","datePublished":"2024-09-17T18:39:21+00:00","dateModified":"2025-11-26T15:52:27+00:00","description":"Instalando um pwa: Neste artigo, exploraremos os crit\u00e9rios de instala\u00e7\u00e3o de PWAs, as diferen\u00e7as entre as plataformas desktop, iOS e Android..","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/Capa-Artigos.webp","width":758,"height":426,"caption":"PWA"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/instalando-um-pwa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Instalando um PWA"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/1547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1547"}],"version-history":[{"count":2,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/1547\/revisions"}],"predecessor-version":[{"id":4991,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/1547\/revisions\/4991"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/1497"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}