Executando verificação de segurança...
28

Minha Iniciativa de Código Aberto Apoiada pela Microsoft

Apresentação

Sou um Engenheiro de Software que atualmente está trabalhando como estagiário de TI na Secretaria de Educação no município de Palmeira - Paraná. Nas horas vagas entre a faculdade e o trabalho desenvolvo aplicações e bibliotecas voltadas para o sistema operacional Microsoft Windows, sendo esse praticamente um hobby desde minha infância. Também desenvolvo aplicações web, principalmente o back-end, pois estou mais acostumado a trabalhar com os "bastidores" onde grande parte da mágica aconteçe, mesmo que os usuários não saibam disso.

Nesta publicação irei apresentar a minha iniciatva, a ThirtyTwo Interops (GitHub), ao qual, inclusive, recentemente ingressou no programa da Microsoft for Startups Founders Hub. Aqui serão apresentados sua ideia, seus objetivos e o que estou fazendo para alcança-los.

Primeiramente, o que é a "ThirtyTwo Interops"?

Resumido, é uma iniciativa que iniciei a mais ou menos 4 anos atrás, onde basicamente consiste em criar inúmeras bibliotecas de interoperabilidade das APIs do Windows para as mais diversificadas linguagens de programação e frameworks existentes, sendo estas uma "base" para bibliotecas muito mais complexas que permitiram a fácil criação e customização de aplicações para a "Área de Trabalho" do Microsoft Windows, focando principalmente na Experiência do Usuário (DX).

Não se preocupe, eu lembrei dos desenvolvedores. A ThirtyTwo Interops será responsável por todo o "trabalho duro", criando e lapidando inúmeras bibliotecas complexas para, no final, disponibilizar aos desenvolvores bibliotecas simples, porém poderosas, tudo voltado a Experiência do Desenvolvedor (DX) sem a necessidade de sacritifcar a Experiência do Usuário (DX).

Quais os Objetivos?

A ThirtyTwo Interops tem objetivos bem claros, a de possibilitar que inúmeros ambientes de desenvolvimento possam se benificar das APIs nativas do Windows da maniera mais "poderosa", versátil e simples possível. Mas para ficar mais claro há uma lista de passos que serão dados onde, ao concluir todos, o foco principal será em desenvolver novos recursos focados nos usuários como controles novos.

  • Adaptar as APIs do Windows para a maior quantidade de linguagens de programação que for possível (ocorrerá progressivamente).
  • Reescrever toda a documentação da Microsoft para se adaptar as bibliotecas publicadas, incluindo novos trechos de código, explicações mais detalhadas, entre outros.
  • Escrever "documentações" ensinando mais profundamente sobre as APIs do Windows, onde podem ser usadas, para o que podem ser usadas, exemplos de código, programas de demonstração, além de ensinos importantes como a de como conerter tipos entre as linguagens de maneira correta.
  • Escrever guias de estilo para facilitar a compreensão por parte dos colaboradores e não colaboradores, vianso a grande semlehança entre as linguagens, além de padronizar coisas como os comentários e tabulações.
  • Criar bibliotecas focadas tanto na Experiência do Usuário (UX) quanto na do Desenvolvedor (DX), permitindo a criação de aplicações robustas, leves, interativas e com belas interfaces, sem sacrificar tempo ou performance.

Esse é um grande resumo de tudo que será entrege, mas temos grandes planos para o futuro. O caminho pode até ser grande, lento e chato (anda mais lidando com isso sozinho no momento :)), mas no final tudo valerá apena.

Planos Para o Futuro

Sinceramente espero conseguir um emprego na Microsoft e lá continuar desenvolvendo de maneira ativa todos esses objetivos pois a ambissão desse projeto pode trazer uma nova era aos desenvolvedores do sistema operacional, e isso beneficia a todos incluindo a própria Microsoft. Creio que eles terem aceitado a mesma no programa Microsoft for Startups Founders Hub já é um grande reconhecimento, e espero que uma porta de entreada para uma carreira grandiosa, além é claro de permitir uma grande contribuição para o mundo do Código Aberto, visto que tudo será regido sobre a licença do MIT a medida do possível.

