La invocación de la UCI de aplicaciones de Adobe AIR (Parte 2): el uso de Flash Builder 4.6

Este artículo fue originalmente escrito en Inglés. Texto en otros idiomas fue proporcionada por la traducción automática.

En mi artículo anterior del blog http://blogs.adobe.com/globalization/invoking-icu-from-adobe-air-applications-2, He demostrado con las extensiones de AIR3 ActionScript nativos función para invocar la UCI de una aplicación AIR. Usé las herramientas de desarrollo de AIR para compilar y generar los diversos componentes. En este artículo, Yo demuestro lo mismo con la versión preliminar de Adobe Flash Builder 4.6. Es mucho más simple de hacer esto en Flash Builder para evitar la línea de comandos complicados.

La versión preliminar de Adobe Flash Builder4.6 tiene una nueva versión del SDK de Flex 4.5.2, que se ha integrado AIR3. Por favor, descargue los archivos de muestra de la siguiente manera.

Usted necesitará el siguiente software para construir una extensión de la UCI para la plataforma AIR.

1 Edificio extensión UCI para Adobe AIR

Adobe AIR t nativo extensiones, también conocida como "anemia" o archivos "ENA" se archivan los paquetes. Estos consisten en

  • Clases de ActionScript envoltorio poner en DLLs externas
  • Los archivos DLL externa
  • XML que describe los detalles del archivo de archivos DLL externa

Los archivos archivados ANE se utilizan igual que las bibliotecas de SWC en la integración en una aplicación AIR. En otras palabras, ANE es un archivo de la biblioteca pública y se ha API de ActionScript.

Cubriendo todos los detalles sobre la extensión de ActionScript es demasiado para este artículo del blog, pero voy a explicar los pasos para crear esta muestra y ejecutar. A continuación se muestran los pasos secuenciales y los comandos.

1.1 DLL de Windows del edificio AIR UCI Extensión

1) La carpeta AirIcuExtensionWin tiene el estudio Visual solución "AirIcuExtension.sln '. Abrir en MS VS2010.

2) El AIRIcuExtension.cpp archivo tiene el código necesario necesario para interactuar con Adobe AIR 3. También tiene las rutinas de envoltura llamadas UCI funciones C.

3) Este es un proyecto DLL y el resultado de la compilación es AirIcuExtension.dll

1.2 Edificio ActionScript Library en FB 4.6

1.2.1 La construcción de la biblioteca de ActionScript

Crear un nuevo proyecto de biblioteca de ActionScript y el nombre de AirIcuExtension. Vea el archivo descargado ActionScript FB4.6 proyecto de biblioteca.

1.2.2 Embalaje extensión nativa ActionScript

Para un paquete de ANE, usted todavía tiene que hacerlo en línea de comandos. FB 4.6 no tiene una función hasta el momento para generar ANES en el IDE.

Abra la bandeja de AirIcuExtension.swc es un archivo comprimido. Abrirlo con WinRAR o WinZip programa y extraer el library.swf archivo en el paquete de SWC en el AirIcuExtension bin carpeta.

La carpeta src recursos contiene el archivo extension.xml, AirIcuExtension.dll y la UCI dlls icudt48.dll, icuuc48.dll, icuio48.dll y icuin48.dll. El archivo external.xml define los detalles de la biblioteca externa a AIR runtime.

Por razones de simplicidad, lugar de la AirIcuExtension.dll, UCI dlls y archivos en extension.xml AirIcuExtension bin carpeta. Todos estos archivos son empaquetados en un archivo comprimido llamado AiricuExtension.ane con el siguiente comando.

C:\FB4.6 SDK bin adt-package-storetype pkcs12-storepass <passwd> -Keystore <AIR certificado> -TSA no son objeto de ane-AirIcuExtension.ane extension.xml swc AirIcuExtension.swc plataformas Windows x86 library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Uso Adobe FlashBuilder4.6 o C:\FB4.6 SDK bin se han programa, se puede generar un certificado de AIR.

La salida es un archivo AirIcuExtension.ane en el AirIcuExtension bin carpeta.

1.3 La construcción de la AirIcuExtensionTest.mxml programa de prueba

Ahora que hemos construido y empaquetado del paquete de la extensión nativa AiricuExtension.ane, estamos dispuestos a usar este y llamar a los servicios de la UCI en un programa de prueba.

