Executando verificação de segurança...
13
rsaz
6 min de leitura ·

Pitch: ExpressoTS um framework nodejs/typescript Brasileiro - Richard, ExpressoTS e um convite a você!

Quem sou eu

Olá pessoal, antes de mais nada, me chamo Richard Zampieri e sou Brasileiro! :)
Já trabalhei em diversas empresas no Brasil, China, Europa e nos últimos quase 7 anos trabalhando e morando no Canadá. Tive oportunidade de trabalhar em projetos grandes como montagem da fabrica da Foxconn em SP/Jundiai e Indaiatuba para produção dos equipmentos da Apple e injeção do software, como na Positron com rastreamento e alarme, Fleury com integraçoes de sistemas clínicos e SAP, e mais recentemente como Líder técnico da Hitachi/Wenco na criação de uma ISO/AWI 23725 ( FMS interface to autonomous haulage ) que define como deve ser uma interface para carro autônomo na área de mineração. Atualmente trabalho para Imdex Limited como líder técnico desenvolvendo uma engine de renderização de modelos geostatísticos para exploração de minério, óleo e gás.
Já fui eleito pela Revista ComputerWorld como os 100 melhores CIO's do Brasil nr 67 e tambem fui professor universitário da LaSalle College Vancouver por 5.8 anos no curso de bacharelado em desenvolvimento de jogos, e já tive diversos alunos brasileiros que estudaram comigo e hoje estão na indústria de jogos em grandes empresas como EA, RockStar, Ubisoft, Coallition e por ai vai.

Trabalho atualmente com

  • C++
  • C#
  • Nodejs/Typescript
  • Python

Contexto

Resolvi começar o texto me apresentando dessa forma, que nem no Linkedin e na twitch onde faco streaming ocasionalmente me apresento, pelo simples motivo de dar um contexto para o conteúdo real desse post, que é, o ExpressoTS Framework.

Com certeza não vou conseguir expressar tudo que gostaria nesta publicação, então muitas coisas provavelmente vão ficar em aberto para discussões, o que é saudável. Se quiser conhecer de fato minha linha de pensamento a gente pode conversar na Twitch onde faco streaming ou pelo discord, ou me envie um email e conversamos.

Bom, tive a sorte de ter trabalhado em varias linhas de negocio e feito varios projetos para a industria privada, e alguns poucos, mais muito poucos para Open Source. Sempre entendi a importância de projetos Open Source e agora no atual momento que a tecnologia transforma a área de desenvolvimento, a colaboração, criação e compartilhamento se fazem mais que vitais para o contínuo crescimento da área de engenharia de software, diria até a sobrevivência.

Quando trabalhando no Brasil, sempre foi muito corrido desenvolver tecnologia, é a nossa vida, a gente acorda cedo, vai pro trabalho, investe e é pago, pelas nossas melhores horas do dia pra contribuir para um produto da iniciativa privada. Nada de errado com isso, mas o que sobra pra gente compartilhar com a comunidade?
Acho que muitos de vocês talvez se reconheçam nessa história, pois é a vida de muitos, a gente chega cansado e não consegue trabalhar em mais nada.

Além desta questão eu sempre fiquei um pouco frustrado com o fato de termos tanta gente boa no Brasil mas nenhuma tecnologia de nome internacional que elevasse a gente a uma categoria de criadores de tecnologia ao invés de consumidores de tecnologia. Acho que as únicas technologias que desenvolvemos até hoje foram o elixir e o lua. Já tivemos a nossa distribuição linux kurumim mas é isso, desconheço outras que representem o Brasil no cenário internacional. Sempre imaginei que podemos fazer mais e podemos chegar lá.

A minha mudança de país, hoje morando no Canada, tive condições de ter uma vida mais organizada onde consigo investir tempo em pesquisa e desenvolvimento e contribuir não só com a industria privada mas com Open Source. Foi nesse sentido e com essas idéias em mente que comecei a contribuir mais forte com o Open Source nos últimos 4 anos. Daí nasceu o ExpressoTS :)

ExpressoTS Framework

