<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alisson Goulart</title>
    <description>The latest articles on DEV Community by Alisson Goulart (@alissongoulartt).</description>
    <link>https://dev.to/alissongoulartt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3634886%2F7501e5d0-03fe-41dc-b10f-b22a31a2a157.jpeg</url>
      <title>DEV Community: Alisson Goulart</title>
      <link>https://dev.to/alissongoulartt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alissongoulartt"/>
    <language>en</language>
    <item>
      <title>React Native 0.83 for Production Teams: Better DevTools, Better Tracing, Less Risk</title>
      <dc:creator>Alisson Goulart</dc:creator>
      <pubDate>Mon, 29 Dec 2025 01:11:46 +0000</pubDate>
      <link>https://dev.to/alissongoulartt/react-native-083-for-production-teams-better-devtools-better-tracing-less-risk-5ggk</link>
      <guid>https://dev.to/alissongoulartt/react-native-083-for-production-teams-better-devtools-better-tracing-less-risk-5ggk</guid>
      <description>&lt;h1&gt;
  
  
  🚀 React Native 0.83: stability-first + a bundled native DevTools desktop app
&lt;/h1&gt;

&lt;p&gt;React Native 0.83 is a stability-focused release that ships React 19.2, meaningful upgrades to React Native DevTools, and support for Web Performance APIs (now stable) plus IntersectionObserver (Canary).  It’s also the first React Native release with &lt;strong&gt;no user-facing breaking changes&lt;/strong&gt;, which makes it especially appealing for teams maintaining production apps.  This post walks through what’s new, how the DevTools workflow changes, and how to approach the 0.82 → 0.83 upgrade with minimal risk. &lt;/p&gt;

&lt;h2&gt;
  
  
  🧭 Context: why 0.83 matters for production teams
&lt;/h2&gt;

&lt;p&gt;React Native 0.83 is positioned as a more predictable upgrade: if you’re on 0.82, you should be able to move to 0.83 without changes to your app code.  That matters for production teams because it lowers upgrade overhead and lets you invest time in validation (performance, crash rates, networking behavior) rather than reactive refactors.  On top of that, DevTools improvements (Network + Performance panels and a new desktop app) directly shorten debugging cycles for large apps. &lt;/p&gt;

