11.07.2015 Views

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Em <strong>NCL</strong>, a realização de algumas tarefas é complicada s<strong>em</strong> auxílioimperativo, tal como processamento mat<strong>em</strong>ático, manipulação sobre textos,animações complexas e colisões para objetos gráficos, enfim, de modo geral,tarefas que necessit<strong>em</strong> da especificação de algoritmos e estruturas de dadosque não aquelas providas de forma nativa pela linguag<strong>em</strong>.Objetos imperativos pod<strong>em</strong> ser incluídos <strong>em</strong> documentos <strong>NCL</strong>definindo novos tipos de el<strong>em</strong>ento , cujo conteúdo (localizado atravésdo atributo src) seria composto por códigos <strong>em</strong> alguma linguag<strong>em</strong>imperativa 3 . Por ex<strong>em</strong>plo, os perfis BDTV e EDTV da <strong>NCL</strong> para o Sist<strong>em</strong>aBrasileiro de TV Digital terrestre inclu<strong>em</strong> os tipos application/x-ncl-<strong>NCL</strong>ua,para objetos de mídia com código Lua (extensão de arquivo .lua), eapplication/x-ginga-<strong>NCL</strong>et, para objetos de mídia com código Java (Xlet)(extensão de arquivo .class ou .jar), esse último só para dispositivos fixos. ARecomendação H.761 para serviços IPTV inclui apenas o tipo application/xncl-<strong>NCL</strong>ua.Alguns requisitos dev<strong>em</strong> ser cumpridos na integração de linguagensdeclarativas e imperativas.No caso de linguagens declarativas e imperativas já especificadas eimpl<strong>em</strong>entadas, deve-se mexer o mínimo nas linguagens, para evitar osurgimento de dependências mútuas que comprometam a evoluçãoindependente de cada uma delas.Linguagens declarativas, como a <strong>NCL</strong>, são facilmente compreendidaspor autores de conteúdo audiovisual que não possu<strong>em</strong> base de programação,ao contrário de linguagens imperativas. Sendo assim, na integração delinguagens declarativas e imperativas, também é desejado que haja o mínimode intercalação entre seus códigos de modo a simplificar a divisão de tarefasentre equipes de profissionais técnicos e não-técnicos <strong>em</strong> linguagens deprogramação.Por fim, <strong>em</strong> apresentações multimídia, o documento declarativo deve sero componente-mestre no qual todos os relacionamentos entre entidades daaplicação, sejam elas declarativas ou não, dev<strong>em</strong> ser definidos explicitamente(por meio de el<strong>em</strong>entos da linguag<strong>em</strong> declarativa), impedindo que entidadesimperativas sobrepuj<strong>em</strong> essa hierarquia por meio de acessos diretos àestrutura do documento.3 Dev<strong>em</strong>os mais uma vez enfatizar que <strong>NCL</strong>, como uma linguag<strong>em</strong> cola, não restringe n<strong>em</strong> prescrevequalquer tipo de objeto de mídia. Assim poderíamos também ter objetos de mídia com código puramentefuncional, ou <strong>em</strong> uma linguag<strong>em</strong> lógica etc. Esses novos objetos poderiam até seguir as mesmas definiçõesdadas neste capítulo. No entanto, vamos, no momento, nos restringir a objetos imperativos, ou seja, cujoconteúdo é definido por trechos de código especificados <strong>em</strong> uma linguag<strong>em</strong> seguindo o paradigmaimperativo, incluindo linguagens, como Lua, que não são puramente imperativas.361

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!