O objetivo

O objetivo final do projeto BeeWare: Ser capaz de fazer para software móvel e e desktop o mesmo que o Django fez para o software da Web: colocar nas mãos dos usuários colocar nas mãos dos usuários um conjunto de ferramentas e bibliotecas que lhes permitam desenvolver interfaces de usuário ricas e nativas e implementá-las em seus dispositivos. e implantá-las em seus dispositivos. Isso inclui:

  • Ferramentas para permitir que o Python seja executado em diferentes dispositivos,
  • Ferramentas para empacotar um projeto Python para que ele possa ser executado nesses dispositivos,
  • Bibliotecas para acessar os widgets e recursos nativos dos dispositivos,
  • Ferramentas para ajudar a desenvolver, depurar, analisar e esses projetos.

O objetivo é que esse conjunto de ferramentas seja suficientemente fácil de usar para para iniciantes usarem em um ambiente semelhante ao das Django Girls, mas mas poderosas o suficiente para que possam ser usadas para impulsionar o próximo Instagram, Pinterest ou Disqus.

O mais importante é que ele pretende fazer tudo isso como uma comunidade de código aberto. O processo de desenvolvimento de código aberto provou ser a maneira mais maneira mais confiável de desenvolver software robusto e confiável, e o fato de que qualquer pessoa poder acessar o software significa que todos podem começar com o mesmo conjunto de excelentes ferramentas, sejam eles especialistas ou amadores entusiastas.

Python em todos os lugares

Um projeto de computação moderno não pode ignorar o maior desenvolvimento em computação dos últimos 10 anos. O Python se orgulha de ser uma linguagem multiplataforma. Há 10 anos, ser multiplataforma significava estar disponível para Windows, macOS e Linux. Hoje em dia, a computação móvel é muito mais importante. Apesar disso, não há muitas opções boas para a programação Python em plataformas móveis, e a codificação móvel multiplataforma ainda é difícil de ser obtida.

O BeeWare adota as plataformas móveis e outras plataformas emergentes (como relógios e set-top-boxes) como um cidadão de primeira classe do ecossistema de computação. porque, se as pessoas têm esses dispositivos, por que não deveriam ser capazes de escrever software para eles em Python.

Nativo em todos os lugares

É fácil usar temas para obter uma plataforma cruzada. No entanto, é fácil identificar aplicativos que foram criados usando temas - eles são aqueles que não se comportam exatamente como qualquer outro aplicativo. Os widgets não têm a aparência correta, ou há uma barra de menu em uma janela em um aplicativo OS X. Os temas podem se aproximar bastante mas sempre há sinais de alerta.

Além disso, os widgets nativos são sempre mais rápidos do que um widget genérico temático. genérico temático. Afinal de contas, você está usando o recurso nativo do sistema que foi ajustado e otimizado, e não um mecanismo de desenho que foi colocado em camadas sobre um widget genérico.

Os temas também perdem muitos dos benefícios de acessibilidade das plataformas nativas. Os autores de sistemas operacionais modernos gastam muito tempo ajustando os recursos para pessoas com mobilidade, visão ou cognição prejudicadas. Se você usar widgets nativos, você geralmente obtém esses recursos gratuitamente. Se você reimplementar os widgets com um tema, você também terá que reimplementar os recursos.

O BeeWare usa widgets nativos e funcionalidade nativa, em vez de usar uma abordagem baseada em temas para o desenvolvimento de aplicativos.

Python nativo

O BeeWare também é uma estrutura que se destaca por ser "Python first". Nós gostamos de Python. Gostamos de sua aparência e de seu funcionamento. Se o Python não estiver disponível como uma opção de primeira classe em uma plataforma específica, faremos o que for necessário para tornar o Python disponível como uma como linguagem de desenvolvimento. E quando tivermos a oportunidade de adotar o idioma Python para uma API ou um design, faremos exatamente isso. Isso significa que vamos usar geradores, gerenciadores de contexto, yield from chamadas assíncronas e muito mais, a fim de fornecer a melhor API nativa do Python para o desenvolvimento de aplicativos entre plataformas.

Também estamos olhando para o futuro, o que significa que oferecemos suporte exclusivo ao Python 3 exclusivamente.

Experiência nativa

A experiência de uso de qualquer ferramenta começa com o processo de instalação. Parte da filosofia "Nativo em toda parte" do BeeWare é adotar mecanismos mecanismos nativos apropriados para a instalação. Se você estiver usando uma ferramenta no espaço do usuário, ela deve ser apresentada a você como um pacote que deve ser instalado da da mesma forma que você instalaria qualquer outra ferramenta, seja por meio de uma loja de aplicativos seja por meio de uma loja de aplicativos, um instalador ou um simples pacote executável. Os usuários finais não devem saber que você escreveu o aplicativo em Python.

Mas se você estiver usando uma ferramenta ou biblioteca de desenvolvedor, ela deverá integrar-se ao seu ambiente de desenvolvimento. E como estamos usando Python, isso significa que você deve ser capaz de instalá-la em seu ambiente virtual virtual usando pip install e nada mais. mais. Sem extensões C, sem compiladores, sem definir caminhos de sistema ou variáveis de ambiente. variáveis de ambiente - basta instalá-lo, importá-lo e começar a escrever (ou executar) código.