¿Cuáles son los marcos principales para el desarrollo de aplicaciones de escritorio?

Al beneficiarse del desarrollo de la tecnología de código abierto y responder a las necesidades comerciales reales de un rápido desarrollo, el desarrollo multiplataforma no se limita a la multiplataforma móvil. Aunque el lado de escritorio no es tan rico en escenarios de aplicaciones de mercado como el lado móvil, hay también la demanda del mercado.
Para los desarrolladores individuales, el uso de marcos multiplataforma es principalmente para cumplir con las siguientes tres capacidades principales:

Mejora de la productividad: el marco puede ayudar a los desarrolladores a lograr un desarrollo rápido, que es la base para la reducción de costos y la mejora de la eficiencia. Si no puede lograr "rapidez", no será mucho más rápido que escribir código desde cero.

El marco empaquetado es liviano y liviano: la mayoría de los desarrolladores son usuarios comunes que no saben cómo instalar el entorno básico (sin operación y mantenimiento, sin operación y mantenimiento, sin operación y mantenimiento).

Multiplataforma: muchos desarrolladores todavía utilizan Mac como su principal máquina de desarrollo para el desarrollo diario, por lo que existe una gran necesidad de multiplataforma (multiplataforma móvil, multiplataforma móvil y de escritorio).

Hoy, en este artículo, haremos un balance de los cinco marcos principales para el desarrollo de aplicaciones de escritorio multiplataforma: Electron, wxPython, FinClip, Tauri y Flutter.

Electron
cree que todo el mundo está familiarizado con este marco.
En primer lugar, Electron se basa en Node.js, por lo que puede aprovechar los recursos ya preparados de Node.js.
En segundo lugar, Electron es multiplataforma. En otras palabras, puede desarrollar aplicaciones web y aplicaciones de escritorio al mismo tiempo. Algunos recursos convencionales, como la interfaz de usuario, el código (JS) y otros recursos se pueden compartir, lo que reduce en gran medida la carga de trabajo de los desarrolladores. Incluso las empresas no necesitan invertir repetidamente en mano de obra para desarrollar sistemas.
Además, Electron no solo admite API web para completar el mismo trabajo que las aplicaciones web, sino que también permite llamar a muchas API subyacentes del sistema operativo para interactuar con dispositivos de hardware. Incluso puede usar C++ y Go para escribir módulos locales, de modo que pueda completar muchos Aplicaciones web: cosas que las aplicaciones no pueden hacer.

Resumen: Utiliza los lenguajes html, js, css, etc., tiene funciones potentes, una interfaz magnífica, multiplataforma y un bajo costo de desarrollo, se puede decir que combina las ventajas. Excepto que la actuación no puede ser elogiada ~~

wxPython
wxPython y pyqt son similares, ambos están desarrollados en lenguaje Python. El primero es una encapsulación de wxWidgets y el segundo es una encapsulación del famoso qt. wxWidgets se basa en la API del sistema operativo para crear aplicaciones de escritorio. Es decir, al desarrollar una aplicación de escritorio en Windows, se verá como el estilo del software de escritorio tradicional de Windows. En Mac, será el estilo Mac. Todo tres tienen sus propios motores autodirigidos.

En otras palabras, al usar wxWidgets en las tres plataformas, el botón se dibuja de acuerdo con las API propias de las tres plataformas. wxWidgets proporciona muchas API del sistema operativo y se pueden vincular estáticamente, pero existen muchos problemas menores.

Tauri
"Construya una aplicación optimizada, segura e independiente del frontend para implementación multiplataforma".
Desde el eslogan en el sitio web oficial de Tauri, podemos ver varios de los principales puntos de venta de Tauri:

optimizado: alto rendimiento, tamaño pequeño
seguro: seguridad sólida
front-end independiente: front-end independiente
multiplataforma: el marco
Tauri multiplataforma se implementa mediante el lenguaje Rust, y el back-end de la aplicación Tauri también está escrito en Rust. Rust es un lenguaje de programación de sistemas compilado de propósito general desarrollado por Mozilla. El lenguaje Rust en sí tiene las siguientes características:

Alto rendimiento (optimizado): el rendimiento de Rust es comparable al de C/C++. Debido al mecanismo de "propiedad" de Rust, Rust no requiere GC y también puede evitar lenguajes como C/C++ que requieren administración manual de memoria de olvidarse de liberar Problemas de pérdida de memoria causados ​​por la memoria;

