Até onde uma biblioteca deve crescer antes de perder seu propósito?
Há algum tempo venho desenvolvendo uma biblioteca open source para ESP32 chamada ESP32-HTTP-Client.
Ela começou como um projeto pessoal para criar um cliente HTTP simples, leve e com baixo consumo de memória. Com o tempo, começaram a surgir issues, sugestões e pessoas utilizando o projeto.
Um dos momentos que mais me surpreendeu foi quando um post que fiz sobre a biblioteca no LinkedIn passou de 1.300 curtidas, recebi issues de alguns paises e feedbacks.
Para mim, isso foi muito legal, principalmente porque o projeto começou como uma forma de aprender.
E ele acabou se tornando algo ainda mais importante: uma maneira de sair um pouco da rotina de apenas entregar funcionalidades no trabalho e voltar a construir coisas porque quero entender como elas funcionam
Trabalhar com ESP32 também me força a pensar em coisas que muitas vezes ficam escondidas em aplicações tradicionais: memória, conexões, timeouts, headers, sockets e limitações de hardware
Mas agora eu estou em um dilema
A biblioteca tem um propósito bem definido: ser um cliente HTTP para ESP32.
Só que existem muitas funcionalidades que poderiam ser interessantes:
- streaming;
- cache HTTP;
- upload/download;
- Graphql;
- Mqtt;
- MCP;
- WebSocket;
- entre várias outras.
E aí comecei a me perguntar:
Até onde uma biblioteca deve crescer antes de perder seu propósito?
Não quero simplesmente adicionar funcionalidades porque parecem legais. Quero continuar evoluindo a biblioteca sem transformá-la em um projeto completamente diferente.
Então queria a opinião de vocês
E não precisa entender de ESP32, C++ ou baixo nível.
Na verdade, quero que vocês viajem nas ideias.
Se essa biblioteca fosse sua, o que você gostaria que ela fizesse?
Que funcionalidade você sentiria falta em um cliente HTTP?
E onde você colocaria o limite para ela continuar sendo, de fato, uma biblioteca HTTP?
Pode ser uma ideia simples, absurda ou tecnicamente difícil.
Talvez justamente uma sugestão que eu nunca teria pensado seja o que vai definir a próxima versão do projeto.
Quero ouvir vocês.
Github: https://github.com/PedroFnseca/esp32-http-client
Doc: https://esp32httpclient.com/ (Antes de dar uma sugestão, é legal ver o que já tem)
Fonte: https://esp32httpclient.com/