A Camada de Sistema – INSSL

A camada de Sistema, é a menor camada do framework relativo a código, porém não menos importante já que é a camada mais alta na hierarquia do framework, e é responsável pela orquestração de inicialização do sistema a cada execução.

É na camada de sistema que o INS Launcher funciona, e é desenvolvido em dois tipos de classes distintas:

Classe Launcher
Classe de Aplicação

A classe Launcher é derivada de um QDialog (Responsável pela tela do sistema) , e as classes de aplicação são derivados de um QWidget que é anexado, dependendo das opções disponíveis no Launcher.

Seu modelo de classes é bastante simples:

 

Basicamente a funcionalidade ab<img class="alignleft wp-image-66" src="http://www.insaneframework.com.br/wp-content/uploads/2017/03/Launcher-com-Tela-Codigo-1024×548.jpg" alt="" width="301" height="161" />re a tela do Launcher para que, após a seleção da opção de desenvolvimento desejada seja escolhida e executada , logo após a seleção.

Apesar de sua simplicidade, o Launcher possibilita ao desenvolvedor , além de desenvolver sua aplicação, escolher qual projeto gostaria de executar, alterar os parametros de execução quando desejado , além de poder disparar aplicações de apoio ao desenvolvimento de acordo com sua necessidade.

Esta forma de funcionamento , por exemplo , possibilita em um projeto ser feito a geração de uma base de informações, e no outro a extração do conhecimento contido nesta base, sem que o desenvolvedor precise abrir varios projetos , ou até mesmo gerar códigos e classes alienadas á aplicação , gerando um modelo de dados e de aplicação mais consistentes.

A utilização apropriada desta camada será abordada em tópico específico desta documentação , bem como a definição de todos os parametros a serem utilizados.

Arquitetura

A insane RT Framework possui uma arquitetura hierárquica de 5 camadas e componentes de acesso público estático.

Com esta arquitetura, é possí­vel dar escalabilidade ao projeto , mesmo estando em franco desenvolvimento, ou seja , há ainda diversos componentes em etapa de evolução e desenvolvimento, onde suas interfaces estão sendo definidas apropriadamente.

Com esta arquitetura , é possível também realizar um melhor modelo de aplicação, já que devido aos componentes serem subdivididos por conceito, a duplicação de código é reduzida por design.

Com uma abordagem de desenvolvimento Bottom-Up todos os componentes foram desenvolvidos a partir de componentes próprios nas camadas mais baixas da aplicação(Acesso a Hardware) , bem como possibilitando objetos mais consistentes e funcionalidades mais simples nas camadas superiores do framework.

“As camadas na Insane RT Framework estão sendo aplicadas através de conceitos de camada Lógica e Física, onde as camadas fí­sicas estão implementadas através de dependências presentes na compilação dos componentes que formam a camada, obrigando o programador a seguir impreterivelmente a hierarquia adotada pelo framework.

Nas camadas lógicas, as mesmas serão transformadas em camadas fí­sicas no futuro, e apenas estão sendo consideradas lógicas para possibilitar o franco desenvolvimento das rotinas, sem que sejam gerados esforços demasiados provenientes da mudança constante no modelo de aplicação do componente e suas rotinas.

Introdução

A Insane RT Framework foi designada a ser uma plataforma completa para o desenvolvimento de aplicativos Real-Time.

 

 

 

 

E para tal , foi desenvolvido não apenas componentes que auxiliam no desenvolvimento de uma aplicação desta natureza, mas também a arquitetura em software necessária para que o desenvolvedor não gaste tempo na montagem das dependências e tenha na mesma, camadas e componentes bem definidos para a tarefa que pretende realizar.

Devido a isto foi criado um framework totalmente inovador sob o aspecto de desenvolvimento, onde através dos documentos a seguir, torna-se claro que o mesmo apresenta-se completamente diferente do desenvolvimento convencional apresentado por outros frameworks ao redor do mundo.

Com a Insane RT Framework, o desenvolvedor pode focar-se no desenvolvimento de sua aplicação sem preocupar-se em desenvolver todo o ambiente necessário(Incluindo Interfaces Gráficas), e adicionalmente, pode definir todos os aspectos técnicos da sua aplicação dentro do proprio framework, fazendo-o tornar-se sua própria aplicação.

Adicionalmente, com a utilização do Qt, como plataforma base de desenvolvimento, torna possí­vel realizar o desenvolvimento multiplataforma, sem que seja necessário configurar varios projetos de desenvolvimento para cada plataforma, melhor organização dos componentes e não se preocupar com o ambiente externo a aplicação, já que a abstração de acesso ao sistema operacional e acesso a dispositivos como GPS,Redes,Web,Acelerômetros etc… é realizado através de objetos multiplataforma, retirando do desenvolvedor o fardo de ter que manter e dar manutenção em tais componentes.

Para um melhor entendimento da documentação , bem como entendimento dos designs e arquitetura em software abordada nestes documentos sugerimos fortemente o estudo de dois livros descritos abaixo:

Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems

Este Livro aborda os mais famosos desenhos de arquitetura para softwares real-Time, no qual torna-se de suma importância para o entendimento da arquitetura híbrida da Insane RT Framework, bem como apresentando as vantagens e desvantagens de cada abordagem.

 

 

 

Game Programming Patterns

Este livro aborda os mais famosos design patterns utilizados no desenvolvimento de jogos e aplicativos Real-Time, no qual torna-se de suma importância para o entendimento dos designs codificados em cada um dos componentes do Framework, que diferem de acordo com seu propósito e função.

Esperamos que esta documentação sirva de passo inicial para seu desenvolvimento de aplicativos Real-Time utilizando a Insane RT Framework, e estamos a disposição para qualquer sugestão e melhoria da mesma.