Antes de você questionar, nossa mais um framework no cenário!!! nós precisamos entender a big picture. Framework não é bala de prata mas é outra abstração para facilitar e acelerar o desenvolvimento de software. Nesse sentido não é diferente de uma linguage de programação ou paradigma de desenvolvimento, pois ambos tentam definir um padrão de como desenvolver aplicações rapidamente e de maneira escalável.

O ExpressoTS não é melhor que o NestJS, ou Angular, ou .NET Core, ou Spring Boot, na verdade, ele é o resultado de experiências e boas práticas tidas com esses frameworks. O que o ExpressoTS tenta entregar é uma experiência de documentação atualizada e fácil de entender, além de evitar que o desenvolvedor gaste tempo em boilerplate toda vez que ele precise iniciar um novo projeto, por exemplo como definir estrutura de projeto, definir banco e criar conexão com banco, escolher e configurar ORM, definir método de autenticação e aí acho que você já entendeu onde quero chegar.

Recentemente fizemos o benchmark do ExpressoTS com outras ferramentas como Nestjs, Adonis e até mesmo em outros frameworks, e adivinha o que descobrimos? O ExpressoTS tem a mesma performance, se não melhor em alguns quesitos em relação aos outros frameworks, que no final do tempo de respota produtivo de 1000 usuários concorrents com 59k transações, o tempo médio de reposta era de 8.9ms, ou seja, novamente tão rápido quanto qualquer outro framework. O que faz sentido, pois usamos o mesmo http server, ou express ou fastify.

Então o que torna o ExpressoTS tão diferente? A simplicidade, a extensibilidade, e o fato de estar sendo desenvolvido somente por brasileiros. Abri o projeto publicamente no início deste ano no github, pois o mesmo vem sendo desenvolvido desde o início da pandemia, e todo mundo é bem vindo para poder contribuir. Temos reuniões semanais, no sábado as 16h no horário de Brasilia, onde discutimos o estado atual e o que vamos implementar. Todos são bem vindos! Na verdade, mais cabeças, melhores idéias.

Recebo constantemente mensagens de comunidades de TS e Nodejs aqui na gringa querendo participar do desenvolvimento de maneira mais ativa. Entendo que seja um erro estratégico não permitir que essas pessoas entrem nesse momento, ajudando na espanção do projeto internacionalmente. Mas o que para uns seja um erro estratégico que impeça o framework de avançar mais rápido, na minha visão não, quero poder segurar o quanto puder, pois no momento tem sido uma forma de dar oportunidade para a comunidade brasileira desenvolver tecnologia, ao invés de aceitar os PRs internacionais. Vamos ver até quando conseguimos segurar isso.

Pronto para Produção

Hoje ainda não fizemos um lançamento oficial pois nossa página institucional está em desenvolvimento, mas o projeto já é produtivo e está funcionando em 4 empresas, onde damos suporte diretamente. O lançamento oficial está chegando nas próximas semanas.
Quanto maior a adoção, mais problemas temos, o que ajuda a solidificar e melhorar o framework ainda mais. Então, tragam problemas. :)

Aqui está a documentação oficial em contínua melhoria.

Convite

Se você tiver a oportunidade de ler esse texto até aqui, considere contribuir com o projeto dando uma estrela no projeto Star ExpressoTS, revisando a documentação, traduzindo, fazendo QA, subindo sua PR com ideias, entrando no discord, e etc.

Essa é a forma mais efetiva para esse framework brasileiro tomar seu lugar nas estrelas junto com Nestjs como uma forte alternativa para server side applications enterprise solution.

Também uma oportunidade de você mergulhar em problemas complexos que é construir um framework e aprender a fundo conceitos que não fazem parte do nosso dia a dia de criação de CRUDs.

Conclusão

O objetivo deste post é te apresentar o projeto e dizer que você é mais que bem vindo para contribuir com projeto além de poder explicar um pouco da história do projeto e quem está por de trás da iniciativa.

Espero que esse convite te instigue a contribuir para o sucesso do ExpressoTS. E ouvir sua opinião sobre a iniciativa é bem importante.

Mensagem Final ao Dev

Olá, Dev
Obrigado por embarcar conosco nesta jornada para criar uma experiência de desenvolvimento ambiciosa e empolgante que está sempre melhorando. 🎉🎉🎉

