Tizen 2.1. Nectarina, ¿hacemos un zumo?

Bueno pues aunque la versión 2.1 de Tizen, llevaba liberada desde hace algunos días, o al menos así nos enteramos en los grupos de Linkedin de Tizen, lo cierto es que hasta el pasado 17 de Mayo, no lo vimos colgado en el site de Tizen y pudimos ponernos manos a la obra en el proceso de actualización (vamos si alguien pudo, genial, pero yo no pude, que le vamos a hacer).

Como siempre, obtener la última versión es muy fácil: la primera manera consiste en descargarnos todo el SDK desde la web (desde luego ya estáis tardando) y ejecutar el instalador. Éste, no presenta demasiados cambios con respecto a versiones anteriores, es el mismo asistente al que ya estamos acostumbrados con las mismas opciones.

En caso de tener ya instalado el SDK (chicos listos!!!!), para actualizarnos a la versión 2.1, tenemos que hacer uso del “Install Manager” y seleccionar la opción “Install or update the Tizen SDK“.

Tizen01

En el siguiente paso del asistente, desplegamos en el árbol “Platforms” y marcamos la versión “Tizen 2.1” y pulsamos sobre “Install“.

Tizen02

Dependiendo de cuanto os gastéis cada mes en la conexión ADSL, tardará un ratín más o menos largo, ya que se tiene que bajar casi un 1Gb de datos.

Y ¡listo! ya tenemos Tizen OS 2.1 Nectarine en nuestro sistema, ¿alguien quiere un zumo? porque vamos a exprimirlo ;-) en unos días comentamos que novedades son las que presenta esta nueva versión.

Tizen Developer Conference 2013

Una entradilla rápida antes de irnos a dormir.

No olvideis que ayer comenzó la Tizen Developer Conference 2013, yo la estoy siguiendo de cerca aunque de manera virtual (ya me habría a mi gustado estar en San Francisco estos días) pero no ha podido ser, pero seguro que pronto tenemos algún evento en Europa que merezca la pena y al que podremos apuntarnos.

De momento os dejo uno de los vídeos que he visto, en donde se puede ver en funcionamiento a Tizen sobre un Ultrabook de Intel, para ir haciendo boca, no está nada mal:

Seguir atentos, porque en breve contaré todo lo que haya dado de sí.

Migrando de Bada a Tizen (Parte 1/2)

Bueno pues hoy vamos a hacer un pequeño paréntesis a esto de los APIs, y voy a hablar de cómo podemos migrar nuestras aplicaciones hechas en Bada a Tizen. Y es que a pesar de que Bada era una gran plataforma, y fue, a mi juicio, injustamente tratada por Samsung, afortunadamente para todos los que desarrollamos en algún momento para este S.O, vemos como nuestros proyectos Bada, pueden seguir teniendo continuidad en Tizen, algo muy de agradecer y que hace que la inversión en tiempo que hicimos en ese momento no haya quedado en saco roto.

Y es que aunque no se instala por defecto, tenemos una herramienta para usar con el SDK para realizar este proceso de conversión, así que vamos a ver como tenemos que hacerlo.

En primer lugar, ejecutamos el asistente de instalación del SDK de Tizen, dado que yo trabajo desde Linux, este fichero, de nombre “InstallManager”, lo encontráis en la carpeta “install-manager” (¡que original!), al ejecutarlo obtenemos la siguiente pantalla:

migrationBada01

Pulsamos sobre el botón “Extra repository” y añadimos en el cuadro destinado a agregar nuevos repositorios el que contiene el asistente de migración y que se encuentra ubicado en:  http://developer.samsung.com/bada/repository/add-on/migration-tool. El aspecto que tendrá esta operación será similar a lo siguiente:

migrationBada02

Hecho lo cual, al volver a la ventana del instalador, desplegamos “Extras” y seleccionamos el check “Migration tool for bada projects”, y pulsamos el botón “Install” seguidamente.

migrationBada03

