Esta referência é baseada na norma ABNT NBR 15606-2:2007 relativa ao
middleware Ginga da TV Digital Brasileira.
Ela extrai da norma tudo o que é referente a NCLua, ou seja,
basicamente a especificação das novas bibliotecas adicionadas a Lua.
Além disso inclui mais informações e utiliza uma formatação mais apropriada
para leitura online.
Módulos:
As novas bibliotecas são divididas em módulos essenciais onde cada um exporta
um conjunto de funções de seu domínio, são eles: event, canvas,
persistent e settings.
Cada novo módulo possui documentação própria:
Módulo event:
O modelo de execução de um NCLua é todo orientado a eventos.
Módulo canvas:
Um NCLua tem a possibilidade de fazer operações gráficas durante a
apresentação de uma aplicação, tais como desenho de linhas, círculos,
imagens, etc.
Módulo persistent:
Módulo settings:
Características:
Um fato comum entre estes novos módulos é o de serem extremamente simplistas.
Eles não tentam de forma nenhuma definir um modelo de programação ou esgotar
em APIs todo possível tipo de uso.
O que eles oferecem de maneira geral são acessos a primitivas disponíveis em
qualquer sistema computacional.
Algumas vantagens dessa abordagem:
Não define uma forma amarrada de desenvolvimento de aplicações que pode
não fazer sentido com a evolução do padrão e do mercado.
A definição é pequena, sucinta e de fácil entendimento.
Atualmente são aproximadamente 30 funções ou tipos.
A implementação é bastante óbvia, com um mapeamento próximo de 1:1 com o
sistema de implementação do middleware, portanto pequena e com pouca margem
a comportamentos não padronizados.
Fomenta o desenvolvimento de frameworks, game engines, etc, portáveis e
com utilidades diferentes sobre a mesma API.
Por ter uma interface mais baixo-nível permite o desenvolvimento de
novos players e até mesmo aplicações nativas portáveis entre set-tops.