ExpressoTS é tão simples, porém eficiente em fazer o trabalho. Queremos continuar fazendo isso, abstrair todas as complexidades que o mundo do desenvolvimento de software traz e facilitar a construção do seu próximo projeto.

Se você pensar a respeito, cada funcionalidade de linguagem de programação, framework construído, é para acelerar seu processo de desenvolvimento, no entanto, estamos continuamente falhando em fornecer uma boa documentação, boa experiência para o desenvolvedor, além de reduzir a quantidade de código boilerplate que você precisa escrever. Tudo deveria simplesmente funcionar!

Este é o nosso compromisso, tornar a sua vida mais fácil, e fazer com que você seja mais produtivo.

Estamos muito abertos a feedbacks, ideias e contribuições. Somos um projeto impulsionado pela comunidade, e queremos ouvir de você.

Obrigado novamente por fazer parte desta jornada conosco, Happy Coding! 🚀

Carregando publicação patrocinada...
1

Sou suspeito para falar, pois faço parte da equipe do ExpressoTS, mas posso dizer que a experiência de desenvolvimento é incrível. Adoro como os princípios do SOLID são respeitados no framework, facilitando o foco nas regras de negócio. Foi por essas e outras razões que me apaixonei pelo framework e decidi me envolver mais de perto em seu crescimento. Recomendo enfaticamente que vocês o testem! Vamos prestigiar o que é feito aqui no Brasil.

1

Se você é suspeito para falar do ExpressoTS, eu sou suspeito para falar de você :)
Obrigado pelo comentário Ariel, você tem sido uma peça importante no time. Obrigado pela disciplina nas reuniões, em desafiar o projeto, construir com a gente e usar o ferramental que criado. Vamos nessa, pois temos muito trabalho para fazer!

1

Esse projeto é sensacional, e convido todos vocês devs a participarem e contribuirem, tenho certeza que vão aprender muito com suas participações nesse projeto, além de que o Richard é uma pessoa sensacional e é muito fácil se comunicar com ele.

Eu não faço parte do Core Team, mas ja deixei minha marca no projeto com 1 PR simples, mas que com certeza vai agregar muito quando alguém precisar saber como subir o projeto em um container Docker. Essa foi minha primeira contribuição e pretendo contribuir muito mais com o projeto!

Devs, não tenham receio de falar ou contribuir... é mais simples e fãcil do que vocês pensam
1

@thayto, obrigado pelos comentários e as contribuições suas para o projeto. O convite está de pé pra você fazer parte do core, basta você estalar os dedos que a gente trabalha junto. Obrigado novamente, sei que tem seus projetos pessoais, mas por aqui as portas estão abertas meu amigo.

1
1

Uriel, essa eh uma excelente dica. No roadmap, o proximo passo eh sermos HTTP agnostico, hoje damos suporte exclusivamente ao express, e na linha de producao esta vindo fastify e posteriormente trpc.

Ano passado consideramos usar o Lithium e construir o proprio web server em C++ e injetar no node usando NAPI, mas com pouca gente que tinhamos isso iria atrasar o roadmap inicial. Mas com certeza, esses elementos nao estao discartados, falta gente so pra implementar.

1
1

Marcos, conta de mais, bem lembrado, tivemos a Conectiva, eles foram incorporados por uma empresa francesa, pura verdade.

1

Parabéns, Richard, pelo ExpressoTS! Sinto-me extremamente orgulhoso de fazer parte deste projeto excepcional. Acredito firmemente nos princípios fundamentais do ExpressoTS, como a busca pela simplicidade, extensibilidade e documentação completa. Trabalhar em conjunto com uma equipe talentosa de desenvolvedores brasileiros é um diferencial incrível e me enche de felicidade por poder contribuir e colaborar. Estou entusiasmado em continuar participando e ajudando a impulsionar o sucesso do ExpressoTS, elevando ainda mais o nome do Brasil como criador de tecnologia. Juntos, estamos construindo algo incrível!

1

@Juliano, privilegio eh nosso de termos um MsC da Unicamp trabalhando no projeto. Muito obrigado por acreditar no projeto e ser ativo contribuidor. O projeto nao estaria nesse ponto se pessoas como voce nao estivem ajudando.

Muito obrigado.