Se descarga el paquete y se instalará en vuestro sistema, y si todo ha ido bien, que será lo más probable, tendremos la siguiente ventana como resultado, en donde se nos indica que para finalizar la instalación debemos reiniciar la herramienta.

migrationBada04

Si ahora entramos dentro del IDE, para importar nuestro proyecto Bada, tendremos que irnos a la opción “File >> Import” y en el cuadro de diálogo que nos aparece seleccionamos la rama “Tizen >> Import bada project”, como muestra la figura siguiente:

migrationBada05

Lo que resta es muy sencillo, y consiste en seleccionar la ruta en donde está nuestro proyecto Bada y seguir los pasos del asistente, pero eso ya lo haremos en nuestra siguiente entrada en donde veremos como migrar la aplicación que desarrollé para Bada “Talking with God” a Tizen, y finalizaremos con esta utilidad.

Hasta la próxima!!!

TizenCup o como ir desarrollando en Tizen OS tazita a tazita (Parte 3). APIs de Programación

Pues habiendo finalizado el tema del empaquetado de aplicaciones, vamos a retomar nuestra serie de artículos dedicamos a la programación de Tizen, y dentro de nuestra serie denominada TizenCup,  iniciamos una serie de entradas cuyo objetivo es a dar a conocer el funcionamiento de las diferentes APIs de programación que vienen con el SDK.  

Sin un API de programación (Application Programing Interface), el acceso a las diferentes capacidades de cualquier hardware que tengamos a nuestra disposición, se convierte en un trabajo arduo y difícil, y tardaríamos mucho tiempo en llegar a ser productivos, al tener que pegarnos con la documentación de bajo nivel y crear nuestras propias rutinas de funcionamiento, afortunadamente, estas labores son las que el API nos facilita.

En Tizen, disponemos de varias de ellas, y en dependerá de si estamos creando una aplicación de tipo web, una nativa o una híbrida el uso de unas u otras. Veamos que nos aporta cada una de ellas:

API para el desarrollo basado en Web

Este API se divide en las siguientes:

  • Web Device API: Es el API básico de desarrollo para las aplicaciones basadas en Web, de aquí obtendremos la mayor parte de los elementos que usemos en nuestra programación más habitual.
  • Web UI Framework API:  Aquí tenemos elementos que están relacionados con la programación a nivel gráfico, cómo es la creación de widgets,  control de eventos, efectos y animaciones.
  • W3C/HTML5 API: Se compone de la especificación de Tizen para los estándares de la W3C y HTML5.

De las tres anteriores, probablemente la más importante es la primera ya que es la que nos permite acceder a todas las capacidades del dispositivo. Cómo podéis imaginar este API está basado en JavaScript y desde él se puede controlar todo el ciclo de vida de la aplicación, acceder a los datos del terminal, realizar intercambio de datos, pagar con NFC, y cualquier otra cosa que se os pase por la cabeza.

En la tabla siguiente tenemos la división las diferentes funcionalidades que nos proporciona este API:

Tizen Common

Tizen

Es el objeto base para el acceso a todo el API Web

Application

Alarm

Provee de funcionalidad para manipular las alarmas del terminal

Application

Facilita información sobre las aplicaciones que están en ejecución o instaladas y nos da el control sobre ellas

Communication

Bluetooth

Acceso y control del Bluetooth.

Messaging

Controla todo lo que tiene que ver con el sistema de mensajería, tanto SMS, MMS, como el envío y recepción de emails

NFC

Control para la realización de transacciones con NFC

Content

Content

Se usa para acceder al contenido multimedia (imágenes, videos o música)

Download

Proporciona interfaces y métodos para descargarnos objetos remotos vía peticiones HTTP

Input/Output

Filesystem

Lo usaremos para acceder al sistema de archivos del dispositivo. Se prevé que este API quede obsoleto en un futuro cuando se comience a utilizar el API de la W3C de acceso a ficheros

Social

Calendar

Control y gestión de la información del calendario

Call History

Acceso al registro e histórico de llamadas y VoIP

Contact

Para todo lo que tiene que ver con la administración de la información de los contactos del terminal

System

Power

Permite el control del uso de la batería

