Invocando UTI a partir de aplicativos Adobe AIR (Parte 2): usando o Flash Builder 4.6

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Em meu artigo anterior http://blogs.adobe.com/globalization/invoking-icu-from-adobe-air-applications-2, eu demonstrei o use das extensões de AIR3 ActionScript nativa característica de invocar UTI de um aplicativo AIR. Eu usei as ferramentas de desenvolvedor AIR para compilar e criar vários componentes. Neste artigo, Eu demonstro o mesmo usando a versão pré-lançamento do Adobe Flash Builder 4.6. É muito mais simples de fazer isso no Flash Builder evitando a linha de comando complicado.

A versão pré-lançamento do Adobe Flash Builder4.6 tem uma nova versão do Flex SDK 4.5.2, que tem AIR3 integrada. Faça o download do arquivos de exemplo da seguinte forma.

Você vai precisar do software a seguir para construir uma extensão da UTI para a plataforma AIR.

1 Extensão UTI Edifício para Adobe AIR

Adobe AIR extensões nativas t, também conhecido como 'ane' ou 'ANE "os processos foram arquivados pacotes. Estes consistem em

  • Classes wrapper ActionScript pôr em DLLs externas
  • O DLLs externas
  • Detalhes do arquivo XML descrevendo de DLLs externas

Os arquivos arquivados ANE são usados ​​apenas como bibliotecas SWC na integração em um aplicativo AIR. Em outras palavras, ANE arquivo é uma biblioteca e tem público ActionScript APIs.

Cobrindo todos os detalhes sobre a extensão ActionScript é demais para este artigo no blog, mas eu vou explicar os passos para criar esse exemplo e executar. Abaixo estão as etapas seqüenciais e comandos.

1.1 DLL Edifício do Windows Extensão AIR UTI

1) A pasta AirIcuExtensionWin tem o estúdio Visual solução "AirIcuExtension.sln '. Abrir esta em MS VS2010.

2) O AIRIcuExtension.cpp arquivo tem o código necessário necessário para fazer a interface com o Adobe AIR 3. Tem também as rotinas wrapper chamar funções C UTI.

3) Este é um projeto DLL ea saída de construção é AirIcuExtension.dll

1.2 Edifício ActionScript Biblioteca em FB 4.6

1.2.1 A construção da biblioteca ActionScript

Criar um novo projeto de biblioteca ActionScript e nomeá-la AirIcuExtension. Ver o projeto de biblioteca baixado ActionScript FB4.6.

1.2.2 Embalagem extensão nativa ActionScript

Para um pacote ANE, você ainda precisa fazê-lo na linha de comando. FB 4.6 não tem ainda uma característica de gerar ANES no IDE.

Abra o bin AirIcuExtension.swc é um arquivo zipado. Abri-lo usando WinRAR ou WinZip programa e extrair o library.swf arquivo no pacote para o swc AirIcuExtension bin pasta.

A pasta src resources contém o arquivo extension.xml, AirIcuExtension.dll e UTI dlls icudt48dll, icuuc48dll, icuio48.dll e icuin48.dll. O arquivo external.xml define os detalhes biblioteca externa para AIR runtime.

Para simplificar, coloque o AirIcuExtension.dll, UTI dlls e arquivos em extension.xml AirIcuExtension bin pasta. Todos esses arquivos são compactados em um arquivo zipado chamado AiricuExtension.ane usando o seguinte comando.

C:\FB4.6 SDKs bin adt-package-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo ane AirIcuExtension.ane extension.xml-swc AirIcuExtension.swc-plataforma Windows x86-library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Utilização Adobe FlashBuilder4.6 ou C:\FB4.6 SDKs bin ter tomado programa, pode-se gerar um certificado AIR.

A saída é um arquivo AirIcuExtension.ane no AirIcuExtension bin pasta.

1.3 Construindo o AirIcuExtensionTest.mxml Programa de teste

Agora que nós construímos e embalados o pacote de extensão nativa AiricuExtension.ane, estamos prontos para usar esse e chamar os serviços de UTI em um programa de teste.

A pasta AirIcuExtensionTest src contém o arquivo de teste AirIcuExtensionTest.mxml. O arquivo descritor AirIcuExtensionTest-app.xml tem os detalhes de extensão nativa.

Flash Builder 4.6 tem um novo recurso para ligar aplicações Flash com arquivos ANE. Como você vê a partir do comando FB4.6 propriedades do projeto "Flex Build Path", há uma nova guia para Native Extensions. Utilização 'Ed Lane' botão, adicione o arquivo presente na pasta AirIcuExtension.ane AirIcuExtension / bin, como mostrado abaixo.

Veja também o comando 'Pacote Construindo Flex' nas propriedades do projeto, há uma nova guia para Extensão nativa. Por favor, certifique-se que a caixa de seleção é AiricuExtension Em.

