Cuando Raspberry Pi Dijo No a Node: Cómo Reconfiguramos Nuestra App de Next.js

Bookmark
Rate this content

¿Qué sucede cuando tu aplicación de React + Next.js, construida con lo mejor de gráficos y animaciones, de repente tiene que ejecutarse en un dispositivo como un Raspberry Pi, sin Node.js, sin tiempo de ejecución del servidor y con varias limitaciones de hardware?

En esta charla, compartiré la historia real de la reingeniería de un sistema de gestión de baterías para vehículos eléctricos utilizando Next.js, D3.js y estrategias ingeniosas solo de frontend. Desde los obstáculos iniciales hasta las reconstrucciones ligeras: este es un viaje perspicaz sobre cómo las limitaciones pueden impulsar la creatividad y las elecciones de arquitectura.

This talk has been presented at React Summit US 2025, check out the latest edition of this React Conference.

 Tapas Adhikary
Tapas Adhikary
20 min
21 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Bienvenido a una sesión de narración de historias entrelazada con aspectos tecnológicos, que muestra cómo una aplicación de Nexus fue reconfigurada debido a restricciones inesperadas después de la implementación para un cliente de vehículos eléctricos en Raspberry Pi sin Node.js. Discutiendo la arquitectura inicial de una aplicación de gestión de baterías para vehículos eléctricos utilizando NixJS, D3JS y almacenamiento en caché en el borde. Desafíos enfrentados cuando se eliminó Node.js y el impacto en la representación del lado del servidor y el rendimiento de la aplicación. Enfrentando restricciones sin Node.js en la aplicación NixJS, investigando la adaptación a las realidades del hardware y encontrando una solución al descomponer NixJS para eliminar dependencias. Reemplazando ISR sin Node.js, adaptándose a la exportación estática en Next.js, optimizando las llamadas API para el rendimiento del lado del cliente, reconfigurando a una configuración local para un rendimiento mejorado y el descubrimiento accidental de la ventaja estática sobre la dinámica. Diseñar para las limitaciones de hardware, comprender profundamente las herramientas y los marcos, mantenerse adaptable y mantener las soluciones portátiles.

1. Storytelling Session: Nexus Application Rewiring

Short description:

Bienvenidos a una sesión de narración entrelazada con aspectos tecnológicos, mostrando cómo una aplicación Nexus fue reconfigurada debido a restricciones inesperadas después del despliegue para un cliente de EV en Raspberry Pi sin Node.js. Tapas, un desarrollador full stack, comparte ideas sobre cómo adaptar aplicaciones para funcionar en hardware restringido.

Hola a todos. Bienvenidos a la sesión donde voy a hablar sobre una historia, de hecho, es una sesión de narración más que una sesión técnica. Voy a hablar sobre cómo tuvimos que reconfigurar nuestra aplicación Nexus cuando nos encontramos con una restricción de un cliente. Así que, de eso se trata, esta. Pero junto con la historia, voy a traer ciertos aspectos tecnológicos porque sin eso, la historia estaría incompleta.

Así que, para empezar, comencemos con una historia de rechazo inesperado. Así que, a diferencia de la mayoría de las veces, comencemos esta presentación con una historia de rechazo inesperado. Y la historia es así. Solo imagina esto en tu mente, como a las 2 AM, y acabamos de terminar de desplegar nuestra nueva aplicación Nexus para un cliente de EV. Y luego la aplicación se ve realmente impresionante. Es un hermoso panel, rastrea datos de batería en tiempo real, funciona perfectamente en producción, como el entorno que habíamos probado. Todo estaba tan bien.

Pero, ¿qué pasó a la mañana siguiente? Recibimos una llamada del cliente diciendo que esta aplicación tiene que funcionar en Raspberry Pi y no hay Node.js. No es que Raspberry Pi no soporte Node.js, pero este cliente en particular no estaba interesado en usar Node.js porque ya tenían un servidor propietario un servidor web, un servidor de aplicaciones, donde una aplicación web puede ser alojada y puede funcionar fácilmente. Así que pensaron que Node.js sería un equipaje extra. No optemos por este. Pero cuando escuchamos esto, fue como, sin Node.js, no hay fiesta, porque todo fue construido con la suposición de que Node.js estaría allí.

Así que, hola, soy Tapas. Soy un desarrollador full stack Lo llamo una pila de demanda porque después de pasar un par de décadas con la ingeniería de software, desarrollo de software, me siento libre de ir a través de diferentes tecnologías. Tengo una startup llamada Creobase Technologies y una comunidad de código abierto llamada React Play, que también fue premiada como, lo sé, una de las mejores comunidades de código abierto de React en el anterior React Summit. Soy educador en TapaScript. Ese es mi canal de YouTube también. El handle está ahí. Puedes echarle un vistazo. Escribo blogs, blogs técnicos en Free Code Camp y también soy un entusiasta del código abierto. Así que, eso es sobre mí. Muy bien. Así que, hablamos sobre el rechazo inesperado, ¿verdad? Esta charla es principalmente sobre lo que sucedió después del rechazo. Cómo reconfiguramos nuestra aplicación del día siguiente para funcionar en un hardware restringido sin Node.

