[Tauri + React real combat] VCluster: comprenda la selección de tecnología y la configuración del entorno de desarrollo

VCluster

Una aplicación React + Tauri como visualizador del clúster de aplicaciones en Windows.

vcluster Licencia plataforma NodoJS Óxido

Reaccionar redux Privación Mui Rbatis

introducción de fondo

VCluster es una aplicación de escritorio que se utiliza para administrar visualmente una serie de clústeres de aplicaciones (como servicios distribuidos y microservicios) en un entorno de desarrollo. El objetivo es realizar una configuración de clúster similar a docker-compose, que se puede iniciar, reiniciar y compilar haciendo clic. Tiene ciertas capacidades de monitoreo del estado de la aplicación y tiene líneas de comando de terminal integradas para una fácil operación y otras funciones y características.

Selección de tecnología

Simplemente enumere las principales tecnologías utilizadas en el progreso de desarrollo actual:

  • Privación
  • Reaccionar
  • redux
  • Mui
  • Rbatis

Privación

¿Qué es Tauri? Antes de presentar Tauri, permítanme mencionar otros marcos de desarrollo principales para aplicaciones de escritorio. Dejando de lado el antiguo Qt, una de las corrientes principales actuales es electron, y muchos software populares se desarrollan con electrones, como Vs Code. Electron es impulsado por nodeJs y tiene cromo incorporado para representar el front-end de la web, formando así un programa de escritorio.

Tauri es una herramienta de desarrollo de programas de escritorio impulsada por Rust que utiliza la vista web nativa del sistema para representar la interfaz web. Aunque Tauri y Electron pertenecen al mismo conjunto de soluciones, son muy diferentes.

Tauro vs Electrón