Mas... Como Está Indo Atualmente?

Atualmente até a data desta publicação já está disponível a biblioteca Kernel32 (Pacote NuGet) escrita em C-Sharp para o .NET Framework. Mas, após uns 10 meses, estou nas atepas finais da biblioteca User32 (também escrita em C-Sharp para o .NET Framework) onde planejo publica-la logo para começar a escrever as documentações, guias e tutoriais que serão importantes para frente.

Agradecimentos

Obrigado por acompanhar essa publicação :) Estava precisando contar isso a alguém e pensei, o porque não no TabNews? Uma comunidade massa do Brasil. Por favor, se puder, me siga nas redes sociais abaixo ou me acompanhe no GitHub:

Perfil do LinkedIn: eduardobaginskicosta
Perfil Oficial do Instagram: @eduardobcosta7
Perfil Oficial do GitHub: eduardobaginskicosta

Carregando publicação patrocinada...
5

Que massa, parabéns a iniciativa.

Gosto muito do desenvolvimento open-source e acho legal de várias empresas incentivar este modelo de desenvolvimento, já que "sozinhos", não temos muito incentivo, principalmente financeiro para ser algo sustentável.

Destes tipos de suporte, já tive de receber o da JetBrains, que dá uma licença que dá acesso a todas as IDEs da empresa de graça para desenvolver e manter projetos open-source. Não sei se esta licença ainda está recebendo projetos, mas é uma ajuda que ao mesmo tempo é um incentivo pelo reconhecimento.

Sobre a sua iniciativa, a algum tempo atrás, também fucei com a API do Windows, e usei o pacote Win32 para o Dart para criar uma abstração da API do XInput, que usei posteriormente em um clone da interface do Xbox Series (que está meio que abandonado), mas o pacote foi publicado no pub.dev, o site que lista os pacotes para o Dart/Flutter.

Lembre que o desenvolvimento neste tipo de modelo é para ser feito de forma aberta, as principais decisões devem ser feitas em conjunto com a comunidade, saber ouvir e priorizar o que deve ser feito, e lembrar que nunca está desenvolvendo para você, externalize todo conhecimento por meio de documentação e exemplos, várias outras pessoas serão impactadas pela sua solução.

1

Muito obrigado! Fico lisongeado com seu reconhecimento.

Estou trabalhando duro nesta iniciativa a mais de 4 anos, antes mesmo de se tornar pública. Venho estudando e testando inúmeros meios de tornar as APIs o mais compatíveis o possível, as deixando realmente completas onde, até mesmo a documentação oficial da Microsoft peca em certos sentidos, eu corrigo elas nas bibliotecas. Um grande exemplo e de constantes que nem aparecem na documentação oficial, ou se aparecem não contem o valor das mesmas ou, até mesmo, aparecem mas totalmente desatualizadas. Visto essa documentação que está até um pouco "abandonada" pela Microsoft irei reeescrever ela por inteiro, para cada uma das linguages que a iniciativa der suporte "oficial", tudo para que os desenvolvedores consigam resolver suas dúvidas.

O trabalho é muito difícil, estou adapatando constantes, enumerações, estruturas, funções, etc. Mas tudo esta indo conforme o planejado e, se Deus quiser, brevemente tudo estará concluído, com bibliotecas bem escritas e documentadas, com uma comunidade ativa, e com aplicações (comerciais ou não) sendo feitas as utilizando. Estou ancioso para descobrir o destino de tudo isso.

A única coisa que garanto é que esse iniciativa vai ser concluida, com ou sem comunidade. Sinto que isso é algo importante onde o mundo inteiro pode utilizar e modificar sem restrições, tudo em nome do código aberto.

1
2