System Information

Acceso al tipo de pantalla, características de la red, almacenamiento y resto de capacidades que tiene el dispositivo

System Setting

Controla todos los ajustes (settings) del terminal

Time

La usaremos para obtener información sobre fechas, horas y zonas horarias.

User Interface

Notification

Se utiliza para notificar al usuario de cualquier tipo de evento que sucede dentro de la aplicación

API para el desarrollo nativo

En este caso, se disponen de un conjunto de espacios de nombres (namespaces) en donde tenemos un buen montón de clases que podemos invocar directamente en nuestro código, muchos de ellos comparten nombres muy similares a los que hemos indicado en la tabla anterior, no obstante hay que tener en cuenta que el desarrollo nativo y por tanto el acceso a estos espacios de nombres, siempre se realizará en C++, y si venís del mundo de Bada, me parece que os van a sonar la mayor parte de ellos ;-) , porque son muy parecidos. Los espacios de nombres con los que nos encontramos en este caso son:

  • App: Contiene las clases e interfaces básicos para el desarrollo de aplicaciones nativas.
  • Base: Complementa a la anterior con un conjunto de tipos de datos y métodos básicos que son usados en cualquier aplicación que desarrollemos.
  • Content: Provides classes and interfaces that allow you to handle content management and content search.
  • Graphics: Posibilita que las aplicaciones puedan visualizar imágenes (bitmap), polígonos y texto, gracias a las primitivas de renderizado y al soporte a OpenGL
  • Io: Como su nombre indica, nos permite el trabajo sobre ficheros,  directorios y la manipulación de datos
  • Locales: Contiene lo necesario para la realización del proceso de localización e internacionalización de la aplicación para diferentes países.
  • Locations: Posibilita que las aplicaciones puedan incorporar funcionalidades adicionales basadas en la localización del dispositivo y el acceso a servicios locales.
  • Media: Para el control de audio, video, procesamiento de imágenes y su gestión  por parte de las aplicaciones.
  • Messaging:  Tendremos control de todos los sistemas de envío de mensajes, ya sean estos SMS, MMS,  correos electrónicos o notificaciones de tipo Push
  • Net: Para la gestión de las conexiones de red, y para el control de la transferencia de datos entre dispositivos Tizen.
  • Security: Herramientas para el control de la seguridad como son los certificados digitales y otras clases con funcionalidad básica de criptografía.
  • Shell: Nos proporciona herramientas para gestionar diversas características de la shell del terminal.
  • Social: Facilita la creación de aplicaciones que tienen que interactuar con los datos personales del usuario sobre las redes sociales
  • System: Para accede a la información y características disponibles de nuestro dispositivo.
  • Telephony: Gestión de las llamadas, acceso a la información de la red y de la tarjeta SIM.
  • Text: Es un namespace de utilidad para garantizar la interoperabilidad entre los estándares de codificación usado tanto en las aplicaciones Web, como en los SMS y MMS.
  • UI: Son las clases básicas necesarias para la creación de la interface gráfica de usuario.
  • Uix: Complementa a la anterior al proporcionar un mecanismo de acceso al uso del terminal de maneras no convencionales, por ejemplo, en este namespaces tenemos acceso a clases para el control de los sensores incorporados.
  • Web: Permite integrar características Web en las aplicaciones.

Y por hoy nada más, en las próximas entradas iremos viendo ejemplos de uso de cada uno de estos APIs.

iOS ¡pero sigo siendo el rey!!!! ¿seguro?

Bueno, bueno, bueno, pues con tantas noticias sobre Tizen que están llegando a mis manos, no estamos teniendo mucho tiempo para seguir avanzando en los artículos de programación, pero tranquilos que volveremos a ellos en cuanto tengamos un ratinin, pero creo que la noticia que traemos hoy por estos lares merece un comentario.

Si leeis los post anteriores que he ido escribiendo, veréis que tengo cierta tendencia a meterme un poco con Android, ¡ojo! que yo a este sistema operativo no le tengo nada de manía y me gusta mucho, pero no por eso todo tienen que ser alabanzas ¿no? el caso es que hasta ahora no habéis tenido oportunidad de meternos con iOS, como si la aparición de Tizen no fuera con él, ¿verdad?