La carpeta AirIcuExtensionTest src contiene el archivo de prueba AirIcuExtensionTest.mxml. El archivo descriptor AirIcuExtensionTest-app.xml tiene los detalles de extensión nativa.

Flash builder4.6 tiene una nueva función de vincular las aplicaciones de Flash con archivos de ANE. Como puede ver en la orden del FB4.6 las propiedades del proyecto "Flex Build Path ', hay una nueva pestaña para Extensiones nativas. Uso 'Añadir ANE " botón, agregar el archivo AirIcuExtension.ane presente en la carpeta AirIcuExtension / bin como se muestra a continuación.

Ver también el comando 'paquete Flex construcción ", en las propiedades del proyecto, hay una nueva pestaña para Extensión de los nativos. Por favor, asegúrese de que la casilla de verificación es AiricuExtension En.

La salida swf AirIcuExtensionTest.swf se coloca en la carpeta bin-debug.

1.4 La construcción de paquete de AIR para ejecutar AirIcuExtensionTest

El último paso es empaquetar el AirIcuExtensionTest arriba. SWF y archivos AirIcuExtension.ane en una carpeta ejecutable AIR. Podemos hacer esto en FB4.6 ahora en lugar de utilizar la línea de comandos tediosa.

  • EN FB4.6, seleccione AiricuExtensionProject y ejecutar el comando de menú Proyecto->Exportación versión de lanzamiento ...
  • En el diálogo posterior, elegir Instalador nativo firmado botón de radio. Sólo podemos crear instaladores nativos como estamos usando OS paquete específico ANE.
  • En el Extensiones nativas lengüeta, asegúrese de que el AirIcuExtension.ane casilla de verificación está habilitado.
  • Terminar de crear la versión de lanzamiento después de entrar en las credenciales de aire correcta certificado.

La salida del comando anterior es un instalador AirIcuExtensionTest.exe. Mediante la ejecución de lo, puede instalar el programa de pruebas.

2 Conclusión

La muestra ilustra la manera de invocar a la UCI de ActionScript. La extensión de AIR en la UCI es fácil de construir con la próxima Builder AdobeFlash 4.6 liberación. ANE es una gran característica para los desarrolladores de AIR y aplicaciones AIR pueden hacer uso de la plataforma o la unidad de cuidados intensivos proporcionan servicios de globalización.

La invocación de la UCI de aplicaciones de Adobe AIR

Este artículo fue originalmente escrito en Inglés. Texto en otros idiomas fue proporcionada por la traducción automática.

Adobe Flash y AIR son las plataformas en todas partes para desarrollar aplicaciones ricas de Internet. Flash se utiliza para aplicaciones basadas en navegador y el aire se utiliza para el desarrollo de aplicaciones nativas de la plataforma. Ambas plataformas tienen un apoyo considerable a la globalización. Características de la globalización como el formato de la habilitación en cuenta la localidad / análisis, colación, caso se transforma, localización y en varios idiomas el renderizado de texto son compatibles con ambas plataformas. Sin embargo, algunos más características de globalización, como la normalización de texto, transcripción, Propiedades de caracteres Unicode, conversiones de codificación, detecciones charset, Utilidades de cadena Unicode etc siguen desaparecidos en el Adobe AIR y Flash de las plataformas. Una de las razones principales para no añadir todas estas características dentro de las plataformas Adobe tiempo de ejecución es el tamaño del software.

Para superar el problema de limitación de tamaño, Adobe AIR y Flash se pueden invocar los servicios de bibliotecas externas dinámica a través de ActionScript. Hay algunas librerías conocidas externos que cuentan con el apoyo globalización ricos, como en la UCI, Simplista GNU, Verisign IDN biblioteca para nombrar unos pocos. Por suerte la próxima Adobe AIR 3.0 (ahora disponible en Adobe pre-lanzamiento) tiene una característica maravillosa que se llama ActionScript extensiones nativas, que se refiere a la interfaz de programación ActionScript para una biblioteca de código nativo, como MS Windows DLL, Os X FrameWork, Android JAR o librería o biblioteca estática iOS. Por favor, vea Adobe AIR3 sitio beta http://labs.adobe.com/technologies/flashplatformruntimes/air3/ sobre cómo descargar y participar en el Adobe AIR de pre-lanzamiento. Por favor tome nota que esta característica es _sólo_ extensiones nativas disponibles en la plataforma de Adobe AIR, no en la plataforma Flash.

