Documentação
https://thf.totvs.com.br/12.1.17
Arquitetura
Licenciamento
Verifique as licenças das bibliotecas utilizadas pelo THF.
Customizações
Para obter suporte sobre customizações ou desenvolvimento de específicos procure a Fábrica de Software da TOTVS.
Clique aqui e confira o que precisa conhecer para customizar produtos que utilizam o THF.
Clique aqui e veja como customizar o THF.
Web Services
O THF utiliza nos seus componentes o padrão REST para comunicação com o back-end.
Pesquise no TDN informações sobre o desenvolvimento ou uso de serviços REST dos produtos TOTVS (exemplos: frameworkjoi, frameworksp):
Frameworks e Bibliotecas Adotadas
AngularJS
AngularJS é um framework de desenvolvimento HTML que facilita as seguintes implementações:
- Single Page Application: É o comportamento apresentado por uma aplicação WEB que não restaura toda a tela (HTML) do browser a cada interação do usuário. Esse recurso pode ser implementado diretamente usando JavaScript, porém o AngularJS facilita em muito o desenvolvimento.
- Two Way Data Binding: É um recurso que faz com que as alterações realizadas nos dados que vieram do servidor reflitam automaticamente nos objetos DOM do HTML (na tela), e vice-versa. Esse recurso pode poupar até 80% em códigos normalmente escritos para essa tarefa.
- Templates: Um arquivo HTML para o Angular JS é apenas um template, um conjunto de objetos DOM manipuláveis, que por meio de Directives (explicadas abaixo) permite o desenvolvimento de telas HTML dinâmicas, poupando novamente extensos códigos para tal tarefa.
- Directives: É um recurso que permite a criação de novos atributos ou até mesmo novos elementos (tags) HTML, como se fosse uma macro que em tempo de execução, respectivamente, alterasse o comportamento de uma componente HTML já existente ou inserisse todo um conjunto de elementos necessários para um determinado componente visual, novamente economizando muitas linhas de código, desde que reutilizados.
- MVC (Model-View-Controller): É um padrão de desenvolvimento que separa distintamente os dados (Model) da camada de apresentação (View) por meio de uma camada intermediária que como o nome já diz (Controller) controla a comportamento, a comunicação entre as outras duas. O uso deste padrão, além de facilitar o entendimento do código produzido, permite a reutilização de cada uma das camadas.
- Dependency Injection: É um recurso que permite o fácil acesso, sem código específico para tal, aos serviços disponíveis no Angular JS ou até mesmo a serviços disponíveis pela aplicação em questão.
- Expressions: É um recurso que permite a inserção de pequenos códigos (ou referências) diretamente nos templates HTML, economizando assim o desenvolvimento de linha de códigos para a manipulação dos objetos visuais (DOM).
Filters: É um recurso de manipulação de dados sem código. Um dado, ou conjunto de dados, pode ser formatado, filtrado, ordenado ou até paginado, sem que haja necessidade de desenvolver código específico para tal.
- Service Providers: É um recurso que permite a criação, o desacoplamento, de serviços reutilizáveis que normalmente seriam codificados dentro de controllers, permitindo assim a fácil reutilização dos mesmos.
Existem ainda outros recursos no Framework Angular JS que aumentam a produtividade, mas estes são os mais expressivos.
Bootstrap
Bootstrap é um framework/biblioteca de desenvolvimento HTML que tem como grande atrativo a responsividade, que é a capacidade da tela se adequar ao dispositivo onde a mesma esta sendo apresentada.
Porém ele também oferece um bom conjunto de componentes visuais já prontos, mas que podem ser customizados via CSS para se adequar ao estilo visual do site/aplicativo.
Embora existam outras bibliotecas similares, mas o Bootstrap, devido a sua facilidade de aprendizado e de utilização, se tornou padrão de fato no mercado.
jQuery
O jQuery é uma biblioteca JavaScript que facilita em muito a manipulação da estrutura DOM de uma tela HTML.
A comunidade jQuery é bem consolidada é possível encontrar centenas de componentes visuais (plug-ins) prontos para serem utilizados.
A biblioteca é tão consolidada que tem sido consistentemente estendida ou utilizada inclusive por outras bibliotecas e framework, como por exemplo o próprio Angular JS, que utiliza uma versão simplificado do mesmo.
RequireJS
Utilizado nativamente no THF até o release 12.1.11
Biblioteca JavaScript que permite o carregamento dinâmico de recursos e dependências, além de realizar o gerenciamento de cache para evitar de realizar diversas requisições para o mesmo artefato.