&lt;h2&gt;
  
  
  🆕 What’s new in React Native 0.83
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ⚛️ React 19.2 (including &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt; and &lt;code&gt;useEffectEvent&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;React Native 0.83 includes React 19.2 and brings the new &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt; and &lt;code&gt;useEffectEvent&lt;/code&gt; APIs to React Native.  The release notes also mention a critical security vulnerability in React Server Components and stress that React Native is &lt;strong&gt;not directly affected&lt;/strong&gt;, because it doesn’t depend on the impacted packages (&lt;code&gt;react-server-dom-*&lt;/code&gt;), while warning monorepo users to audit and upgrade those packages if present.  The post also states that React dependencies will be updated to 19.2.1 in the next patch release. &lt;/p&gt;

&lt;h4&gt;
  
  
  🧩 &lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt;: prioritize UI subtrees while preserving state
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;Activity&amp;gt;&lt;/code&gt; lets you split an app into “activities” that can be controlled and prioritized, as an alternative to conditional rendering.  It supports two modes: &lt;code&gt;visible&lt;/code&gt; (shows children, mounts effects, processes updates normally) and &lt;code&gt;hidden&lt;/code&gt; (hides children, unmounts effects, and defers updates until React has nothing left to work on).  A key behavior is that trees hidden with &lt;code&gt;&amp;lt;Activity mode="hidden"&amp;gt;&lt;/code&gt; preserve their state, so when they become visible again they can keep things like search status and a previous selection. &lt;/p&gt;

&lt;h4&gt;
  
  
  🧠 &lt;code&gt;useEffectEvent&lt;/code&gt;: separate “event” logic from reactive effects
&lt;/h4&gt;

&lt;p&gt;The release notes describe a common &lt;code&gt;useEffect&lt;/code&gt; pattern: notifying app code about an “event” from an external system, which can unintentionally cause the effect to re-run whenever any value used inside that event changes.  They also note that many developers work around this by disabling the lint rule and excluding dependencies—at the cost of potential bugs later.  With &lt;code&gt;useEffectEvent&lt;/code&gt;, you can split the “event” part out of the effect that emits it, keeping effects more correct and maintainable. &lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ New DevTools features (Network + Performance)
&lt;/h3&gt;

&lt;p&gt;React Native 0.83 delivers “long awaited features and quality of life improvements” to React Native DevTools.  Two major additions are &lt;strong&gt;Network inspection&lt;/strong&gt; and &lt;strong&gt;Performance tracing&lt;/strong&gt;, both available now. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Network inspection&lt;/strong&gt; shows network requests with metadata such as timings and headers, includes response previews, and adds an Initiator tab to see where in code a request originated.
&lt;/li&gt;
&lt;li&gt;Today, network coverage includes calls made via &lt;code&gt;fetch()&lt;/code&gt;, &lt;code&gt;XMLHttpRequest&lt;/code&gt;, and &lt;code&gt;&amp;lt;Image&amp;gt;&lt;/code&gt;, with support for custom networking libraries (like Expo Fetch) planned for later.
&lt;/li&gt;
&lt;li&gt;For Expo apps, the notes explain you’ll still see the separate “Expo Network” panel (with broader event coverage, but no request initiator, and no Performance panel integration).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance tracing&lt;/strong&gt; records a session and shows JavaScript execution, React Performance tracks, network events, and custom User Timings in a single timeline.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The post explicitly connects this to the Web Performance APIs support in 0.83 and encourages teams to incorporate the Performance panel into daily workflow to better understand what makes apps slow. &lt;/p&gt;

&lt;h3&gt;
  
  
  🖥️ DevTools goes desktop: bundled native app
&lt;/h3&gt;

&lt;p&gt;Previously, React Native DevTools launched in a browser window and required Chrome or Edge to be installed.  In 0.83, React Native introduces a new bundled desktop app with the same “zero-install setup,” but &lt;strong&gt;no web browser requirement&lt;/strong&gt;, faster launch via a lightweight notarized desktop binary, and better windowing behavior (including macOS multitasking improvements, auto-raise on breakpoint, and restoring window arrangements).  The release notes also say reliability improves because DevTools runs separately from a personal browser profile, avoiding issues caused by certain preinstalled Chrome extensions, and that in rare cases where the desktop binary can’t be downloaded (e.g., corporate firewall) it falls back to the previous browser-based flow. &lt;/p&gt;

&lt;h3&gt;
  
  
  🧭 IntersectionObserver (Canary)
&lt;/h3&gt;

&lt;p&gt;As part of the effort to bring web APIs to React Native, 0.83 adds &lt;code&gt;IntersectionObserver&lt;/code&gt; support in the canary release.  The release notes describe it as a way to asynchronously observe layout intersections between a target element and its ancestor, and mention API/implementation docs plus RNTester examples. &lt;/p&gt;

&lt;h3&gt;
  
  
  ⏱️ Web Performance APIs are now stable
&lt;/h3&gt;

&lt;p&gt;React Native 0.83 rolls out as stable a subset of Web Performance APIs introduced in 0.82.  The list includes High Resolution Time (&lt;code&gt;performance.now()&lt;/code&gt;, &lt;code&gt;performance.timeOrigin&lt;/code&gt;), Performance Timeline (&lt;code&gt;PerformanceObserver&lt;/code&gt; and &lt;code&gt;getEntries*&lt;/code&gt; methods), User Timing (&lt;code&gt;performance.mark&lt;/code&gt;, &lt;code&gt;performance.measure&lt;/code&gt;), Event Timing (event entry types), and Long Tasks (longtask entry types).  The release notes state these APIs are visible in the DevTools Performance panel and usable at runtime via &lt;code&gt;PerformanceObserver&lt;/code&gt;, including in production builds—enabling real-world performance metrics collection. &lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Hermes V1 (experimental)
&lt;/h3&gt;

&lt;p&gt;Hermes V1 is described as the next evolution of Hermes, with compiler/VM improvements that significantly boost JavaScript performance.  After being introduced as an experimental opt-in in 0.82, Hermes V1 gets further performance improvements in 0.83.  The notes also explain that enabling Hermes V1 requires building React Native from source (not compatible with precompiled React Native builds), and provide specific Android/iOS enablement steps plus a runtime check for the Hermes version. &lt;/p&gt;

&lt;h3&gt;
  
  
  🍎 iOS: compile out Legacy Architecture (experimental)
&lt;/h3&gt;

&lt;p&gt;React Native 0.83 adds an iOS flag (&lt;code&gt;RCT_REMOVE_LEGACY_ARCH=1&lt;/code&gt;) to compile out the Legacy Architecture if your app is already on the New Architecture.  The notes claim this can reduce build time and app size, and provide example measurements on a new app without dependencies (build time 73.0s → 58.2s; size 51.2MB → 48.2MB), while noting results depend on how many third-party libraries you use.  They also state this flag is not compatible with React Native precompiled binaries and requires building from source. &lt;/p&gt;

&lt;h3&gt;
  
  
  🍏 iOS: debug precompiled binaries (experimental)
&lt;/h3&gt;

&lt;p&gt;The release notes introduce the ability to debug React Native code shipped with a precompiled binary on iOS, primarily for library maintainers or teams building native modules/components.  They describe the workflow and emphasize that &lt;code&gt;RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS=1&lt;/code&gt; instructs CocoaPods to download and expand React Native dSYMs so you can step into React Native code in Xcode. &lt;/p&gt;

&lt;h2&gt;
  
  
  🧯 Production impact and rollout strategy
&lt;/h2&gt;

&lt;p&gt;React Native 0.83 has no user-facing breaking changes and explicitly states that apps on 0.82 should be able to upgrade without app code changes, which supports safer, more frequent upgrades.  The DevTools Performance panel plus stable Web Performance APIs (including &lt;code&gt;PerformanceObserver&lt;/code&gt; working in production) create a practical path for measuring regressions during gradual rollout instead of relying only on local profiling.  The release also ships two Android-specific deprecations—&lt;code&gt;sendRequestInternal&lt;/code&gt; (Networking) and &lt;code&gt;startOperationBatch&lt;/code&gt;/&lt;code&gt;finishOperationBatch&lt;/code&gt; (Animation)—which teams should track across internal code and third-party dependencies. &lt;/p&gt;

&lt;p&gt;📚 &lt;a href="https://reactnative.dev/blog/2025/12/10/react-native-0.83" rel="noopener noreferrer"&gt;https://reactnative.dev/blog/2025/12/10/react-native-0.83&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>typescript</category>
      <category>development</category>
      <category>product</category>
    </item>
    <item>
      <title>Cloud para frontend  – o guia que você queria antes de apertar o botão de deploy</title>
      <dc:creator>Alisson Goulart</dc:creator>
      <pubDate>Fri, 05 Dec 2025 18:09:29 +0000</pubDate>
      <link>https://dev.to/alissongoulartt/cloud-para-frontend-o-guia-que-voce-queria-antes-de-apertar-o-botao-de-deploy-o86</link>
      <guid>https://dev.to/alissongoulartt/cloud-para-frontend-o-guia-que-voce-queria-antes-de-apertar-o-botao-de-deploy-o86</guid>
      <description>&lt;p&gt;Em muitas equipes de frontend, o fluxo é simples: você abre um PR, aguarda o review, espera o build e segue o fluxo de deploy. Então o código sobe, a nova feature entra no ar e a conversa termina aí. &lt;/p&gt;

&lt;p&gt;Se você trabalha com frontend, provavelmente já ouviu falar em termos como “cloud”, “on-premise” e “ambiente híbrido” em alguma daily por aí. No entanto, na prática, boa parte dos desenvolvedores continua tratando infraestrutura como uma caixa-preta: o código entra de um lado, o deploy sai de outro, e o que acontece entre essas pontas é “coisa de DevOps”.&lt;/p&gt;

&lt;p&gt;O problema disso é que essas decisões de onde e como a aplicação roda afetam diretamente o seu trabalho. Desde a forma de fazer deploy até o quanto seu sistema performa ao ser utilizado por um usuário.&lt;/p&gt;

&lt;p&gt;Nesse sentido, esse artigo é um guia direto para você que procura entender, na prática, o essencial sobre cloud, on-premise e modelos híbridos para tomar decisões melhores de deploy e arquitetura do ecossistema que seu software pertence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloud, on‑premise e híbrido: o que são?
&lt;/h2&gt;

&lt;p&gt;Antes de olhar para o impacto real de um deploy e sua arquitetura, precisamos alinhar o vocabulário acerca desse assunto. Quando alguém fala sobre “onde a aplicação roda”, normalmente está falando de três grandes modelos: cloud, on-premise e ambiente híbrido. &lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud: Computação em nuvem
&lt;/h3&gt;

&lt;p&gt;Na nuvem, você não compra o servidor físico ou se preocupa com um datacenter. Pelo contrário, você usa esses recursos a partir de outro provedor (AWS, Azure, etc.) pela internet e paga por esse serviço conforme o uso. Nesse sentido, enquanto dev frontend, isso geralmente se converte na forma de serviços gerenciados, ou seja, em uma plataforma onde você conecta seu repositório, configura a esteira de build e, a partir daí, os deploys viram somente parte da pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  On-premise: Infraestrutura própria
&lt;/h3&gt;

&lt;p&gt;Nesse modelo, a empresa mantém os próprios servidores em um datacenter interno ou alugado, como equipe responsável por rede, hardware e sistemas operacionais. Dessa forma, na prática, o dev frontend continua gerando um bundle, mas o deploy costuma depender de mais etapas manuais ou de pipes controladas pela equipe de infraestrutura.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modelo híbrido
&lt;/h3&gt;

&lt;p&gt;Esse modelo costuma unir os dois mundos: parte da infraestrutura fica nos servidores da própria empresa e outra parte em algum provedor de nuvem. Esse cenário é comum em situações onde existem sistemas legado on-premise que não podem migrar totalmente, mas que novos serviços costumam nascer em cloud. Em outras palavras, para o desenvolvedor frontend, isso significa conversar com APIs que vivem em datacenters próprios e com serviços que já estão na nuvem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vantagens e desvantagens na prática
&lt;/h2&gt;

&lt;p&gt;Agora que os termos estão alinhados, vamos sair da teoria e olhar para o que realmente muda no dia a dia. Quando falamos de cloud, on-premise e híbrido, cada modelo traz consigo impactos concretos em deploy, performance, segurança e custo. Nesse sentido, falaremos sobre as principais vantagens e desvantagens de cada abordagem pela lente de um desenvolvedor frontend.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud: quando a infra “some” para o fronted
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Vantagens:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Escalabilidade quase automática: se o tráfego explode depois de uma campanha, a plataforma ajusta recursos e você tende a sofrer menos com queda de aplicação.&lt;/li&gt;
&lt;li&gt;Serviços gerenciados: build, deploy, CDN, SSL e observabilidade muitas vezes já vêm integrados, o que reduz o atrito para colocar novas versões no ar.&lt;/li&gt;
&lt;li&gt;Acesso facilitado para experimentar: free tiers e créditos permitem criar ambientes de estudo ou protótipos sem investimento inicial alto.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Desvantagens:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Risco de “conta surpresa”: decisões de frontend (imagens pesadas, muitas chamadas a APIs, SSR exagerado) podem encarecer a fatura sem o time perceber.&lt;/li&gt;
&lt;li&gt;Dependência do provedor: quedas ou limitações de um serviço gerenciado fogem do seu controle e podem afetar diretamente a experiência do usuário.&lt;/li&gt;
&lt;li&gt;Complexidade escondida: abstrações ajudam, mas também podem dificultar o entendimento do que está acontecendo “por baixo” quando algo dá errado.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  On-premise: controle alto, flexibilidade menor
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Vantagens
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Controle total do ambiente: times de infraestrutura podem ajustar hardware, rede e políticas de forma bem fina, útil em contextos de compliance forte.&lt;/li&gt;
&lt;li&gt;Custos mais previsíveis a longo prazo: depois do investimento inicial, a discussão de orçamento tende a ser mais estável do que um modelo totalmente variável.&lt;/li&gt;
&lt;li&gt;Menor dependência de terceiros: se algo quebra, geralmente está dentro da infraestrutura da própria empresa, o que pode dar mais autonomia para determinados times.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Desvantagens
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Menos elasticidade: para aguentar picos de acesso, muitas vezes é preciso comprar mais hardware, o que é lento e caro.&lt;/li&gt;
&lt;li&gt;Deploys mais burocráticos: janelas de mudança, processos manuais e separação rígida entre equipes podem atrasar a entrega de novas versões de frontend.&lt;/li&gt;
&lt;li&gt;Manutenção pesada: atualizar sistemas, aplicar patches e monitorar tudo recai mais sobre o time interno de TI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Modelo híbrido: equilíbrio e complexidade no meio do caminho
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Vantagens
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Flexibilidade: sistemas que precisam de mais controle permanecem on‑premise, enquanto novos serviços e frontends aproveitam a agilidade da nuvem.&lt;/li&gt;
&lt;li&gt;Migração gradual: permite trazer partes da aplicação para cloud sem um “big bang”, reduzindo risco e permitindo aprendizado ao longo do caminho.&lt;/li&gt;
&lt;li&gt;Otimização de custo e performance: dá para escolher o que roda onde, combinando proximidade de dados sensíveis com escala da nuvem.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Desvantagens
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Mais peças para coordenar: o frontend pode falar com APIs em ambientes diferentes, aumentando a complexidade de rede, autenticação e observabilidade.&lt;/li&gt;
&lt;li&gt;Risco de “pior dos dois mundos”: se o desenho for ruim, você herda burocracia on‑premise e custos de cloud ao mesmo tempo.&lt;/li&gt;
&lt;li&gt;Exige mais alinhamento entre times: dev, infra e segurança precisam conversar bem para que roteamento, segurança e deploy funcionem de ponta a ponta.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Entender a diferença entre esses modelos não é sobre virar especialista em infraestrutura, mas sim sobre enxergar onde o seu código fica hospedado e como isso impacta diretamente o resultado do seu trabalho como desenvolvedor frontend. Nesse sentido, quando você sabe, na prática, o que muda em cada modelo, as decisões sobre arquitetura deixam de ser uma caixa-preta e passam a fazer sentido no contexto do produto do seu time.&lt;/p&gt;

&lt;p&gt;Dessa forma, quando falamos em nuvem, a etapa de infraestrutura tende a desaparecer da sua frente e liberar velocidade, escalabilidade e serviços prontos que facilitam deploys frequentes e experimentos. Por outro lado, em ambientes on-premise, o controle e a previsibilidade são maiores, mas a flexibilidade costuma ser menor, o que tende a afetar diretamente o ritmo da entrega. Por fim, o modelo híbrido tenta equilibrar esses dois mundos, ao custo de mais complexidade de coordenação entre times e sistemas.&lt;/p&gt;

&lt;p&gt;Assim, independetemente de onde a aplicação irá rodar, o frontend participa integralmente desse processo. O jeito como você estrutura assets, escolhe padrões de renderização, consome APIs e pensa em observabilidade pode ajudar ou atrapalhar diretamente o uso dessa infraestrutura. Portanto, quanto mais clareza tiver sobre os fundamentos de cloud, mais preparado estará para participar de discussões de arquitetura, antecipar problemas de performance e evitar surpresas de custo.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>cloud</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
