Arquivo

Arquivo da Categoria ‘Open Source’

as3ocalelibrary

14, Junho, 2009 yarcub Nenhum comentário

Desde ontem está disponível no Google Code o código fonte, documentação e um novo exemplo que melhor demonstra como utilizar a livraria.

Mais uma vez, feedback é sempre bem-vindo.

http://code.google.com/p/as3localelibrary/

Conteúdo Localizado em AS3

11, Abril, 2009 yarcub Nenhum comentário

O título deste post pode não ser o mais feliz, mas à falta de melhor tradução é que se pode arranjar. :)

O que quero eu dizer com localizar o conteúdo? Disponibilizar ao utilizador da aplicação/site informação no idioma que melhor se adeque, trocando por miúdos… multilíngua.

O Flash IDE de algumas versões para cá que incorpora uma ferramenta para o fazer, Strings Panel, mas nunca me predispus a perceber até que ponto era flexível para colocar a funcionar fora do ambiente Flash IDE.
Posto isto, há cerca de 6 meses resolvi tentar criar uma pequena livraria que simplifica o processo mas até há pouco tempo nunca tinha tido a oportunidade de a testar num ambiente de produção. Como fiquei satisfeito com o resultados resolvi abrir este projecto ao público para ter um maior feedback e conseguir evolui-lo.

A estrutura é a seguinte:

Estrutura de classes
  • A classe LocaleManager (Singleton) gere o carregamento dos diferentes ficheiros de linguagem, em xml, consoante a necessidade e informa todos as instâncias que estejam registadas.
  • A classe LocaleContainer é a base dos elementos visuais que contenham elementos que necessitem de localização. Classes que a estendam apenas estão registadas no manager enquanto pertencem à Display List, e apenas assim recebem notificação quando é mudado o idioma. Sempre que uma classe que implemente o interface ILocaleComponent é adicionada à Display List o LocaleContainer guarda a sua referência para notificar quando for notificado pelo manager, uma espécie de notificações em cadeia.
  • As classes que queiram ser notificadas quando ocorre uma mudança de idioma têm necessariamente de implementar o interface ILocaleComponent, garantido assim que dispõem de um método público através do qual podem ser notificadas e actualizarem o que necessitem.

Isto é a base e algo que é efectuado “under the hood“, o exemplo seguinte mostra a simplicidade em utilizar esta solução.

O plugin de syntax highlight da minha instalação do wordpress tirou o dia para me por fora do sério e parece-me mais saudável para o meu teclado que disponibilize o exemplo juntamente com a source e documentação. ;)

Gostava de receber algum feedback se experimentarem com exemplos/sugestões/correcções que ajudem a melhorar o projecto.

DOWNLOAD AS3LOCALELIBRARY

Criar templates no FlashDevelop.

4, Agosto, 2008 yarcub Nenhum comentário

Se nesta altura está a pensar o que será o FlashDevelop, aconselho a leitura de um post anterior (Flash em ambiente Open Source).

A utilização de templates pode aumentar bastante a produtividade ganhando tempo em tarefas repetitivas, e.g. ao utilizar uma framework regularmente.

Ao criar um projecto já existem alguns disponíveis (Class, Event, MXML, etc) que servem a maioria dos propósitos, mas podemos adaptar/criar templates às nossas preferências pessoais (ou equipa) e assim uniformizar o código.

Exemplo
Criar o um interface com um bloco de comentário com uma licença (MIT neste caso).

  • "Tools->Custom Arguments" inserir um par de valores, sendo assim possível adicionar qualquer argumento não disponível.
  • "Tools->Applications Files" abre a pasta onde estão os ficheiros que permitem personalizar a aplicação. Crie um ficheiro "Interface.as.fdt" na pasta "./Templates/ProjectFiles/AS3Project/" com o seguinte:
Actionscript:
$(LicenceMIT)
package $(Package)$(CSLB) {

public interface $(FileName)$(CSLB) {
$(EntryPoint)

}

}

Agora está disponível para adicionar a qualquer projecto AS3.

Template de um interface

O código gerado:

Actionscript:
/**
Copyright (c) 2008 Nuno Rosa, http://www.nunorosa.com

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
*/
package com.nunorosa.sample
{

public interface SampleInterface
{

}

}

Simples e eficaz, mais informações disponíveis na documentação do FlashDevelop.

Flash em ambiente Open Source

10, Maio, 2008 yarcub Nenhum comentário

Introdução

Faz todo o sentido que a primeira entrada no blog seja como preparar um ambiente de desenvolvimento na plataforma Flash, mas neste caso com uma nuance: Open Source.

Quem já teve contacto com o Flash IDE sabe que o editor de código é pouco prático e a performance do compilador deixa um pouco a desejar, felizmente existem alternativas (open source ou comerciais). A minha preferência recai sobre o FlashDevelop (Windows) em conjunto com os compiladores MTASC (AS2.0) e mxmlc (AS3.0 e MXML) contido no Flex SDK.

Ler mais...