L'objectif

L'objectif final du projet BeeWare : Pouvoir faire pour les logiciels mobiles et de bureau la même chose que Django pour le web. la même chose que Django a fait pour les logiciels web - mettre entre les mains des pour les logiciels web - mettre entre les mains des utilisateurs un ensemble d'outils et de bibliothèques qui leur permettent de développer des interfaces utilisateur riches et natives, et de les déployer. qui leur permettent de développer des interfaces utilisateur riches et natives, et de les déployer sur leurs appareils. et de les déployer sur leurs appareils. Cela inclut :

  • Outils permettant à Python de fonctionner sur différents appareils,
  • des outils permettant d'empaqueter un projet Python afin qu'il puisse fonctionner sur ces appareils,
  • des bibliothèques pour accéder aux widgets et aux capacités natives des appareils,
  • des outils pour aider au développement, au débogage, à l'analyse et à la réalisation de ces projets.

L'objectif est que cet ensemble d'outils soit assez facile à utiliser pour les pour les nouveaux venus dans un environnement de type Django Girls, mais suffisamment suffisamment puissants pour être utilisés pour piloter le prochain Instagram, Pinterest ou Disqus.

Plus important encore, il vise à faire tout cela dans le cadre d'une communauté Open Source. Le processus de développement Open Source s'est avéré être le moyen le plus fiable pour développer des logiciels robustes et fiables. le plus fiable pour développer des logiciels robustes et fiables, et le fait que tout le monde puisse accéder au logiciel signifie que tout le monde peut commencer avec le logiciel. le fait que tout le monde puisse accéder au logiciel signifie que tout le monde peut commencer avec le même ensemble d'excellents outils, que l'on soit expert ou non. le même ensemble d'excellents outils, que l'on soit expert ou amateur enthousiaste.

Python partout

Un projet informatique moderne ne peut ignorer la plus grande évolution de l'informatique informatique des 10 dernières années. Python s'enorgueillit d'être un langage langage multiplateforme. Il y a 10 ans, être multiplateforme signifiait être disponible pour Windows, macOS et Linux. Aujourd'hui, l'informatique mobile est beaucoup plus importante. Malgré cela, il n'y a pas beaucoup de bonnes options pour la programmation Python sur les plateformes mobiles, et le codage mobile multiplateforme n'est toujours pas possible.

BeeWare considère les plates-formes mobiles et autres plates-formes émergentes (comme les montres et les décodeurs) comme des citoyens de premier ordre. comme des citoyens de première classe de l'écosystème informatique. car si les gens possèdent ces appareils, pourquoi ne pourraient-ils pas écrire des logiciels pour eux en Python.

Native everywhere

Il est facile d'utiliser des thèmes pour obtenir une plate-forme polyvalente. Cependant, il est facile de de repérer les applications qui ont été créées à l'aide de thèmes - ce sont celles qui ne se comportent pas comme les autres. ne se comportent pas tout à fait comme n'importe quelle autre application. Les widgets n'ont pas tout à fait la même apparence, ou il y a une barre de menu sur une fenêtre dans une application OS X. Les thèmes peuvent être assez mais il y a toujours des signes révélateurs.

En outre, les widgets natifs sont toujours plus rapides qu'un widget générique. à thème. Après tout, vous utilisez les capacités du système natif qui ont été réglées et optimisées, et non un moteur de dessin qui a été superposé. optimisées, et non un moteur de dessin superposé à un widget générique. un widget générique.

Les thèmes ne bénéficient pas non plus des avantages des plates-formes natives en matière d'accessibilité. Les auteurs de systèmes d'exploitation modernes consacrent beaucoup de temps à la mise au point d'options pour les personnes souffrant d'un handicap moteur, visuel ou cognitif. mobilité, de la vision ou de la cognition. Si vous utilisez des widgets natifs, vous natifs, vous bénéficiez généralement de ces avantages gratuitement. Si vous réimplémentez les widgets avec un thème, vous devez également réimplémenter les fonctionnalités.

BeeWare utilise des widgets natifs et des fonctionnalités natives, plutôt que d'utiliser plutôt qu'une approche thématique du développement d'applications.

Python native

BeeWare est également un framework "Python first". Nous aimons Python. Nous aimons son apparence et son fonctionnement. Si Python n'est pas disponible en tant qu'option de première classe sur une plateforme particulière, nous ferons tout ce qui est nécessaire pour rendre Python disponible sur une plateforme particulière. tout ce qui est nécessaire pour rendre Python disponible en tant que développement. Et lorsque nous avons la possibilité d'adopter l'idiome Python pour pour une API ou une conception, nous le ferons. Cela signifie que nous allons utiliser des générateurs, des gestionnaires de contexte, yield de appels asynchrones, et plus encore, afin de fournir la meilleure API native Python pour le développement d'applications multiplateformes.

Nous sommes également tournés vers l'avenir, ce qui signifie que nous supportons exclusivement Python 3 exclusivement.

Expérience native

L'expérience d'utilisation d'un outil commence par le processus d'installation. Une partie de la philosophie "Native everywhere" de BeeWare consiste à adopter des mécanismes d'installation natifs appropriés. appropriés pour l'installation. Si vous utilisez un outil de l'espace utilisateur, il doit vous être présenté comme un paquetage à installer de la même manière que vous de la même manière que vous installeriez n'importe quel autre outil - que ce soit par le biais d'un app store, d'un installateur ou d'un simple paquet exécutable. Les utilisateurs finaux ne doivent pas savoir que vous avez écrit l'application en Python.

Mais si vous utilisez un outil de développement ou une bibliothèque, il doit s'intégrer à votre environnement de développement. s'intégrer à votre environnement de développement. Et puisque nous utilisons Python, cela signifie que vous devriez pouvoir l'installer dans votre environnement virtuel en utilisant pip install et rien d'autre. rien de plus. Pas d'extensions C, pas de compilateurs, pas de chemins d'accès au système ou de variables d'environnement - il suffit de l'installer, de l'importer et de l'utiliser. variables d'environnement - il suffit de l'installer, de l'importer et de commencer à écrire (ou à exécuter) du code. (ou exécuter) du code.