Ir para o conteúdo

Propor uma nova funcionalidade

Estamos sempre abertos a sugestões e ideias para novas funcionalidades os documentação para BeeWare. Mas como faz para enviar a sua ideia para análise?

Antes de começar

Já temos uma lista muito longa de recursos que gostaríamos de implementar e recursos muito limitados. Se tem uma ideia que acha que iria tornar BeeWare melhor, gostaríamos de ouvi-la. Se um número suficiente de pessoas solicitar a mesma coisa, a equipa principal poderá implementar essa ideia. Entretanto, por si só, é improvável que a solicitação de um recurso resulte na implementação desse recurso num futuro próximo.

O BeeWare é uma comunidade de Código Aberto. A maneira mais eficaz de garantir que um recurso seja implementado é implementa-lo. Faremos tudo o que pudermos para ajudar os colaboradores a implementar os recursos que desejam ver adicionados. Exigir que a equipa principal implemente um recurso para si, de graça, provavelmente não será bem recebido.

Se não estiver em condições de implementar um recurso por conta própria, a outra maneira de acelerar o desenvolvimento do seu recurso é pagar para que alguém o implemente por si. Se quiser discutir a possibilidade de pagar para que o desenvolvimento de um recurso específico seja priorizado, entre em contacto com a equipa do BeeWare.

Sugerir nova funcionalidade

A coisa mais óbvia a ser sugerida é uma nova API ou recurso. Se tiver um caso de uso que BeeWare não suporta no momento, ou se houver um recurso de plataforma nativa que BeeWare não pode utilizar no momento, convém propor uma alteração para solucionar essa lacuna.

Ao propor um novo recurso, lembre-se de que o conjunto de ferramentas do BeeWare é compatível com várias plataformas. Isso significa que qualquer novo recurso deve:

  • Ser adequado e implementável em todas as plataformas (por exemplo, todo kit de ferramentas de GUI tem o conceito de um "botão"); ou
  • Ser adequada para plataformas do mesmo "tipo" e apropriada para ser ignorada noutras plataformas (por exemplo, todos os telefones celulares têm acelerómetros; poucos desktops o têm e, portanto, faz sentido que exista uma API de acelerómetro para iOS e Android, mas não para desktop ou plataformas Web); ou
  • Permitir o acesso a um recurso interno da plataforma sem alterar a API pública (por exemplo, não pode adicionar um recurso que seja claramente específico do Android, mas pode facilitar o acesso dos utilizadores finais a um recurso específico do Android a partir de seu próprio código).

Isso não significa que precise ser responsável pela implementação de um recurso em todas as plataformas. Se não tiver acesso ao hardware da Apple, não é razoável esperar que forneça uma implementação de um recurso no macOS ou no iOS. Entretanto, como parte do processo de design, precisamos estabelecer que seria possível implementar um recurso da maneira que o descreve.

Sugerir nova documentação

Outra coisa que pode querer sugerir é uma melhoria da documentação. Se tiver uma ideia para melhorar a documentação de BeeWare, considere:

  • A sua sugestão sobrepõe-se à documentação existente? Está a propor um novo guia ou uma adição a um guia existente?
  • Como ele se encaixa no restante do ecossistema do BeeWare? Este projeto é o lugar certo para documentar a ideia? Ou devemos documentar um recurso em outro projeto e criar um atalho para essa documentação?
  • Há um conceito de alto nível que precisa ser explicado antes que qualquer instrução específica faça sentido?
  • O tópico faz sentido para nós explicarmos ou já foi abordado por outra pessoa em algum lugar que possamos consultar?

Se não tiver certeza de nada disso, não se preocupe! Envie sua ideia e, na discussão inicial, informe-nos sobre o que não tem certeza, e poderemos ajudar a moldar as ideias que você tem num formato que se encaixe na documentação do BeeWare.

Contribuir com uma proposta de funcionalidade

Propor uma nova funcionalidade

Propor uma nova funcionalidade

Assim se tiver uma ideia sobre uma melhoria para BeeWare - como submete essa ideia para consideração?