A saída de arquivos swf AirIcuExtensionTest.swf é colocado na pasta bin-debug.

1.4 Construir pacote AIR para executar AirIcuExtensionTest

O passo final é para empacotar o AirIcuExtensionTest acima. Swf e arquivos AirIcuExtension.ane em uma pasta executável AIR. Podemos fazer isso em FB4.6 agora, em vez de usar a linha de comando tedioso.

  • IN FB4.6, selecione AiricuExtensionProject e executar o comando menu Project->Exportação de Lançamento Construir ...
  • Na caixa de diálogo que se seguiu, escolher Assinado instalador nativo botão de rádio. Só podemos criar instaladores nativos, como estamos usando OS específicos pacote ANE.
  • Na tab Native Extensions tab, certifique-se que a checkbox AirIcuExtension.ane esteja selecionada.
  • Terminar de criar a versão de compilação depois de entrar as credenciais certificado correto AIR.

A saída do comando acima é um instalador AirIcuExtensionTest.exe. Ao executá-lo, você pode instalar o programa de teste.

2 Conclusão

Este exemplo ilustra como invocar ICU do ActionScript. A AIR extensão UTI é fácil de construir usando os próximos AdobeFlash Builder 4.6 lançamento. ANE é um ótimo recurso para os desenvolvedores AIR e aplicações AIR pode fazer uso da plataforma ou UTI desde serviços de globalização.

Invocando UTI a partir de aplicativos Adobe AIR

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Adobe Flash e AIR são plataformas ubíquas para desenvolver aplicações de internet rica. O Flash é usado para aplicativos baseados em navegador e AIR é utilizada para desenvolver aplicações de plataforma nativa. Ambas as plataformas têm apoio considerável para a globalização. Recursos de globalização habilitação como formatação do locale / parsing, colação, case transforms, localização e multi-lingual de processamento de texto são suportados por ambas as plataformas. Mas alguns recursos mais globalização como a normalização de texto, Transliteração, Unicode propriedades de caracteres, conversões de codificação, detecções charset, Utilitários seqüência de caracteres Unicode etc ainda estão desaparecidas no Adobe AIR e plataformas em Flash. Uma das principais razões para não adicionar todos esses recursos dentro das plataformas Adobe tempo de execução é o tamanho do software.

Para superar o problema limitação de tamanho, Adobe AIR e Flash pode chamar os serviços de bibliotecas dinâmicas externas por meio do ActionScript. Existem algumas bibliotecas conhecidas externo, que tem suporte a globalização ricos, como UTI, GNU glib, Verisign IDN biblioteca para citar alguns. Felizmente a próxima Adobe AIR 3.0 (agora disponível como Adobe pré-lançamento) tem um recurso maravilhoso chamado ActionScript extensões nativas, que é cerca de interface de programação ActionScript para uma biblioteca de código nativo como o MS Windows DLL, Os X FrameWork, Android JAR ou biblioteca compartilhada ou iOS biblioteca estática. Por favor, consulte Adobe AIR3 site beta http://labs.adobe.com/technologies/flashplatformruntimes/air3/ sobre como baixar e participar do Adobe AIR de pré-lançamento. Por favor, tome nota que este recurso é _somente_ extensões nativas disponíveis no Adobe AIR plataforma, não na plataforma Flash.

Neste blog, Eu demonstrei a amostra (Baixar air_icu ) aplicação para invocar UTI de um aplicativo Adobe AIR na plataforma Windows. Os leitores são advertidos de que este é apenas software amostra ilustração e por nenhum software de qualidade dos meios de produção. Por isso os leitores devem exibir discrição no uso deste software como é. O exemplo ilustra UTI quebra de palavra, quebrando sentença, utf-conversão e verificação de propriedade de caracteres Unicode.

Você vai precisar do software a seguir para construir uma extensão da UTI para a plataforma AIR.

1 Extensão UTI Edifício para Adobe AIR

Adobe AIR extensões nativas t, também conhecido como 'ane' ou 'ANE "os processos foram arquivados pacotes. Estes consistem em

  • Classes wrapper ActionScript pôr em DLLs externas
  • O DLLs externas
  • Detalhes do arquivo XML descrevendo de DLLs externas

Os arquivos arquivados ANE são usados ​​apenas como bibliotecas SWC na integração em um aplicativo AIR. Em outras palavras, ANE arquivo é uma biblioteca e tem público ActionScript APIs.

Cobrindo todos os detalhes sobre a extensão ActionScript é demais para este artigo no blog, mas eu vou explicar os passos para criar esse exemplo e executar. Abaixo estão as etapas seqüenciais e comandos.

1.1 DLL Edifício do Windows Extensão AIR UTI

1) A pasta AirIcuExtensionWin tem o estúdio Visual solução "AirIcuExtension.sln '. Abrir esta em MS VS2010.

