El objetivo
El objetivo final del proyecto BeeWare: Poder hacer para el software lo mismo que Django ha hecho por el software web: poner en manos de los usuarios web: poner en manos de los usuarios un conjunto de herramientas y bibliotecas que les permita desarrollar interfaces de usuario ricas y nativas, y desplegarlas en sus dispositivos. Esto incluye:
- Herramientas para que Python pueda ejecutarse en distintos dispositivos,
- Herramientas para empaquetar un proyecto Python de modo que pueda ejecutarse en esos dispositivos,
- Bibliotecas para acceder a los widgets y capacidades nativas de los dispositivos,
- Herramientas para ayudar a desarrollar, depurar, analizar y estos proyectos.
El objetivo es que este conjunto de herramientas sea fácil de usar para para principiantes en un entorno tipo Django Girls, pero lo suficientemente lo suficientemente potentes como para que puedan usarse para crear el próximo Instagram, Pinterest o Disqus. Disqus.
Y lo que es más importante, pretende hacer todo esto como una comunidad de Código Abierto. El proceso de desarrollo de código abierto ha demostrado ser la forma más fiable de desarrollar software robusto y fiable. manera más fiable de desarrollar software robusto y fiable, y el hecho de que y fiable, y el hecho de que cualquiera pueda acceder al software significa que todos pueden empezar con el mismo conjunto de excelentes herramientas, ya sean expertos o no. mismo conjunto de excelentes herramientas, ya sean expertos o aficionados entusiastas.
Python everywhere
Un proyecto informático moderno no puede ignorar el mayor avance en informática de los últimos 10 años. Python se enorgullece de ser un lenguaje multiplataforma. Hace 10 años, ser multiplataforma significaba estar disponible para Windows, macOS y Linux. Hoy en día, la informática móvil es mucho más importante. A pesar de esto, no hay muchas buenas opciones para programación Python en plataformas móviles, y la codificación móvil multiplataforma multiplataforma.
BeeWare adopta el móvil y otras plataformas emergentes (como relojes y como ciudadanos de primera clase del ecosistema informático. porque si la gente tiene estos dispositivos, ¿por qué no van a poder escribir software para ellos en Python.
Native everywhere
Es fácil utilizar temas para lograr la multiplataforma. Sin embargo, es fácil aplicaciones que se han construido utilizando temas - son los que no se comportan como cualquier otra aplicación. Los widgets no se ven bastante bien, o hay una barra de menú en una ventana de una aplicación OS X. Los temas pueden pero siempre hay signos reveladores.
Además, los widgets nativos son siempre más rápidos que un widget genérico temático. temático. Después de todo, estás usando la capacidad nativa del sistema que ha sido sintonizado y optimizado, no un motor de dibujo que se ha superpuesto sobre un widget genérico.
Los temas también desaprovechan muchas de las ventajas de accesibilidad de las plataformas nativas. Los autores de los sistemas operativos modernos dedican mucho tiempo a mejorar la accesibilidad para las personas con discapacidades motrices, visuales o cognitivas. movilidad, visión o cognición. Si utilizas widgets nativos Si usas widgets nativos, normalmente obtienes estas mejoras gratis. Si reimplementas los widgets con con un tema, también hay que reimplementar las asequibilidades.
BeeWare utiliza widgets nativos y funcionalidad nativa, en lugar de utilizar un enfoque basado en temas para el desarrollo de aplicaciones.
Python nativo
BeeWare es también un framework "Python first". Nos gusta Python. Nos gusta su aspecto y su funcionamiento. Si Python no está disponible como una opción de primera clase en una plataforma en particular, vamos a hacer lo que sea necesario para que Python esté disponible como lenguaje de de desarrollo. Y cuando tengamos la oportunidad de adoptar el lenguaje Python para una API o un diseño, vamos a hacer precisamente eso. Eso significa que vamos a usar generadores, gestores de contexto, yield de llamadas asíncronas, y más, con el fin de proporcionar el mejor API nativa de Python para el desarrollo de aplicaciones multiplataforma.
También estamos mirando hacia el futuro - esto significa que apoyamos Python 3 exclusivamente.
Experiencia nativa
La experiencia de uso de cualquier herramienta empieza con el proceso de instalación. Parte de la filosofía "Native everywhere" de BeeWare consiste en adoptar mecanismos nativos mecanismos nativos para la instalación. Si utiliza una herramienta de espacio de usuario, debe presentarse como un paquete que se instala del mismo modo que cualquier otro. instalar de la misma forma que cualquier otra herramienta, ya sea a través de una store, un instalador o un simple paquete ejecutable. Los usuarios finales no deberían saber que has escrito la aplicación en Python.
Pero si usted está utilizando una herramienta de desarrollo o de la biblioteca, entonces debe integrarse con su entorno de desarrollo. Y ya que estamos usando Python, eso significa que usted debe ser capaz de instalarlo en su virtual virtual usando pip install y nada más. nada más. Sin extensiones C, sin compiladores, sin configurar rutas del sistema o variables de entorno. variables de entorno - Simplemente instálelo, impórtelo, y empiece a escribir (o ejecutar) código.