En este blog, Yo demuestro una muestra (Descargar air_icu ) aplicación para invocar la UCI desde una aplicación de Adobe AIR en la plataforma Windows. Se recuerda al lector que esto es sólo el software muestra la ilustración y no por medio de software de calidad de producción. Por lo tanto, los lectores deben mostrar discreción en el uso de este software, ya que es. La muestra ilustra romper UCI palabra, sentencia de última hora, utf-conversión y la verificación de caracteres Unicode de propiedad.

Usted necesitará el siguiente software para construir una extensión de la UCI para la plataforma AIR.

  • MS Visual Studio 2010 (para construir la extensión DLL AIR código nativo en C / C)
  • Adobe Flex SDK 4.5.1 (http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5). Descargar este a C:\Flex4.5.1.
  • Adobe Air 3 Beta2 descarga (Para construir la extensión de Adobe Actionscript) de http://labs.adobe.com/technologies/flashplatformruntimes/air3/ . Descomprimir esto en a C:\Flex4.5.1. Este paso sobrescribe los componentes relacionados con el aire en Flex4.5.1 SDK de Adobe con la última beta2 AIR3. También hay que tener una copia en C:\air3_beta2 carpeta.
  • El pre-lanzamiento de Adobe Flash de sitio web en tiempo de ejecución tiene más información, documentación y ejemplos sobre cómo utilizar las extensiones de ActionScript. La pestaña 'detalles del producto en el http://labs.adobe.com/technologies/flashplatformruntimes/air3/ página web tiene un FAQ sobre la manera de unirse a la Adobe pre-lanzamiento del programa.
  • UCI 4.8 binarios (http://site.icu-project.org/download/48). Descargar Windows de 32 bits VC2010 zip. Descomprimir las bibliotecas en cualquier carpeta. Mi muestra descargado en C:\icu icu4.8.1 carpeta win32 .--

1 Edificio extensión UCI para Adobe AIR

Adobe AIR t nativo extensiones, también conocida como "anemia" o archivos "ENA" se archivan los paquetes. Estos consisten en

  • Clases de ActionScript envoltorio poner en DLLs externas
  • Los archivos DLL externa
  • XML que describe los detalles del archivo de archivos DLL externa

Los archivos archivados ANE se utilizan igual que las bibliotecas de SWC en la integración en una aplicación AIR. En otras palabras, ANE es un archivo de la biblioteca pública y se ha API de ActionScript.

Cubriendo todos los detalles sobre la extensión de ActionScript es demasiado para este artículo del blog, pero voy a explicar los pasos para crear esta muestra y ejecutar. A continuación se muestran los pasos secuenciales y los comandos.

1.1 DLL de Windows del edificio AIR UCI Extensión

1) La carpeta AirIcuExtensionWin tiene el estudio Visual solución "AirIcuExtension.sln '. Abrir en MS VS2010.

2) El AIRIcuExtension.cpp archivo tiene el código necesario necesario para interactuar con Adobe AIR 3 beta 2. También tiene las rutinas de envoltura llamadas UCI funciones C.

3) Este es un proyecto DLL y el resultado de la compilación es AirIcuExtension.dll

1.2 Edificio ActionScript Library

1) Construir la biblioteca ActionScript mediante el siguiente comando.

C:\-Path compc.exe-source-src incluir clases com.adobe.extensions.AirIcuExtension-library-path externa-Flex4.5.1 bin C:\air3_beta2 marcos libs aire airglobal.swc salida bin AirIcuExtension.swc

El AirIcuExtension.as archivo en la carpeta src com Adobe extensiones tiene la AirIcuExtension clase pública que llama a la rutina en la UCI. En esta muestra, llamando a la UCI interruptor sentencia, palabra interruptor, normalizador, utf-conversión y la propiedad de caracteres Unicode se han ilustrado.

1.3 Embalaje extensión nativa ActionScript

Abra la bandeja de AirIcuExtension.swc es un archivo comprimido. Abrirlo con WinRAR o WinZip programa y extraer el library.swf archivo en el paquete de SWC en el AirIcuExtension / bin carpeta.