2) O AIRIcuExtension.cpp arquivo tem o código necessário necessário para fazer a interface com o Adobe AIR 3 beta 2. Tem também as rotinas wrapper chamar funções C UTI.

3) Este é um projeto DLL ea saída de construção é AirIcuExtension.dll

1.2 Edifício ActionScript Biblioteca

1) Construa a biblioteca ActionScript usando o comando abaixo.

C:\Flex4.5.1 bin compc.exe-source-path src-incluem-classes com.adobe.extensions.AirIcuExtension-library-path externo C:\air3_beta2 frameworks libs ar airglobal.swc saída-bin AirIcuExtension.swc

O AirIcuExtension.as arquivo na pasta src com adobe extensions tem o AirIcuExtension public class que chama as rotinas de UTI. Nesta amostra, chamando breaker sentença UTI, disjuntor está, normalizador, utf-conversão e de propriedade de caracteres Unicode foram ilustradas.

1.3 Embalagem extensão nativa ActionScript

Abra o bin AirIcuExtension.swc é um arquivo zipado. Abri-lo usando WinRAR ou WinZip programa e extrair o library.swf arquivo no pacote para o swc AirIcuExtension / bin pasta.

A pasta src resources contém o arquivo extension.xml, AirIcuExtension.dll e UTI dlls icudt48dll, icuuc48dll, icuio48.dll e icuin48.dll. O arquivo external.xml define os detalhes biblioteca externa para AIR runtime.

Para simplificar, coloque o AirIcuExtension.dll, UTI dlls e arquivos em extension.xml AirIcuExtension bin pasta. Todos esses arquivos são compactados em um arquivo zipado chamado AiricuExtension.ane usando o seguinte comando.

C:\air3_beta2 bin adt-package-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo ane AirIcuExtension.ane extension.xml-swc AirIcuExtension.swc-plataforma Windows x86-library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Utilização Adobe FlashBuilder4.x ou C:\air3_beta2 bin ADT programa, pode-se fazer um certificado AIR.

A saída é um arquivo AirIcuExtension.ane no AirIcuExtension / bin pasta.

1.4 Construindo o AirIcuExtensionTest.mxml Programa de teste

Agora que nós construímos e embalados o pacote de extensão nativa AiricuExtension.ane, estamos readu usar isso e chamar os serviços de UTI em um programa de teste.

O AirIcuExtensionTest pasta src contém o arquivo de teste AirIcuExtensionTest.mxml. O arquivo descritor AirIcuExtensionTest-app.xml tem os detalhes de extensão nativa. Usando o compilador mxml, AirIcuExtensionTest.swf é construído da seguinte maneira no AirIcuExtensionTest pasta.

C:\Flex4.5.1 bin compc.exe mxmlc configname = ar-external-library-path .. AirIcuExtension bin AirIcuExtension.ane saída-bin-debug AirIcuExtensionTest.swf — src AirIcuExtensionTest.mxml

A saída de arquivos swf AirIcuExtensionTest.swf é colocado na pasta bin-debug.

1.5 Construir pacote AIR para executar AirIcuExtensionTest

O passo final é para empacotar o AirIcuExtensionTest acima. Swf e arquivos AirIcuExtension.ane em uma pasta executável AIR. Execute o seguinte comando

C:\air3_beta2 bin adt-package-XnoAneValidate-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo-bundle AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension bin

A saída do comando acima é uma pasta AirIcuExtensionTest.air. Dentro da pasta, lá é AirIcuExtensionTest.exe. Você pode executar e ver o resultado.

2 Conclusão

Este exemplo ilustra como invocar ICU do ActionScript. A AIR extensão UTI é fácil de construir usando o à disposição do público Adobe Flex SDK e AIR3 Beta 2 SDKs. Será muito mais fácil fazer tudo isso no futuro Adobe Flash Builder IDE usando GUI. As vantagens deste recurso são

  • AIR desenvolvedores que procuram desenvolver os pedidos internacionais para desktop ou móvel têm o poder de UTI na mão. Muitas características Unicode, conversões de codificação, IDN conversão utilitários, processamento de strings, transforma e muitas características mais internacional pode ser facilmente codificado.
  • A extensão de UTI materna, uma vez construída pode ser usado qualquer desenvolvedor qualquer, pois é uma biblioteca.
  • O Actionscript APIs chamando UTI podem ser codificados utilizando as mesmas assinaturas como UTI C API. Isso elimina a curva de aprendizagem.
  • Desde UTI é em código nativo, desempenho não seja comprometida.
  • Uma vez que é UTI, os desenvolvedores podem esperar da cruz-plataforma comportamento em programas AIR.
  • Uma vez que a extensão é uma biblioteca AIR, Atualizações de UTI pode ser facilmente re-embalados para o arquivo ane.

No futuro, uma vez AIR3 é liberado, um total de extensão desenvolvido na UTI nativa com definições adequadas API será um grande projeto de globalização.