Faça a sua pesquisa

A primeira etapa é pesquisar no rastreio de problemas BeeWare os problemas existentes problemas de recursos (problemas com etiqueta "enhancement"), problemas de documentação (problemas marcados como "documentação"), ou Linhas de discussão para ver se a ideia já foi sugerida antes. Se tiver sido, e tiver um novo contexto ou ideias para acrescentar, inclua-os no tópico existente. Se precisar de ajuda com sua pesquisa, pergunte no canal #dev no BeeWare Discord. Talvez possamos indicar os tópicos existentes, fornecer um contexto que talvez não conheça ou ligar a sua ideia a outra ideia que talvez não pareça imediatamente relacionada.

Discutir a ideia

Se não encontrar nenhuma referência existente à sua ideia, inicie uma Linha de discussão. Forneça uma descrição de alto nível da finalidade e do caso de uso de sua ideia. Inclua todas as ideias que tem sobre como o recurso seria, se implementado, como a forma geral de uma API, a aparência visual de uma capacidade ou o documento que seria adicionado. Se for o caso, inclua também qualquer pesquisa que tenha feito sobre como a sua ideia se manifestaria em diferentes plataformas.

Quando o tópico de discussão for aberto, a equipa do BeeWare e o resto da comunidade irão responder. A equipa principal terá como objetivo fornecer pelo menos uma impressão inicial da sua ideia dentro de dois dias úteis. Se uma ideia for especialmente complexa, uma análise mais detalhada poderá levar até uma semana. Eventos como feriados e conferências podem fazer com que esses prazos sejam um pouco mais longos.

Esta é sua oportunidade de participar de uma conversa sobre sua ideia. Podemos solicitar mais detalhes ou contexto. Outros membros da comunidade também poderão envolver-se na discussão, fornecendo outras perspetivas, sugestões ou contrapropostas. O resultado dessa discussão determinará os próximos passos.

É importante entender que nem todas as ideias serão aceitas. O motivo pelo qual esse processo começa com uma proposta é para evitar que você faça todo o trabalho e acabe descobrindo que há um motivo pelo qual a sua alteração não vai ser aceite.

Isto não significa que não seja uma boa ideia! Pode haver motivos técnicos para que ela não possa ser implementada. Por exemplo, podemos rejeitar uma ideia se:

  • Seria difícil ou impossível implementar de forma confiável em todas as plataformas suportadas; ou
  • Seria difícil de manter, ou a manutenção exigiria acesso a tecnologia ou software que não está amplamente disponível; ou
  • Atende a uma ninharia de público, mas impõe uma sobrecarga significativa aos outros utilizadores.

Se determinarmos que a sua ideia não é adequada, isso não significa necessariamente que deva desistir dela. Embora possamos rejeitar uma ideia específica, talvez sejamos muito mais recetivos a adicionar uma interface de plug-in ou outro ponto de extensão que permita manter o mesmo recurso como uma biblioteca externa. Dessa forma, poderá ter o recurso, mas sem que as preocupações específicas de manutenção ou as limitações do recurso se tornem numa restrição ao próprio projeto.

Converter num pedido formal de funcionalidade

Depois que a discussão chegar a um consenso sobre a forma de uma funcionalidade, poderá criar um novo problema de pedido de funcionalidade, no rastreio de problemas BeeWare, que resuma a discussão, com atalhos para a discussão para fins de contexto.

Não precisa implementar a sua proposta de funcionalidade por conta própria; pode abrir um problema com os detalhes do que está a propor. No entanto, o simples facto de publicar a questão não significa que ela será implementada para si. Vai precisar esperar que ela seja potencialmente escolhida por outra pessoa interessada no mesmo recurso, seja outro membro da comunidade ou a equipa principal; no entanto, não há garantia de que isso aconteça. Se quiser a implementação garantida, vai precisar de implementa-la você mesmo ou pagar a alguém para implementa-la por si.

Se estiver interessado, pode começar a implementar a sua nova funcionalidade.