TOTVS HTML Framework - Um projeto Angular Tupiniquim (Um breve relato)
Olá mundo!
Voltei a trabalhar na Totvs há 4 anos e praticamente dediquei esses anos inteiros na criação e manutenção do THF, um framework para desenvolvimento de aplicações web, um projeto Tupiniquim, 100% brasileiro e que em breve será aberto a todos.
Mas afinal, por que criar mais um framework com tantos outros no mercado?
Para dar mais contexto ao por que das coisas é importante entender que a Totvs nasceu com a fusão da Microsiga e a Logocenter e mais tarde cresceu com a aquisição de outras grandes empresas como a Datasul, RM Sistemas, Bematech e muitas outras, com isso não existia uma identidade única para a empresa e a experiência do usuário não era das melhores já que muitas vezes precisava navegar entre as muitas soluções que a Totvs ofertava.
Essas soluções variavam desde a tecnologia até a metodologia utilizada para desenvolvimento e entrega da solução.
Resumindo: para o cliente era um caos.
A Totvs precisava de uma solução que:
- acelerasse o desenvolvimento web dos times de segmento;
- ajudasse na conversão das soluções desktop para soluções web;
- possibilitasse que as soluções Totvs rodassem em Cloud;
- deixasse os produtos mais modernos;
- trouxesse inovação a empresa;
- criasse uma identidade única para os produtos da Totvs; e
- o desafio mais difícil de todos, ser colaborativo dentro da empresa, um projeto sem dono, onde todos pudessem contribuir.
E tudo isso no menor tempo possível e reaproveitando o máximo do que já existia dentro da companhia de código legado.
No mercado não existia algo focado em produtos corporativos com alta produtividade e qualidade, as soluções existentes eram complexas para iniciantes se aventurarem no desenvolvimento web, ou permitiam uma customização limitada, as que se aproximavam do que necessitávamos eram pagas (e bem pagas) e ficaríamos dependentes de mais um fornecedor.
Pelos desafios, por esses pré-requisitos e pela dificuldade de achar algo pronto que se encaixasse a nossa necessidade, foi que decidimos fazer nosso próprio framework.
Esqueci de comentar, mas é importante saber também que a maioria dos times estava iniciando no desenvolvimento web, a maioria esmagadora vinha de tecnologias mais “maduras” 😜, muitos nem conheciam o básico do HTML.
Eu inclusive, vim do Delphi, mas isso é papo para outro dia.
O início de tudo
Na época o que tinha de mais moderno para desenvolvimento web era o falecido Angular.JS (que Deus o tenha) e o Bootstrap, então foram usados como base para o nosso framework.
As bibliotecas de componentes para Angular.JS (entre outras tecnologias) não eram tão produtivas quanto a Totvs precisava, sem contar que para as soluções finais (produto do segmento) muito código acabava ficando repetitivo e complexo por mais simplificada que a biblioteca tentasse ser, sem contar que por ter muitos times de desenvolvimento era difícil padronizar o uso para todos.
Pensando nisso, a Totvs iniciou o desenvolvimento do TOTVS HTML Framework, conhecido também pelos mais íntimos como THF, com poucos desenvolvedores, sem um time focado exclusivamente para esse fim.
Assim, em meados de 2015, nasceu a primeira versão do THF.
Com vários problemas, e até alguns bugs (quem nunca), com descrença de alguns, aos trancos e barrancos, mas com amor e lágrimas, foi usado por muitos e odiado por outros, mas essa foi nossa primeira versão do THF.
O suporte oficial para esse framework foi até 31/12/2018, o último patch lançado foi na versão 12.1.17-fix013, hoje, o mesmo encontra-se depreciado, mas serviu de base para vários produtos da Totvs.
Link oficial: https://thf.totvs.com.br/12.1.17
Com mais ou menos 1 ano de vida, já no inicio de 2016, conseguimos formar um time dedicado com 4 desenvolvedores (1 coordenador), que foi essencial para dar maturidade e estabilidade ao THF.
Mas para evoluir precisamos crescer e mudar
Entre o 1º e 2º trimestres de 2017, o THF expandiu para um time bem maior e lançou uma nova versão do THF baseada no novo framework do Google, na época, o Angular 4 não tinha nenhuma compatibilidade com o Angular.JS.
Sim, tivemos problemas de incompatibilidade, já que adotamos outro framework nessa nova fase, mas compramos a briga e trouxemos inúmeras vantagens e melhorias para os desenvolvedores:
- mais produtividade, componentes bem mais inteligentes;
- mais simplicidade para desenvolver, bem menos código;
- um ambiente muito mais estável com menos bugs e retrocessos, 98% de coverage;
- setup mais simples para iniciantes;
- uma interface muito mais moderna, projetada em conjunto com o time de UX da Totvs;
- documentação viva, atualizada a cada nova entrega; e
- exemplos, muitos exemplos para facilitar a vida de quem está iniciando.
Nosso portal de documentação foi remodelado, reescrito com o próprio THF, adotamos metodologias modernas e passamos a fazer entregas semanais.
Atualmente o THF está na versão 3.1.0, está publicado no NPM e tem atualizações semanais. Sua documentação é pública e encontra-se no link http://thf.totvs.com.br.
Algumas das lições aprendidas no decorrer desses 4 anos
Aprendemos muito sobre como fazer um produto, um framework:
- que atender a todos da melhor forma possível, se colocando no lugar dos desenvolvedores (usuários) e entendendo suas dores de perto, é a melhor política para resolver um conflito / problema;
- que documentação é tão ou mais importante que os componentes que você entrega;
- que o suporte e a comunicação com os desenvolvedores é tão ou mais importante quanto a entrega de uma nova release;
- que testes (unitários, integrados, etc) são essenciais para que a evolução do seu projeto não diminua a qualidade da entrega;
- que boas práticas são o caminho mais curto para se chegar a excelência;
- que sem criatividade e sem curiosidade você só faz mais do mesmo;
- que liberdade para testar novos caminhos e propor novas soluções é diferente de libertinagem e irresponsabilidade; e
- que inovar é uma arte.
Se você gostou ou se interessou pelo projeto, não deixe de visitar o portal com a documentação oficial e participar do fórum para desenvolvedores da Totvs, é aberto e qualquer pessoa é bem vinda.
Em breve estarei postando artigos mais técnicos sobre o THF e como explorar melhor o seu potencial.
Aquele abraço!!!
Jhosef Marks de Carvalho