La carpeta src recursos contiene el archivo extension.xml, AirIcuExtension.dll y la UCI dlls icudt48.dll, icuuc48.dll, icuio48.dll y icuin48.dll. El archivo external.xml define los detalles de la biblioteca externa a AIR runtime.

Por razones de simplicidad, lugar de la AirIcuExtension.dll, UCI dlls y archivos en extension.xml AirIcuExtension bin carpeta. Todos estos archivos son empaquetados en un archivo comprimido llamado AiricuExtension.ane con el siguiente comando.

C:\air3_beta2 bin adt-package-storetype pkcs12-storepass <passwd> -Keystore <AIR certificado> -TSA no son objeto de ane-AirIcuExtension.ane extension.xml swc AirIcuExtension.swc plataformas Windows x86 library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Uso Adobe FlashBuilder4.x o C:\air3_beta2 bin ADT programa, se puede hacer un certificado de AIR.

La salida es un archivo AirIcuExtension.ane en el AirIcuExtension / bin carpeta.

1.4 La construcción de la AirIcuExtensionTest.mxml programa de prueba

Ahora que hemos construido y empaquetado del paquete de la extensión nativa AiricuExtension.ane, estamos readu a usarlo y llamar a los servicios de la UCI en un programa de prueba.

El AirIcuExtensionTest carpeta src contiene el archivo de prueba AirIcuExtensionTest.mxml. El archivo descriptor AirIcuExtensionTest-app.xml tiene los detalles de extensión nativa. Utilizando el compilador MXML, AirIcuExtensionTest.swf se construye de la siguiente manera en AirIcuExtensionTest carpeta.

C:\Flex4.5.1 bin compc.exe mxmlc configname = aire exterior-library-path .. AirIcuExtension bin AirIcuExtension.ane-Bandeja de salida de depuración AirIcuExtensionTest.swf — src AirIcuExtensionTest.mxml

La salida swf AirIcuExtensionTest.swf se coloca en la carpeta bin-debug.

1.5 La construcción de paquete de AIR para ejecutar AirIcuExtensionTest

El último paso es empaquetar el AirIcuExtensionTest arriba. SWF y archivos AirIcuExtension.ane en una carpeta ejecutable AIR. Ejecute el siguiente comando

C:\air3_beta2 bin adt-package-XnoAneValidate-storetype pkcs12-storepass <passwd> -Keystore <AIR certificado> -TSA no son objeto de paquete AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension bin

La salida del comando anterior es una carpeta AirIcuExtensionTest.air. Dentro de la carpeta, hay es AirIcuExtensionTest.exe. Usted puede ejecutar y ver la salida.

2 Conclusión

La muestra ilustra la manera de invocar a la UCI de ActionScript. La extensión de AIR en la UCI es fácil de construir con la disposición del público Adobe Flex SDK y la Beta AIR3 2 SDKs. Será mucho más fácil hacer todo esto en el futuro, Adobe Flash Builder IDE con interfaz gráfica de usuario. Las ventajas de esta función

  • Los desarrolladores de AIR que buscan desarrollar las solicitudes internacionales de escritorio o móviles tienen el poder de la UCI a la mano. Muchas de las características Unicode, conversiones de codificación, IDN conversión de utilidades, procesamiento de cadenas, transforma y muchas más características internacionales pueden ser fácilmente codificado.
  • El nativo de extensión de la UCI, una vez incorporado se puede utilizar cualquier desarrollador de cualquier, ya que es una biblioteca.
  • La API de ActionScript llamada unidad de cuidados intensivos pueden ser codificados utilizando las mismas firmas que la UCI de la API C. Esto elimina la curva de aprendizaje.
  • Puesto que la UCI está en código nativo, el rendimiento no se vea comprometida.
  • Ya que es en la UCI, los desarrolladores pueden esperar multiplataforma comportamiento de los programas AIRE.
  • Ya que la extensión es una biblioteca de AIR, Cambios en la UCI puede ser fácilmente re-empaquetado en el archivo ane.

En el futuro, cuando se libera AIR3, una extensión de pleno derecho en la UCI nativos con una adecuada definición de la API será un gran proyecto de globalización.