¿Cuáles son las ventajas y desventajas de Tauri en comparación con Electron?

  • Ligero: Tauri usa la vista web nativa del sistema para renderizar, mientras que Electron tiene un navegador incorporado. Por lo tanto, bajo la misma función, la aplicación Tauri es mucho más pequeña que la aplicación Electron, y esta última ocupa aproximadamente 50 MB, incluso si es un helloworld.
  • Alto rendimiento: Tauri está impulsado por Rust, mientras que Electron está impulsado por NodeJs. La eficiencia operativa de Rust es, sin duda, mucho mejor que la de NodeJs. Además, Tauri no tiene un navegador incorporado, mientras que Electron toma Vs Code como ejemplo.
  • Alta seguridad: Tauri está impulsado por Rust, que se conoce como el lenguaje de programación más seguro en la actualidad, y el equipo de desarrollo de Tauri también presta gran atención a la seguridad del diseño de Tauri, adoptando muchas restricciones en operaciones sensibles, y Tauri se ejecuta en modo aislado, los ataques estáticos se volverán particularmente difíciles.
  • Compatibilidad multiplataforma más amplia: Tauri se divide actualmente en dos versiones, la v1 solo es compatible con computadoras de escritorio y la v2 también es compatible con teléfonos móviles. Actualmente, los marcos multiplataforma de aplicaciones móviles principales incluyen Flutter y React Native, cada uno con sus propias ventajas y desventajas. Aunque Tauri v2 aún se encuentra en la etapa experimental, vale la pena esperarlo.
  • Ecología y comunidad débiles: desde dos aspectos: 1. Tauri es un marco emergente 2. Rust es un lenguaje joven, lo que significa que es posible que no pueda encontrar la solución de mejores prácticas como referencia en algún momento, pero en Electron, hay menos problemas.
  • Inestabilidad: proviene de dos aspectos: 1. Tauri es un marco emergente 2. Rust es un lenguaje joven que cambia con frecuencia. Por ejemplo, usé rust 1.66 para desarrollar otros proyectos hace algún tiempo, y la misma caja utilizada en VCluster recientemente siguió a la última versión de rust. Tuve que actualizar mi versión de rust y modificar algunos códigos que se habían implementado.
  • Mayor dificultad de desarrollo: Rust tiene una curva de aprendizaje pronunciada. Incluso un desarrollador de Rust experimentado enfrenta mucha presión cuando se enfrenta a un proyecto de Rust. Sin embargo, el fondo de Electron es un nodo, y los extremos frontal y posterior son js o ts. El desarrollo de pila completa es relativamente fácil.
  • Compatibilidad con más idiomas en el futuro: el elemento anterior no es absoluto. El equipo de Tauri está trabajando arduamente para superar las barreras técnicas, con la esperanza de que el backend de Tauri también pueda ser impulsado por otros lenguajes de backend principales (Go, C#, Python, etc.) además de Rust. Además, Tauri actualmente tiene algunos complementos que implementan js-api que originalmente usaba rust para manejar operaciones en segundo plano. Por ejemplo, puede administrar directamente el estado persistente del backend en el front-end, escribir SQL, etc.

Reaccionar

En la capa web, Tauri es perfectamente compatible con casi todos los marcos front-end, como Vue, React, Sevlte, etc. VCluster elige React.

¿Por qué usar Reaccionar? Aunque la mayoría de los ejemplos oficiales de Tauri se basan en Vue o Sevlte, el desarrollo del sistema Vue es realmente muy conveniente y los desarrolladores pueden crear interfaces rápidamente con una sintaxis concisa.

Las principales razones para elegir React son tres puntos:

  1. React tiene un ecosistema extremadamente grande y una comunidad activa, y no es difícil encontrar las mejores prácticas que se puedan usar como referencia.
  2. Rust tiene un sistema de tipos extremadamente estricto, mientras que React se adapta perfectamente a Typescript, y la pila de tecnología principal basada en Typescript + React + Tauri es bastante consistente.
  3. React es más adecuado para proyectos complejos o proyectos a gran escala.VCluster tiene funciones relativamente completas y complejas, y sin duda es adecuado para desarrollar con React.

Por supuesto, si solo necesita crear rápidamente una aplicación con funciones relativamente simples, Vue o Svelte son definitivamente una mejor opción.

redux

Redux es básicamente una de las suites necesarias para React. Como herramienta de administración de estado js, ​​Redux tiene un diseño y un proceso de operación bastante estandarizados. Realiza sincronización de estado y comunicación de componentes a través de despacho y suscripción, y tiene un alto rendimiento. Redux se puede usar no solo para React, sino también para otros marcos como Vue, y también se puede usar en el backend de Node.

Mui

Material UI, una de las bibliotecas de componentes de React UI más populares, tiene bastantes sitios web basados ​​en MUi. Mui tiene un excelente diseño y los componentes tienen una apariencia profesional y elegante, lo cual es muy adecuado para escenarios de aplicaciones generales.

Rbatis

VCluster necesita una base de datos para almacenar algunos datos de manera persistente. Como se mencionó anteriormente, hay complementos que pueden escribir directamente sql en el front-end. La razón por la cual los complementos de sql no se usan es para seguir el principio de separación de funciones. El front-end solo se preocupa por la representación, y el procesamiento de datos debe entregarse a Rust tanto como sea posible. Este es un enfoque profesional. Por supuesto, si solo se trata de crear rápidamente una aplicación simple, recomendamos encarecidamente y aceptamos usar el complemento sql.

Rbatis es un marco ORM-SQL asíncrono oxidado de alto rendimiento, que implementa bastantes características de sql, lo que puede simplificar enormemente el proceso de escritura de sql, pero desafortunadamente parece que rbatis no proporciona asociación. Además de Rbatis, SEA-ORM también es una excelente opción, pero el framework rust suele tener un alto costo de aprendizaje.Como he dominado rbatis antes, no usé sea-orm, pero este último sigue siendo un framework sql digno de grandes elogios.

configuración de desarrollo

El entorno de desarrollo de VCluster debe cumplir al menos con los siguientes elementos:

  • windows 10 (actualmente solo sirve para Win)
  • nodo 16.17+
  • rust 1.70 no puede ser más bajo, es mejor no ser más alto

Además, recuerda elegir un generador de C++ confiable al instalar Rust, se recomienda usar el paquete Vs Studio.

IDE:
Vs Code o Vs Studio o CLion

Es muy sencillo crear una aplicación Tauri desde cero. Tauri proporciona Bash, PowerShell, Cargo, npm, Yarn y pnpm para crear aplicaciones Tauri desde la línea de comandos. VCluster usa npm.

Aquí hay algunos ejemplos de cómo crear un proyecto Tauri desde cero:

  • npm crea Tauri:
npm create tauri-app@latest
  • Cargo crea Tauri
cargo install create-tauri-app --locked
cargo create-tauri-app

Para obtener más información sobre Tauri, visite el sitio web oficial de Tauri: https://tauri.app/zh-cn/

Supongo que te gusta

Origin blog.csdn.net/m0_51810668/article/details/131745980
Recomendado
Clasificación