Pues nada más lejos de la realidad, y es que si en la entrada de ayer decíamos que temblara Android, hoy podemos decir lo mismo con iOS, y es que si bien Tizen poseerá mecanismo de compatibilidad directa con Android como los de Infrawared o los de OpenMobile, resulta que en Intel han dicho que no van a ser menos con los desarrollos ya realizados sobre iOS, asi que están desarrollando una aplicación llamada APP Porter Tool (podeis encontrar aquí la versión beta) la cual permite portar aplicaciones de IOS a HTML5… si si, habéis leído bien, a HTML5, con lo cual llevarlo a Tizen se convierte en un proceso muy rápido.

Digo muy rápido, porque la herramienta no es una solución completa que realice una transformación 100% de una aplicación iOS, pero acelera el proceso de migración de manera exponencial, se enfoca principalmente en el proceso de los siguientes elementos:

  • El código fuente de Objective-C a JavaScript.
  • Transforma las llamadas del API de iOS a llamadas de objetos JavaScript/HTML5.
  • Iden para las vistas  con Xcode Interface Builder (XIB) y su transformación en ficheros  HTML  y CSS.
  • Conversión de los proyectos Xcode a proyectos Microsoft Visual Studio 2012.

En el siguiente gráfico se resume el proceso de migración de un modo simple para que os hagáis una idea:

translation_objc_into_javascript_high_level

Y si queréis verlo en acción, solamente hacer clic al siguiente vídeo que se presentó en la pasada Game Developer Conference 2013:

Seguimos informando ;-)

Tiembla Android!!! Tiembla!!

Y es que si yo fuera los señores de Google, estaría muy nervioso ante lo que voy a contaros a continuación.

Resulta que la empresa Infraware ha dado a conocer su generador App Polaris (PAG) que se compromete a ejecutar aplicaciones y juegos para Android en la plataforma Tizen sin problemas. Todos los detalles e información adicional sobre su servicio de publicación de Android para Tizen utilizando PAG se dará a conocer en la Conferencia Tizen 22 a 24 mayo 2013.

PAG Infraware se basa en su singular Polaris Android Framework (PAF), desarrollada después de largas investigaciones en la máquina virtual Dalvik (que para quien no lo sepa es la máquina optimizada de ejecución de la que hace uso Android). PAF es una plataforma tecnológica que permite a las aplicaciones Android ejecutarse en plataformas no-Android incluyendo Tizen. Permite a los juegos y las aplicaciones convertidas a Tizen, con la extensión .Tpk, operar sin problemas en diversos dispositivos que utilizan el sistema operativo Tizen.

Y es que las  palabras de Kwak Min Cheol, presidente de Infraware no pueden ser más rotundas:

“Infraware apoyará el nuevo sistema operativo para móviles y su crecimiento constante con nuestra innovadora tecnología y know-how “

para añadir a continuación

“Además, con Tizen y otros plataformas móviles emergentes, estamos comprometidos a explorar y promover el crecimiento continuo de la eficiencia y las oportunidades de mercado de expansión para los desarrolladores de juegos y aplicaciones a través de los esfuerzos tecnológicos y de servicios que minimicen sus costos adicionales.”

A principios de este año OpenMobile ha demostrado su propia solución para ejecutar aplicaciones y juegos de Android en Tizen y sin duda será bueno para ver los pros y los contras de ambas soluciones. Si recordáis a la tecnología de OpenMobile y a su ACL (Application Compability Layer) ya le dedicamos una entrada hace algunos meses, pero la aparición de la solución de Infraware refuerza la solidez con la que Tizen va a presentarse ante los desarrolladores de aplicaciones, que tendrán la posibilidad de ejecutarlas sobre Tizen sin necesidad de tener que reescribir el código. Y cómo desarrollador os aseguro que es algo que se agradece.

De cualquier manera, Android ahora se podrá ejecutar en Tizen! Así que lo dicho tiembla Android!!! tiembla!!! ;-)

