
TurboolStack proporciona un punto de partida sólido dentro del turborepo para construir aplicaciones en diferentes plataformas, integrar Electron, React (CRA, Next.js), React Native (Expo - iOS, Android) y Tailwind CSS para un proceso de desarrollo optimizado. Esta configuración está diseñada para aquellos que buscan desarrollar eficientemente aplicaciones de escritorio, web y móviles con una calidad consistente y un flujo de trabajo simplificado.
IMPORTANTE : Una de las características centrales de Turboolstack es que casi todas las aplicaciones aprovechan una fuente común de componentes React ubicados en paquetes/UI . Esta estructura promueve la uniformidad y la eficiencia en el desarrollo. Además, todos los espacios de trabajo comparten una configuración CSS de viento de cola común, asegurando un sistema de diseño consistente en todas las plataformas.
Antes de continuar con la configuración, asegúrese de que su entorno de desarrollo cumpla con los siguientes requisitos. Este proyecto fue creado con versiones específicas de nodo e hilo para evitar problemas de compatibilidad y aprovechar sus últimas características. Aquí están las versiones que necesitará:
Node.js : versión 18.
Hilo : versión 4.
Al usar las mismas versiones, está alineando con el entorno de desarrollo original del proyecto, minimizando posibles problemas relacionados con las discrepancias de las versiones.
yarn install en el directorio raíz para obtener todas las dependencias.Sugiero usar hilo para consistencia y eficiencia en el proceso de desarrollo, aunque NPM sigue siendo una alternativa.
Con las dependencias en su lugar, puede sumergirse en el desarrollo:
yarn dev en el directorio raíz para iniciar el proyecto en modo de desarrollo, completo con recarga en caliente para actualizaciones en tiempo real.yarn build en el directorio raíz cuando esté listo para compilar un paquete listo para la producción de su aplicación.Una comprensión básica de React, Turborepo, Next.js, Expo y Electron mejorará su experiencia de desarrollo.
En el modo de desarrollo, varios componentes de la aplicación se inicializan automáticamente.
Para aprovechar al máximo Turboolstack, puede que le resulte útil familiarizarse con la documentación de las tecnologías utilizadas. Aquí están los enlaces rápidos a la documentación oficial:
Hay mejoras y características continuas en la tubería para mejorar la versatilidad y la eficiencia de Turboolstack . Aquí hay algunas tareas en la hoja de ruta:
Archivos estáticos compartidos entre espacios de trabajo :
public de cada espacio de trabajo. Tengo el objetivo de resolver el problema de los archivos estáticos para evitar redundancia y mejorar la gestión de recursos. Avísame si sabes cómo manejarlo? Creación de packages/ui-native :
packages/ui-native y configurar nationalwind dentro de él. Esta mejora permitirá que la app/native compartirá componentes con packages/ui-native , simplificando el proceso de desarrollo en las plataformas nativas.Completar estas tareas contribuirá significativamente a hacer que Turboolstack sea aún más eficiente y amigable para los desarrolladores. ¡Cualquier contribución o sugerencia para estas tareas pendientes es bienvenida!
Desarrollar en diferentes plataformas y entornos a veces puede conducir a problemas inesperados. Esta sección tiene como objetivo abordar algunos de los problemas comunes que puede encontrar cuando trabaja con Turboolstack .
Problema : los desarrolladores pueden experimentar una falla del proceso de compilación específicamente en los sistemas de Windows durante la etapa de copia de archivos dentro del espacio de trabajo apps/electronBuilder . La operación se detiene inesperadamente, lo que indica errores que generalmente están relacionados con las instrucciones de la línea de comandos para copiar y eliminar archivos.
Probablemente causa : este problema a menudo surge debido a la incompatibilidad entre ciertos comandos de shell utilizados en scripts dentro de package.json y el intérprete de la línea de comandos de Windows. Estos comandos de script están configurados para sistemas basados en UNIX y no se ejecutan como se esperaba en Windows.
Corrección rápida :
package.json en el espacio de trabajo apps/electronBuilder . // Example modification in package.json (adjusting for Windows compatibility)
"scripts" : {
// Modified for Windows
"copy-main" : " xcopy .. \ electronMain \ dist dist-main \ /E /I /H /Y " ,
"copy-renderer" : " xcopy .. \ electronRenderer \ build dist-renderer \ /E /I /H /Y " ,
"copy" : " yarn copy-main && yarn copy-renderer " ,
"clear" : " rimraf dist " ,
"cleaning-up" : " rimraf dist-main && rimraf dist-renderer " ,
"clean" : " rimraf dist && rimraf dist-main && rimraf dist-renderer " ,
"build" : " yarn copy && electron-builder && yarn cleaning-up " ,
// Original Unix commands
"copy-main" : " cp -R ../electronMain/dist dist-main " ,
"copy-renderer" : " cp -R ../electronRenderer/build dist-renderer " ,
"copy" : " yarn copy-main && yarn copy-renderer " ,
"clear" : " rm -rf dist " ,
"cleaning-up" : " rm -rf dist-main && rm -rf dist-renderer " ,
"clean" : " rm -rf dist && rm -rf dist-main && rm -rf dist-renderer " ,
"build" : " yarn copy && electron-builder && yarn cleaning-up " ,
}Este proyecto tiene licencia bajo los términos de la licencia MIT y está disponible de forma gratuita.
Siéntase libre de usar y modificar la base de código para su propósito personal, empresarial o educativo. No se requiere atribución, pero si encuentra útil este proyecto, siempre se agradece una referencia o crédito.
Si encontró útil Turboolstack , ¡considere darle una estrella al repositorio! Su apoyo me motiva a seguir haciendo este proyecto aún mejor.
Estrella el repositorio aquí.
¡Gracias por ser parte de este viaje!