# JClic

JClic é um ambiente para a criação, realização e avaliação de atividades educativas multimídia, desenvolvido em linguagem de programação Java. É uma aplicação de software livre basada nos padrões abertos que funciona em diversos sistemas operacionais: GNU/Linux, Mac OS X, Windows e Solaris.

## Características

O projeto JClic é uma evolução do programa Clic 3.0, uma ferramenta para a criação de aplicações didáticas multimídia com mais de 10 anos de história. Vários educadores e educadoras o utilizaram para criar atividades interativas onde são trabalhados aspectos processuais de diversas áreas do currículo, desde educação infantil até secundária.
Os objetivos ao iniciar o projeto foram:
* Tornar possível que as pessoas criem jogos e produzam atividades que podem ser divertidas
* Tornar possível o uso de programas educativos multimídia online, através da Internet.
* Manter a compatibilidade com as aplicações Clic 3.0 existentes.
* Tornar possível seu uso em diversas plataformas e sistemas operacionais, como Windows, GNU/Linux, Solaris ou Mac OS X.
* Utilizar um formato padrão e aberto para o armazenamento dos dados, com o fim de fazer-las transparentes a outras aplicações e facilitar sua integração em repositórios de recursos.
* Ampliar o âmbito de cooperação e intercambio de materiais entre escolas e educadores de diferentes países e culturas, facilitando a tradução e adaptação tanto do programa como das atividades criadas.
* Acolher as sugestões de melhorias e extensões que os usuários enviam.
* Tornar possível que o programa possa ir se ampliando a partir do trabalho cooperativo entre diversas equipes de programação.
* Proporcionar um ambiente de criação de atividades mais potente, simples e intuitivo, adaptando-o às características dos atuais ambientes gráficos de usuários.
* Tornar o aluno também parceiro e produtor de conteúdo par seu próprio aprendizado e divertimento;
A ferramenta de programação escolhida foi Java, e o formato para armazenar os dados das atividades é XML.

## Componentes

* JClic applet, é um applet que permite embutir as atividades JClic em una página web.
* JClic player, um programa independente que uma vez instalado permite realizar as atividades desde o disco rígido do computador (ou desde a rede) sem que seja necessário estar conectado a internet.
* JClic author, uma ferramenta de autor que permite criar, editar e publicar as atividades de uma maneira mais simples, visual e intuitiva.
* JClic reports, um módulo de recolhimento de dados e geração de relatórios sobre os resultados das atividades feitas pelos alunos.
O primeiro módulo (applet) faz o download automaticamente na primeira vez que se visita alguma página que contenha um projeto JClic embutido. Os outros três podem ser instalados no computador mediante Java WebStart desde a sua página de download.

## Compatibilidade e novas possibilidades

O desenvolvimento do JClic foi feito com a intenção de respeitar ao máximo a compatibilidade com o programa Clic 3.0, de maneira que os pacotes de atividades existentes possam ser automaticamente reconhecidos pela nova plataforma.
Estas são algumas das novidades do JClic com respeito a Clic 3.0:
* Uso de ambientes gráficos de usuário ("skins") personalizáveis, que contém os botões e outros elementos gráficos que enquadram as atividades.
* Uso de gráficos BMP, GIF, JPG e PNG.
* Incorporação de recursos multimídia em formato WAV, MP3, AVI, MPEG, QuickTime e Flash 2.0, entre outros, assim como de GIF animados e com transparência.
* Sons de eventos (clicar, relacionar, completar, acertar, falhar...) configuráveis para cada atividade ou projeto.
* Geradores de formas ("shapers") que controlam o aspecto das caixas das atividades: não é necessário que sejam sempre retangulares.
* Melhoras visuais: possibilidade de escrever código HTML nas caixas, fontes TrueType embutidas, texto com estilos, uso de gradientes e cores semitransparentes.
* Novas características das atividades: tempo máximo, número máximo de tentativas, ordem de resolução, atividades de memória com dos blocos de conteúdo, etc.
Pode-se ver essas características em funcionamento no pacote de atividades de demonstração de JClic.

## Arquitetura aberta

A arquitetura aberta permite ampliar ou adaptar suas funcionalidades em diversos aspectos. Pode-se criar novos módulos Java que estendam o funcionamento do programa em:
* Novos tipos de atividades, ampliando a classe abstrata "Activity".
* Sistemas de criação automática de conteúdos, a partir da classe abstrata "AutoContentProvider" (neste momento a única implementação desta classe é o módulo "Arith").
* Entornos gráficos de usuário, ampliando a classe "Skin" ou fornecendo novos esquemas XML a "BasicSkin".
* Motores primários de execução de atividades, ampliando "ActivityContainer".
* Geradores de recortes e formas, ampliando a classe abstrata "Shaper".
* Sistemas de informes, ampliando a classe "Reporter".
É um projeto de software livre que o Departamento de Educación de la Generalitat de Cataluña põe a disposição da comunidade sob os termos da licença pública geral GNU (GPL). É possível utilizá-lo, distribui-lo e modificá-lo livremente sempre que se respeitem determinadas condições, cabendo destacar o reconhecimento de autoria e a continuidade da licencia GPL em qualquer obra derivada. O código fonte de JClic está disponível na plataforma de desenvolvimento.

## Formatos de dados

Os dados do JClic são armazenados em formato XML. Isso permite sua integração em bancos de recursos de estrutura complexa, assim como a reutilização dos projetos JClic em outras aplicações.
JClic trabalha com dois tipos de registros:

### Extensão .jclic

São documentos XML que contém a descrição completa de um projeto JClic. A estrutura destes documentos está descrita no esquema XML jclic.xsd. O elemento raiz dos documentos jclic tem o nome <JClicProject> e contem quatro elementos principais:
* <Settings>, informação sobre os autores do projeto, descritores temáticos, revisões, etc.
* <Activities>, contém elementos do tipo <activity> que definem o funcionamento e as características próprias de cada atividade.
* <Sequence>, descreve a ordem em que se deve apresentar as atividades e o comportamento dos botões de avançar e voltar.
* <MediaBag>, relação do nome e a localização de todos os conteúdos necessários para executar as atividades: imagens, sons, vídeo, MIDI, fontes TTF, etc.

### Extensão .jclic.zip

São registros ZIP padrão que contém um único documento .jclic e alguns ou todos os conteúdos (imagens, arquivos multimídia, etc.) necessários para executar as atividades. O uso deste formado permite compactar um projeto em um único arquivo. Além destes dois formatos, JClic é capaz também de importar os registros PAC y PCC do Clic 3.0.

## Internacionalização

Todos os textos e mensagens de JClic se encontram em pastas externas, com o fim de simplificar sua tradução a outros idiomas. Tanto os textos do programa como os das atividades se encontram em formato Unicode. Isso permite utilizá-lo com alfabetos e sistemas de escrita ocidentais. O programa suporta também a representação e escrita bidirecional (direita-esquerda ou esquerda-direita) quando o idioma utilizado assim requer.
O projeto de desenvolvimento está aberto a participação de todos os que queiram elaborar traduções do programa a outros idiomas. Atualmente o programa foi adicionado à plataforma de tradução de software livre Launchpad.