La noticia original podéis verla haciendo clic aquí.

Fuente

Próximos temas que se verán en la Tizen Conference 2013

Muy buenas a todos los que me seguís, hoy os traigo noticias frescas y que espero resulten de vuestro interés.

Poco a poco vamos viendo como esto de Tizen va muy en serio, y ya sabemos los temas que han sido elegidos (de entre más de los 160 propuestos) para hablar en los próximos 22 al 24 de Mayo de 2013, en San Francisco, en la Tizen Conference 2013.

Los temas se han dividido en tres grandes categorías a saber:

  • Desarrollo y despliegue de aplicaciones.
    • Una visión general del Framework nativo de Tizen
    • Fundamentos de desarrollo de juegos HTML5
    • Cordova en Tizen Magnolia
    • Presentaciones de Developers: el desarrollo de aplicaciones nativas para dispositivos Tizen
    • Presentaciones de Developers: Desarrollo de aplicaciones Web para dispositivos Tizen
    • HAXM acelera al emulador de Tizen en Windows / Mac
    • Juegos Altamente portables en HTML5 para Tizen
    • Características de HTML5 en Tizen
    • Introducción a las herramientas de desarrollo web minimalistas del Tizen SDK
    • Haciendo aplicaciones nativas con los Frameworks Nativos de Tizen.
    • Migración de Aplicaciones Web existentes para Tizen
    • Portar aplicaciones existentes en PhoneGap para Tizen OS
    • Portar Aplicaciones iOS y Android para Tizen
    • La protección de código fuente de JavaScript en el Runtime Web
    • Concepto de Plataforma Social y Demo: más allá de Tizen 2.x
    • Tizen: Guía de diseño y experiencia de usuario
    • Tizen habilitadores de apoyo (Enablers) y motores de juego
    • Tizen APIs para dispositivo Web y Hands-On Lab
    • Tizen: Utilizando el enfoque inteligente para atraer Aplicaciones
    • WebGL y WebSockets para juegos 3D multijugador y multiplataforma
    • Escriba su Juego “Angry Birds” en Tizen por diversión y dinero
  • Plataforma y el desarrollo para dispositivos
    • Renderizado de HTML5 acelerado para la Plataforma Tizen
    • Gestión de audio para Tizen IVI
    • Mejores prácticas para la plataforma Tizen: desde el código hasta el dispositivo
    • Framework de Contenido de seguridad
    • Experiencias en desarrollo a Wayland HMI basado en Tizen IVI
    • Habilitación de administración de energía y puesta a punto para IA teléfono Tizen
    • WebKit2
    • Wayland para Tizen
    • Puede ser simple, pero ¿Cómo es útil?
    • Proxima generacion BlueZ y dispositivos Bluetooth inteligentes
    • Optimización del rendimiento del Webkit de Tizen: memoria y gráficos
    • Renderizado de Calidad con la Fuente de Pila de Gráficos en WebKit (WebKit’s Open Source Graphics Stack)
    • Descarga de Tizen & Go for IVI
    • Vision General del Servicio de Entrada de datos al dispositivo Tizen (Input Service Framework)
    • Telefonía en Tizen 2.1: ¿qué hay de nuevo?
    • Tizen Web Runtime Update
  • Tizen: proyecto, proceso y progreso
    • Enfoque de desarrollo “In-Vehicle” en software de código abierto
    • Análisis de la seguridad de aplicaciones nativas para la plataforma Tizen
    • El modelo de desarrollo Tizen
    • Tizen: Pruebas de cumplimiento (TCT)
    • Tizen: Descripción y Arquitectura
    • Tizen: introducción al Store
    • Tizen.org: Infraestructura Web
    • Web OS oportunidades y desafíos en el mercado de China

Lo cierto es que los temas elegidos son espectaculares, y muy interesantes, y yo que vosotros si estáis cerca de San Francisco, no me lo perdería.

Para acceder a  la noticia original solo tenéis que hacer clic aquí.

Y nada más, seguimos avanzando.