Skip to main content

Como Funciona a Biblioteca Luminus

Visão Geral

A Luminus é uma biblioteca de componentes cross-platform projetada para a construção de interfaces de usuário para aplicativos nativos Android e iOS. Embora seja focada no desenvolvimento mobile, ela é construída sobre uma base familiar para desenvolvedores web: React.

Tecnologias Utilizadas

A biblioteca é totalmente escrita em TypeScript para garantir maior robustez. Para a estilização, ela utiliza uma combinação poderosa de:

Tailwind CSS

A estilização dos componentes é baseada nas classes de utilitários do Tailwind. Essa abordagem permite que desenvolvedores front-end, já acostumados com o desenvolvimento web, criem layouts complexos e designs responsivos de forma rápida e intuitiva, reutilizando seu conhecimento em um novo contexto.

DaisyUI

Como um conjunto de componentes e classes pré-configuradas sobre o Tailwind, o DaisyUI agiliza o processo de criação, oferecendo estilos prontos para uso e temas que podem ser aplicados facilmente.

Filosofia de Design

A principal filosofia por trás desta biblioteca é capacitar desenvolvedores front-end que se destacam na criação de interfaces web. Acreditamos que a expertise deles em design e layout pode ser diretamente aplicada ao desenvolvimento mobile.

Ao utilizar a sintaxe e a lógica do React em conjunto com as classes do Tailwind, a transição do desenvolvimento web para o mobile se torna mais suave e produtiva. A biblioteca permite que você crie telas para mobile sem sair da sua "caixinha" de ferramentas e conhecimentos.

Vantagens Estratégicas

A adoção dessa biblioteca oferece uma vantagem estratégica significativa tanto no mercado de talentos quanto no processo de desenvolvimento:

  • Unificação de Expertise: Conseguimos unir a força e a expertise de desenvolvedores para aplicativos nativos com a agilidade e o ritmo de entrega característicos de desenvolvedores web em um único ponto.

  • Facilidade de Contratação: O mercado conta com uma vasta e talentosa comunidade de profissionais de front-end, facilitando a atração de talentos.

  • Progressão de Carreira: Programar eitri-apps utilizando Luminus na interface tem sido um bom caminho para a progressão de carreira de muitos, validando essa abordagem como uma rota eficaz para o desenvolvimento de aplicativos mobile.

Fluxo de Desenvolvimento e Compilação

O fluxo de trabalho é centralizado na compilação em servidor. O código que o desenvolvedor escreve localmente não é executado em sua máquina. Em vez disso, ele é enviado para um servidor do Eitri, que nós chamamos carinhosamente de Forge.

O Forge - Motor de Transformação

O Forge atua como o motor de transformação: ele recebe o código (combinando React, Tailwind, DaisyUI e Luminus), transforma e o envia para telas do celular. O resultado dessa compilação é visualizado instantaneamente na tela do telefone do desenvolvedor, por meio de um aplicativo nativo para Android ou iOS chamado Eitri-Play.

Importante: O resultado da compilação só é visualizável através de aplicativos nativos que possuem a biblioteca Eitri integrada e não é possível de ser visualizada em navegadores de internet. Portanto você precisará ter ao menos um aparelho celular (Físico ou simulador) para testar.

Luminus UI

Condições Técnicas e Regras

Dentro deste fluxo, existem algumas condições técnicas e regras importantes:

Uso de Tags

Não é possível utilizar tags HTML diretamente no código. Apesar de ser um ambiente derivado do React, reforçamos que há diversas transformações de código em nosso Forge, forçando o desenvolvedor a usar uma lista fechada de tags. A biblioteca Luminus fornece um conjunto de componentes abrangentes que suprem a necessidade de qualquer tag HTML, garantindo a renderização nativa de forma otimizada.

Segurança de Conteúdo

Dados HTML provenientes de sistemas de gerenciamento de conteúdo (CMS) podem ser renderizados. Isso é feito através de componentes específicos que não apenas processam o HTML para exibição, mas também realizam uma checagem rigorosa para identificar e interromper qualquer tipo de script malicioso ou ameaça vinda de APIs de conteúdo.

Arquitetura Modular e Escalabilidade

A arquitetura da biblioteca é projetada para a escalabilidade, permitindo que cada eitri-app funcione de forma completamente independente. Isso significa que equipes diferentes podem trabalhar em jornadas distintas sem impacto ou dependência entre si.

Exemplo Prático: E-commerce

Em um e-commerce, sua empresa pode dividir a aplicação em módulos como:

  • Home
  • ProductDetail
  • Account
  • Cart
  • Checkout

Cada um desses eitri-apps pode ser cuidado por uma equipe dedicada, com ritmos de trabalho e cronogramas de entrega completamente distintos. O processo de deploy também é isolado e independente para cada módulo, garantindo autonomia total e agilidade para cada jornada.

Luminus UI

Benefícios da Abordagem

  1. Desenvolvimento Rápido: Reutilização de conhecimento web
  2. Equipes Independentes: Trabalho paralelo sem conflitos
  3. Deploy Isolado: Cada módulo pode ser atualizado independentemente
  4. Manutenção Simplificada: Código familiar para desenvolvedores web
  5. Performance Nativa: Renderização otimizada para mobile
  6. Segurança: Proteção contra scripts maliciosos