2. Performance Challenges: NodeJS Removal Impact

Short description:

Discutiendo la arquitectura inicial de una aplicación de gestión de baterías para vehículos eléctricos usando NixJS, D3JS y almacenamiento en caché en el borde. Desafíos enfrentados cuando se eliminó Node.js y el impacto en la renderización del lado del servidor y el rendimiento de la aplicación.

Al mismo tiempo, qué tipo de lección de rendimiento aprendimos, cómo nos aseguramos de que el rendimiento no se degrade, y qué nos hizo replantearnos cómo debería construirse una aplicación de React, ¿verdad? Así que, voy a hablar sobre la arquitectura inicial con la que comenzamos, luego el problema que enfrentamos porque se eliminó Node.JS, luego nuestra fase de investigación, y luego cómo reconfiguramos toda la aplicación. Concluiré esta presentación con las lecciones que he aprendido. Una cosa, sin embargo, importante mencionar, en todo el curso de hacer esto, este código es algo que sentimos como muy cierto. Sabes, cada proyecto es una oportunidad para aprender, para identificar los problemas, desafíos, e inventar y reinventar. Es tan cierto. Bien. Así que, comencemos con la arquitectura, la arquitectura inicial.

La arquitectura inicial es así. Entonces, esta es una aplicación de gestión de baterías para vehículos eléctricos. Obtenía la matriz de datos, la matriz de baterías, básicamente de sensores IoT, ya sabes, y luego procesaba los datos a través de APIs. Y desde la capa de API, podíamos visualizarlo con gráficos interactivos, paneles, etc. Muy simple. Y la aplicación fue construida con NixJS AppRouter. En ese momento era 14, y luego migramos a 15 más adelante. D3JS para todo tipo de visualizaciones, y por supuesto, almacenamiento en caché en el borde por razones de rendimiento. Y como sabes, si eres un desarrollador de NixJS y amante de NixJS, sabes que hay cosas como componentes del servidor, SSR, ISR, todas estas técnicas que incorporas.

Está el poder de usar NixJS como un marco. Y haces que tu aplicación sea súper eficiente. Te ocupas del SEO. Te ocupas de muchas otras cosas que una aplicación ideal le gustaría ver en sí misma. Pero asumimos una cosa, sabes, asumimos que habrá NixJS. Pero lo que resulta es que cuando despliegas en un hardware embebido como Raspberry Pi, esta suposición particular puede romperse muy, muy fácilmente. Eso es exactamente lo que nos pasó, ¿de acuerdo? Ahora, en la siguiente sección, voy a hablar sobre cuál fue el problema con NodeJS.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Enrutamiento en React 18 y más allá
React Summit 2022React Summit 2022
20 min
Enrutamiento en React 18 y más allá
Top Content
Routing in React 18 brings a native app-like user experience and allows applications to transition between different environments. React Router and Next.js have different approaches to routing, with React Router using component-based routing and Next.js using file system-based routing. React server components provide the primitives to address the disadvantages of multipage applications while maintaining the same user experience. Improving navigation and routing in React involves including loading UI, pre-rendering parts of the screen, and using server components for more performant experiences. Next.js and Remix are moving towards a converging solution by combining component-based routing with file system routing.
Una Guía Práctica para Migrar a Componentes de Servidor
React Advanced 2023React Advanced 2023
28 min
Una Guía Práctica para Migrar a Componentes de Servidor
Top Content
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
El Nuevo Router de Aplicaciones Next.js
React Summit 2023React Summit 2023
27 min
El Nuevo Router de Aplicaciones Next.js
Top Content
Today's Talk is about the Next.js App Router, which has evolved over the years and is now a core feature of Next.js. The Talk covers topics such as adding components, fetching remote data, and exploring layouts. It also discusses submitting form data, simplifying code, and reusing components. The App Router allows for coexistence with the existing pages router and enables data fetching at the layout level using React Server Components.
You Don’t Know How to SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
You Don’t Know How to SSR
Top Content
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
De Segmentos a Suspense: El Futuro del Caching en Next.js
React Advanced 2025React Advanced 2025
27 min
De Segmentos a Suspense: El Futuro del Caching en Next.js
Introduction to Cache Components in Next.js 16, transforming the app router with new features like partial pre-rendering, Dynamic I.O., and caching directives. Deep dive into static params generation in Next.js focusing on changes in generating static params for improved performance. Exploring challenges of generating static params and balancing static vs. dynamic rendering for better performance. Addressing challenges with cache components, optimizing static and dynamic rendering for improved performance. Understanding impact of parameters on rendering with cache components, managing dynamic components, and introducing suspense boundaries for faster page loads. Enhancing cache life APIs, introducing a new caching model for static outputs in Next.js. Revolutionizing cache management with granular control over cache lifetimes and dynamic segment configuration. Navigating data and caching in Next.js, exploring cache components guidance and caching differences between server and client components.
Cómo manejar correctamente los cambios de URL slug en Next.js
TypeScript Congress 2022TypeScript Congress 2022
10 min
Cómo manejar correctamente los cambios de URL slug en Next.js
Top Content
This Talk explains how to handle URL slug changes in Next.js by using the getStaticPaths and getStaticProps methods. It covers implementing redirects and provides a solution to eliminate the need for editors to perform additional steps. The approach involves tracking URL slug changes and issuing proper redirects. The speaker encourages the audience to reach out with any questions or experiences with handling URL slugs.