Seguro: Rust está diseñado con un sistema de propiedad donde todos los valores tienen un propietario único y el alcance del valor es el mismo que el alcance del propietario. Los valores se pueden pasar mediante referencia inmutable (&T), referencia mutable (&mut T) o por el valor mismo (T). En cualquier momento, una variable puede tener múltiples referencias inmutables o una referencia mutable, que en realidad es un bloqueo explícito de lectura y escritura. El compilador de Rust aplica estas reglas en el momento de la compilación y verifica que todas las referencias sean válidas. Puede evitar eficazmente problemas como punteros colgantes en lenguajes como C/C++;

Compilador FFI amigable (multiplataforma): FFI es un mecanismo que permite que los programas escritos en un lenguaje de programación llamen al código escrito en otro lenguaje de programación. El uso de Rust puede proporcionar fácilmente interfaces para llamadas desde otros lenguajes;

Algunas características del lenguaje Rust también mejoran la confiabilidad y el valor del marco Tauri. Además, hello word está solo 10 m después del empaquetado y el desarrollo aún puede utilizar la tecnología html + css, que es muy eficiente.

FinClip

FinClip es un conjunto de tecnología de contenedor de programas pequeños, también se puede decir que es un entorno de pruebas de programas pequeños Runtime/Engine. Proporciona un tiempo de ejecución basado en el kernel del navegador, utilizando lenguaje dinámico (JS) y construcción de vista declarativa (XML). es compatible con la tecnología principal de programas pequeños de Internet y puede adoptar un marco DSL basado en Vue y reaccionar.

A diferencia de las plataformas cross-end como Electron, Flutter y Tauri, FinClip es estrictamente una tecnología de contenedores. No sólo no entra en conflicto con plataformas cross-end, sino que también puede integrarse perfectamente. En el marco de desarrollo móvil multiplataforma, FinClip puede ejecutar pequeños programas desarrollados a través de Flutter, Taro, kbone, etc.

Esta tecnología de contenedor de miniprogramas también aporta muchos beneficios al separar la capa de vista y la capa lógica:
1. Facilita el intercambio de datos y la interacción entre múltiples páginas de miniprogramas. Tener el mismo contexto en el ciclo de vida del subprograma puede proporcionar una experiencia de codificación familiar para los desarrolladores con experiencia en desarrollo de aplicaciones nativas; 2. La separación
y la implementación paralela de Servicio y Vista pueden evitar que la ejecución de JS afecte o ralentice la representación de la página, lo que Ayuda a mejorar el rendimiento de renderizado
3. Debido a que JS se ejecuta en la capa de Servicio, el DOM operado en JS no afectará la capa de Vista, por lo que el mini programa no puede operar la estructura DOM, lo que también hace que el rendimiento del mini programa sea mejor que el tradicional. H5 es mejor.

La razón por la que se introduce en el marco de desarrollo de aplicaciones de escritorio de la plataforma es que, además de las capacidades de desarrollo entre terminales móviles de FinClip, también admite la ejecución de pequeños programas en plataformas distintas a los teléfonos móviles, como Windows, Mac, Linux, Tongxin y Kirin: Esto significa que terminales móviles, terminales de PC, IOT y otros terminales inteligentes pueden ejecutar pequeños programas. Al mismo tiempo, también proporciona un completo sistema de administración de backend para administrar de manera uniforme la lista y eliminación de mini programas y monitorear los detalles de uso de los mini programas. En otras palabras, con la ayuda de esta herramienta, puede introducir negocios rápidamente aprovechando La madurez del ecosistema del mini programa WeChat, ecosistema para fortalecer y enriquecer sus escenarios comerciales, y lograr una reducción de costos y un aumento de la eficiencia tanto en la tecnología como en los negocios.

Aleteo

Flutter es un marco de desarrollo de aplicaciones multiplataforma desarrollado por Google, que inicialmente solo se utilizaba para desarrollar aplicaciones móviles para Android e iOS. En mayo de 2022, Google lanzó Flutter 3.0 en Google I/O 2022, anunciando compatibilidad con los sistemas operativos de escritorio Windows, macOS y Linux.

Flutter Desktop usa Dart para escribir la lógica de la interfaz. El lenguaje Dart es fácil de aprender y usar y el costo de desarrollo es bajo. Además, Flutter tiene un amplio conjunto de componentes y es compatible con el sistema operativo Win 10 (los sistemas operativos anteriores no eran bien compatibles). Sin embargo, debido a que la versión de escritorio acaba de lanzar soporte para la versión estable, se deben considerar tanto la ecología como la estabilidad, y también hay relativamente pocas API que deben ser escritas por los propios desarrolladores.
Enlace original

Supongo que te gusta

Origin blog.csdn.net/u010274449/article/details/131966328
Recomendado
Clasificación