React Native Web amb Vite

Descobreix vite-plugin-rnw, un plugin per a Vite que facilita React Native Web amb Storybook: alias de react-native, resolucions .web, variables globals i transformacions Babel per a producció.

domingo, 17 de agosto de 2025 • 5 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Vol compartir un nou plugin de Vite anomenat vite-plugin-rnw que he desenvolupat per facilitar l'execució de React Native Web en entorns web i animar-te a provar-lo. Abans de presentar el plugin explico breument la història i els reptes que van motivar la seva creació.

Fa uns anys vaig publicar un addon per a Storybook que permetia configurar projectes React Native Web usant Webpack. La idea va sorgir en veure algú aconseguir una configuració personalitzada i això em va portar a experimentar amb múltiples ajustos de Webpack fins a aconseguir una solució que funcionés amb Storybook. Aquella experiència va ser útil però també va mostrar les limitacions de dependre de Webpack en un ecosistema que avança cap a eines més ràpides com Vite.

Amb el temps Storybook va incorporar builders que permetien triar altres bundlers i el builder de Vite va guanyar molta tracció, convertint-se en el recomanat. Arran d'això vaig intentar adaptar l'experiència de React Native Web a Vite, cosa que va suposar enfrontar-se a diverses diferències clau entre Metro, l'empaquetador habitual per a React Native, i els bundlers orientats al navegador.

Entre les diferències més rellevants hi ha que Metro transpila tot incloent node_modules, converteix el codi al format que espera el motor Javascript de React Native, suporta extensions i resolucions específiques com .web, i sol basar-se en transformacions per babel. Aquesta realitat obliga a prendre decisions concretes en portar projectes a Vite.

Els principals requisits tècnics perquè React Native Web funcioni amb Vite són els següents explicats de forma pràctica: aliasar react-native a react-native-web; resoldre primer arxius amb extensió .web.js; definir variables globals que moltes llibreries esperen en temps d'execució; transpilar amb babel incloent determinats paquets a node_modules; eliminar sintaxi flow; tractar .js com .jsx quan sigui necessari; i gestionar barreges de commonjs i ESM que són comunes en llibreries de l'ecosistema React Native.

Intentar resoldre tot això amb els plugins estàndard de Vite pot complicar-se, especialment perquè molts plugins de React i d'optimització de dependències eviten processar arxius dins de node_modules per rendiment. El meu enfocament inicial va ser combinar el plugin de React amb un plugin de Babel per forçar la transformació de certs mòduls, però això obligava a mantenir dues configuracions de babel i resultava incòmode per als usuaris finals.

L'alternativa que va resultar més neta va ser crear un plugin específic que estengui el comportament del plugin de React per incloure de forma automàtica les transformacions necessàries per a react-native i expo. Aquest plugin és vite-plugin-rnw i el seu objectiu és oferir una configuració llesta per usar que simplifica la posada en marxa de React Native Web amb Vite i amb Storybook sobre Vite.

Amb vite-plugin-rnw s'automatitzen les principals tasques: aliasar react-native a react-native-web, prioritzar resolucions .web, definir variables globals com __DEV__ i process.env.NODE_ENV perquè les llibreries funcionin correctament, i aplicar transformacions amb babel als mòduls necessaris dins de node_modules. També s'integren solucions per eliminar sintaxi flow i per gestionar arxius que barregen commonjs i ESM.

Més enllà dels detalls tècnics, vull destacar que existeixen complements que ajuden a polir el resultat: un plugin per eliminar tipus flow durant el pas d'optimització de dependències, un plugin per gestionar arxius commonjs dins de Vite i opcions per forçar que arxius amb extensió .js es processin com .jsx quan es requereixi. Aquests components combinats faciliten que React Native Web funcioni de manera estable tant en desenvolupament com en build de producció.

Si t'interessa un enfocament complet i llest per usar pots instal·lar vite-plugin-rnw i aplicar-lo a la configuració de Vite per aconseguir un entorn funcional amb poc esforç. Per a exemples i una configuració avançada recomano revisar el repositori d'exemple que acompanya el projecte on es mostra una configuració consolidada per a casos reals.

A Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida especialitzada a oferir solucions tecnològiques modernes. Els nostres serveis inclouen desenvolupament de programari a mida, aplicacions a mida, consultoria en intel·ligència artificial, projectes de ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci i implementacions de power bi. Apliquem intel·ligència artificial i ia per a empreses integrant agents IA i solucions personalitzades que milloren processos i analítica.

Si la teva organització treballa amb React Native o vol portar components mòbils a la web mitjançant React Native Web podem ajudar a integrar eines com Vite i plugins com vite-plugin-rnw en fluxos de treball de desenvolupament, proves i desplegament. Oferim programari a mida per integrar pipelines CI CD, optimitzar rendiment i assegurar compliment de bones pràctiques en ciberseguretat i gestió d'identitats.

També desenvolupem projectes d'intel·ligència de negoci i power bi per transformar dades en dashboards accionables, i combinem serveis cloud aws i azure per escalar aplicacions i models d'intel·ligència artificial. Si busques agents IA personalitzats per a atenció al client, automatització o anàlisi, o solucions d'ia per a empreses que incloguin models a mida, a Q2BSTUDIO disposem d'equips experts en IA i en la integració de solucions de programari a mida.

Si vols col·laborar, millorar o adaptar vite-plugin-rnw al teu projecte podem oferir suport, auditories de rendiment i desenvolupament de solucions a mida que integrin aquest plugin amb Storybook, pipelines de testing i desplegaments al núvol. Per consultar exemples d'implementació o sol·licitar un pressupost de programari a mida contacta amb l'equip de Q2BSTUDIO i et guiarem segons les teves necessitats.

Referències tècniques i repositoris útils: busca vite-plugin-rnw a npm i revisa el repositori d'exemple rn web vite example a GitHub per veure una configuració completa. Per a consultes corporatives sobre projectes amb React Native Web, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci, agents IA, power bi i desenvolupament d'aplicacions a mida posa't en contacte amb Q2BSTUDIO i comencem a dissenyar una solució adaptada al teu cas.

Gràcies per llegir i espero que aquesta guia i el plugin vite-plugin-rnw facilitin el teu treball amb React Native Web sobre Vite. Si vols que a Q2BSTUDIO col·laborem en la integració o en el desenvolupament de programari a mida amb intel·ligència artificial i ciberseguretat estem disponibles per ajudar-te.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.