Workshops on related topic

AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Top Content
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
Tracing: Frontend Issues With Backend Solutions
React Summit US 2024React Summit US 2024
112 min
Tracing: Frontend Issues With Backend Solutions
Top Content
Featured WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Los problemas de frontend que afectan a tus usuarios a menudo son provocados por problemas de backend. En esta masterclass, aprenderás cómo identificar problemas que causan páginas web lentas y malos Core Web Vitals usando tracing.
Luego, pruébalo tú mismo configurando Sentry en un proyecto Next.js ya preparado para descubrir problemas de rendimiento, incluyendo consultas lentas a la base de datos en una sesión interactiva de programación en pareja.
Saldrás de la masterclass siendo capaz de:- Encontrar problemas de backend que podrían estar ralentizando tus aplicaciones de frontend- Configurar tracing con Sentry en un proyecto Next.js- Depurar y solucionar problemas de rendimiento deficiente usando tracing
Este será un evento en vivo de 2 horas donde tendrás la oportunidad de codificar junto con nosotros y hacernos preguntas.
El Viaje Desde el Frontend con React al Desarrollo Fullstack Con Next.js
React Summit 2025React Summit 2025
91 min
El Viaje Desde el Frontend con React al Desarrollo Fullstack Con Next.js
Featured Workshop
Eric Burel
Eric Burel
Únete a nosotros en el viaje desde el desarrollo frontend con React hasta el desarrollo fullstack con Next.js. Durante esta masterclass, seguiremos el tutorial oficial de Next.js Learn con Eric Burel, entrenador profesional y autor de NextPatterns.dev. Juntos, configuraremos un sitio web con Next.js y exploraremos sus características del lado del servidor para construir aplicaciones de alto rendimiento.
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
Workshop
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
De Todo App a B2B SaaS con Next.js y Clerk
React Summit US 2023React Summit US 2023
153 min
De Todo App a B2B SaaS con Next.js y Clerk
Top Content
WorkshopFree
Dev Agrawal
Dev Agrawal
Si eres como yo, probablemente tengas un millón de ideas para proyectos secundarios, algunas de las cuales incluso podrían hacerte ganar dinero como un micro SaaS, o podrían resultar ser la próxima startup de mil millones de dólares. Pero, ¿cómo sabes cuáles? ¿Cómo pasas de una idea a un producto funcional que puede ser puesto en manos de clientes que pagan sin renunciar a tu trabajo e invirtiendo todo tu tiempo y dinero en ello? ¿Cómo pueden competir tus proyectos secundarios en solitario con las aplicaciones construidas por enormes equipos y grandes empresas?
Construir productos SaaS ricos viene con desafíos técnicos como infraestructura, escalabilidad, disponibilidad, seguridad y subsistemas complicados como autenticación y pagos. Por eso, a menudo son los gigantes tecnológicos ya establecidos quienes pueden construir y operar productos de este tipo de manera razonable. Sin embargo, una nueva generación de devtools está permitiendo a los desarrolladores construir fácilmente soluciones completas que aprovechan la mejor infraestructura en la nube disponible, y ofrecen una experiencia que te permite iterar rápidamente en tus ideas por un bajo costo de $0. Se llevan todos los desafíos técnicos de construir y operar productos de software para que solo tengas que pasar tu tiempo construyendo las características que tus usuarios quieren, dándote una oportunidad razonable de competir contra el mercado al mantenerte increíblemente ágil y receptivo a las necesidades de los usuarios.
En esta masterclass de 3 horas comenzarás con una simple aplicación de gestión de tareas construida con React y Next.js y la convertirás en un producto SaaS completamente funcional y escalable integrando una base de datos escalable (PlanetScale), autenticación multi-tenant (Clerk), y pagos basados en suscripción (Stripe). También aprenderás cómo los principios del desarrollo de software ágil y el diseño impulsado por el dominio pueden ayudarte a construir productos rápidamente y de manera rentable, y competir con las soluciones existentes.