Lenguajes
La palabra Java, por sí misma, se refiere habitualmente al lenguaje de programación Java, que fue diseñado para usar con la Plataforma Java. Los lenguajes de programación se encuentran fuera del ámbito de lo que es una “plataforma”, aunque el lenguaje de programación Java es uno de los componentes fundamentales de la plataforma Java. El propio lenguaje y el entorno en tiempo de ejecución suelen considerarse una única entidad.
Sin embargo, se han desarrollado fuera del entorno de Sun, un gran número de compiladores para la máquina virtual de Java (JVM). Algunos de estos lenguajes son:
Plataformas similares
El éxito de Java y el concepto y eslogan “write once, run anywhere” (escribir una vez, ejecutar en cualquier parte), ha dado lugar a que se lleven a cabo iniciativas en el mismo sentido. El intento más claro es la plataforma.NET de Microsoft, que copia la mayoría de los conceptos e innovaciones de Java; de hecho, tiene una implementación de Java llamada Visual J# (antes conocida como J++).
Es obvio que la App Store es un gran pilar para iOS. Proporciona contenido, calidad y seguridad. Sin duda, me atrevo a decir que la gran diferencia que hay entre iOS y el resto de sistemas operativos está en el funcionamiento de la App Store, la tienda de aplicaciones más grande del mundo, que supera ya las 800.000 aplicaciones disponibles en la store de los Estados Unidos.
Dentro de estas 800.000 apps, más de la la mitad son gratuitas (56,2%), y el 20,8% del total son juegos para iOS. Sólo 1.639 de las Aplicaciones tienen más de cincuenta notas y cinco estrellas de promedio, que se limitan a las aplicaciones más populares en cada Store y en general a los juegos de gran calado entre el público.
Los ingenieros de Apple se encargan de estudiar y analizar cada aplicación que se les presenta. Que sea la tienda con mayor número de apps no quiere decir que iOS incluya cualquier aplicación sin ser evaluada antes.
Aplicaciones, una batalla perdida para Android
Primer punto a favor de iOS: la tienda de App Store cuentan con las aplicaciones propias desarrolladas por Apple (que no están disponibles en ninguna otra plataforma) y a la vez dispone de las mejores aplicaciones creadas por otras compañías(Google Maps, Facebook, Google Drive, Gmail, etc).
FaceTime, Siri, iPhoto, iWork o Find my iPhone. Estas son algunas de las aplicaciones de gran calidad que únicamente están disponibles para dispositivos como el iPhone, el iPad o el iPod Touch. Es obvio que si quieres utilizarlas estarás obligado a adquirir uno de estos productos. Aquí está el negocio de Apple: ofrecer más que el resto y de mejor calidad.
Actualizaciones, mejor en iOS
Apple ofrece la actualización de su sistema iOS a todos sus dispositivos (sea el iPhone 3G o el 5S) y no depende de la política de ventas de ninguna marca en particular que no sea la suya propia.
Android: Cada fabricante lanza su propio celular con una versión de Android diferente. Las actualizaciones no dependen sólo del fabricante sino también del operador. Puedes llegar a comprar un terminal con sistema Android y quedarte sin poder actualizar las aplicaciones.
Interfaz
Los cambios de interfaz entre versiones de iOS son mínimos y no afectan a la navegación entre las opciones del menú. La inmensa mayoría de los usuarios se saben de memoria el menú de Ajustes, dónde están los iconos y cómo configurar cada opción. Este apartado es bueno, porque podremos cambiar de iPhone como de calcetines pero siempre sabremos cómo utilizarlo sin necesidad de acudir al manual de usuario.
En definitiva, cualquier usuario de smartphones necesitará más horas de aprendizaje para dominar un dispositivo con sistema Android que si lo situamos frente a un terminal iOS. Hay un aspecto "menos positivo", la innovación es mínima y puede llegar a aburrir al usuario.
Mapas
En este apartado, la última versión de iOS 6 se queda un pelín atrasada. La mayoría sabe el motivo, y para los que aún no lo saben les explico: los dispositivos de Apple (iPhone, iPad, iPod Touch) habían contado desde sus inicios con la aplicación Google Maps. Sin embargo, con la llegada de iOS 6 todo cambió, Tim Cook decidió presentar su propia aplicación de Mapas y digamos que le salió el tiro por la culata. Sigue siendo una aplicación inmadura sin estar a la altura de Google Maps. El mismo Cook tuvo que dar marcha atrás y pedir disculpas a los usuarios.
Resumen
El iOS de Apple es el sistema con más aplicaciones disponibles para los usuarios, el más seguro, el más estable y el que ofrece las actualizaciones de sistema de forma más transparente. Su interfaz es la más sencilla y se adapta a cualquier generación.
DESCRIPCION DE LA ARQUITECTURA DE ADOVE AIR
Adobe AIR
Adobe® AIR™ es un motor de ejecución válido para todos los sistemas operativos que le permite aprovechar sus habilidades de desarrollo Web existentes (Adobe® Flash® Professional, Adobe® Flex™, Adobe® Flash Builder™ HTML, JavaScript®, Ajax) para generar e implementar aplicaciones complejas de Internet en su escritorio. AIR le permite trabajar en entornos familiares, para aprovechar las herramientas y enfoques que encuentre más cómodos y es compatible con Flash, Flex, HTML, JavaScript y Ajax, para generar la mejor experiencia posible que satisfaga sus necesidades.
Los usuarios interactúan con las aplicaciones de AIR del mismo modo que con las aplicaciones nativas de escritorio. El motor de ejecución se instala una vez en el ordenador del usuario y después se instalan y ejecutan las aplicaciones de AIR como cualquier otra aplicación de escritorio. El motor de ejecución ofrece una arquitectura y plataforma compatibles con distintos sistemas operativos para la implementación de aplicaciones. La compatibilidad y constancia del funcionamiento y las interacciones en distintos escritorios obvia la necesidad de realizar pruebas en distintos navegadores. En lugar de desarrollar un sistema operativo determinado, especifica el motor de ejecución.
AIR cambia de forma drástica la creación, implementación y experiencia de las aplicaciones. Puede obtener más control creativo y ampliar las aplicaciones basadas en Flash, Flex, HTML y Ajax en su escritorio sin necesidad de aprender tecnologías tradicionales de desarrollo de escritorio.
Para obtener información sobre los requisitos de hardware y software en las aplicaciones de AIR para escritorio y dispositivos móviles, consulte Requisitos del sistema de AIR.
*Vista previa o publicación de una aplicación de Adobe AIR
Puede pre visualizar un archivo SWF de AIR Flash como aparecería en la ventana de la aplicación de AIR. La vista previa es útil si desea ver los efectos visibles de la aplicación sin empaquetar ni instalar la aplicación.
1. Asegúrese de que ha definido como Adobe AIR la configuración de Destino en la ficha Flash del cuadro de diálogo Configuración de publicación.
2. Seleccione Control > Probar película > Probar, o bien, presione Control+ Intro.
Si no ha definido la configuración de la aplicación en el cuadro de diálogo AIR - Configuración de aplicación e instalador, Flash genera un archivo descriptor de la aplicación predeterminado (swfname-app.xml) en la misma carpeta que el archivo SWF. Si ha definido la configuración de la aplicación en el cuadro de diálogo AIR - Configuración de aplicación e instalador, el archivo descriptor de la aplicación reflejará dicha configuración.
Para publicar un archivo de AIR, realice una de las acciones siguientes:
• Haga clic en el botón Publicar en el cuadro de diálogo Configuración de publicación.
• Haga clic en el botón Publicar en el cuadro de diálogo AIR - Configuración de aplicación e instalador.
• Elija Archivo > Publicar.
• Elija Archivo > Vista previa de publicación.
Cuando publica un archivo de AIR, Flash Pro crea un archivo SWF y un archivo descriptor de la aplicación XML y empaqueta copias de ambos junto con cualquier otro archivo que haya agregado a la aplicación, en un archivo de instalación de AIR.
*Versión (Versión)
Opcional. Especifica un número de versión de la aplicación. El valor predeterminado es 1.0.
Configuración avanzada
La ficha Avanzado permite especificar opciones de configuración avanzada para el archivo descriptor de la aplicación.
Se puede especificar cualquier tipo de archivo asociado que la aplicación de AIR deba administrar. Por ejemplo, si desea que la aplicación sea la principal para la gestión de archivos HTML, deberá especificarlo en el cuadro de texto Tipos de archivos asociados.
También puede especificar los ajustes para los siguientes aspectos de la aplicación:
• El tamaño y la colocación de la ventana inicial
• La carpeta en la que se instala la aplicación
• La carpeta de menú de programa en la que se coloca la aplicación.
El cuadro de diálogo tiene las siguientes opciones:
*Configuración de ventana inicial
Permite especificar los ajustes de tamaño y colocación para la ventana inicial de la aplicación.
•Ancho: especifica el ancho inicial de la ventana en píxeles. El valor predeterminado es en blanco.
•Alto: especifica el alto inicial de la ventana en píxeles. El valor predeterminado es en blanco.
•X: especifica la posición horizontal inicial de la ventana en píxeles. El valor predeterminado es en blanco.
•Y: especifica la posición vertical inicial de la ventana en píxeles. El valor predeterminado es en blanco.
•Ancho máximo y Alto máximo: especifica el tamaño máximo de la ventana en píxeles. Los valores predeterminados son en blanco.
•Ancho mínimo y Alto mínimo: especifica el tamaño mínimo de la ventana en píxeles. Los valores predeterminados son en blanco.
•Maximizable: le permite especificar si el usuario puede maximizar la ventana. De forma predeterminada esta opción aparece seleccionada (o es verdadera).
•Minimizable: le permite especificar si el usuario puede minimizar la ventana. De forma predeterminada esta opción aparece seleccionada (o es verdadera).
•Redimensionable: le permite especificar si el usuario puede cambiar el tamaño de la ventana. Si no se selecciona esta opción, se atenuarán las opciones Ancho máximo, Alto máximo, Ancho mínimo y Alto mínimo. De forma predeterminada esta opción aparece seleccionada (o es verdadera).
•Visible: le permite especificar si desea que la ventana de la aplicación se visualiza al inicio. De forma predeterminada la opción aparece seleccionada (o es verdadera).
VENTAJAS DE ADOVE AIR
Ventajas de Adobe AIR: Ser multiplataforma, te permite trabajar en forma offline y no te cuelga el OS si una aplicación no responde.
Efectos de movimiento y de filtros para el video.
No hay que convertir el formato bajado.
Mayor control sobre la programación con catálogos dedicados a cadenas.
Todas las herramientas concedidas para un player multimedia.
Permite con gran velocidad y calidad de imagen.
DESVENTAJAS DE ADOVE IAR
Desventajas de Adobe Air en móviles: ¿no va a querer usar mucho poder de procesamiento solo para funcionar? los Smartphone están todavía batallando contra el poder de procesamiento vs. Consumo de energía y eso puede ser algo en contra.
Desventajas de Adobe Air en móviles: ¿no va a querer usar mucho poder de procesamiento solo para funcionar? los Smartphone están todavía batallando contra el poder de procesamiento vs. Consumo de energía y eso puede ser algo en contra.
SISTEMA OPERATIVO QUE UTILIZA ADOVE AIR
Es un motor de ejecución multipantalla válido para todos los sistemas operativos que le permite aprovechar sus habilidades de desarrollo web para crear e implementar aplicaciones enriquecidas de Internet (RIA) en el escritorio y dispositivos móviles. Las aplicaciones de AIR móviles, de televisión y escritorio se pueden crear con ActionScript 3.0 utilizando Adobe® Flex y Adobe® Flash® (basado en SWF). Las aplicaciones de AIR de escritorio también se pueden crear con HTML, JavaScript® y Ajax (basado en HTML).
Para obtener más información sobre el uso y una introducción a Adobe AIR, consulte Adobe AIR Develo per Connection (Centro de desarrollo de Adobe AIR) (en inglés).
AIR permite el trabajo en entornos conocidos para aprovechar las herramientas y los procesos con los que se encuentra más cómodo. Al admitir Flash, Flex, HTML, JavaScript y Ajax, es posible obtener la mejor experiencia posible que se adapte a sus necesidades.
Por ejemplo, se pueden desarrollar aplicaciones utilizando una de las tecnologías siguientes o combinando varias de ellas:
· Flash/Flex/ActionScript
· HTML/JavaScript/CSS/Ajax
Los usuarios interactúan con las aplicaciones de AIR del mismo modo que con las aplicaciones nativas. El motor de ejecución se instala una vez en el ordenador del usuario o dispositivo y después se instalan y ejecutan las aplicaciones de AIR como cualquier otra aplicación de escritorio. (En iOS, no se instala un motor de ejecución de AIR independiente; todas las aplicaciones de AIR de iOS son independientes.)
El motor de ejecución ofrece una arquitectura y plataforma compatibles con distintos sistemas operativos para la implementación de aplicaciones. La compatibilidad y constancia del funcionamiento y las interacciones en distintos escritorios obvia la necesidad de realizar pruebas en distintos navegadores. En lugar de desarrollar programas para un sistema operativo determinado, el desarrollador centra sus esfuerzos en el motor de ejecución, lo cual ofrece las siguientes ventajas:
· Las aplicaciones desarrolladas para AIR se ejecutan en varios sistemas operativos distintos sin suponer trabajo adicional para el desarrollador. El motor de ejecución asegura una presentación e interacciones constantes y predecibles en todos los sistemas operativos compatibles con AIR.
· Las aplicaciones se pueden crear de forma más rápida permitiendo el aprovechamiento de tecnologías web y patrones de diseño existentes. Las aplicaciones basadas en web se pueden ampliar al escritorio sin tener que aprender las tecnologías de desarrollo en escritorio tradicionales o la complejidad del código nativo.
· El desarrollo de aplicaciones resulta más fácil que cuando se utilizan lenguajes de nivel inferior como C y C++. No hace falta gestionar las complejas API de nivel inferior que son específicas para cada sistema operativo.
Al desarrollar aplicaciones para AIR se puede aprovechar un juego enriquecido de arquitecturas e interfaces API:
· API específicas para AIR proporcionadas por el motor de ejecución y la arquitectura de AIR
· API de ActionScript utilizadas en archivos SWF y la arquitectura de Flex (además de otras bibliotecas y arquitecturas basadas en ActionScript)
· HTML, CSS y JavaScript
· La mayoría de las arquitecturas de Ajax
· Las extensiones nativas para Adobe AIR proporcionan API de ActionScript que permiten acceder a funciones específicas de la plataforma programadas con código nativo. Las extensiones nativas también proporcionan acceso al código nativo heredado y el código nativo siempre aporta mayor rendimiento.
AIR es toda una novedad en la forma de crear, implementar y experimentar las aplicaciones. Puede obtener más control creativo y ampliar las aplicaciones basadas en Flash, Flex, HTML y Ajax en su escritorio, dispositivos móviles y televisiones.
Para obtener información sobre los elementos incluidos en cada nueva actualización de AIR, consulte las notas de la versión de Adobe AIR
LENGUAJE DE DESARROLLO Y BIBLIOTECAS
- PHP (Lenguaje Orientado a Objetos)
- MySql (Gestor de Datos muy usado con PHP)
- ASP.net (Lenguaje Orientado a Objetos)
- Ruby on Rails (Escrito en el LP Ruby)
- Adobe Flash o Flex Builder (Programación con archivos .MXML dinámicos)
- ActionScript 3.0 (Trabaja a par con F. Builder y Flash Profesional)
Para aplicaciones de escritorio (Windows)
- Visual Studio
- Visual Basic (Lenguaje Orientado a Objetos, muy bueno para los que son nuevos programando)
- C++ (Lenguaje Orientado a Objetos, este ya es un poco mas para avanzado por su complejidad)
- Adobe Air (Adobe air da una nueva opción para el desarrollo de app de escritorio en el entorno de flash, poco a poco se esta haciendo mas popular.)
- MySql (Gestor de Datos muy usado con PHP)
- ASP.net (Lenguaje Orientado a Objetos)
- Ruby on Rails (Escrito en el LP Ruby)
- Adobe Flash o Flex Builder (Programación con archivos .MXML dinámicos)
- ActionScript 3.0 (Trabaja a par con F. Builder y Flash Profesional)
Para aplicaciones de escritorio (Windows)
- Visual Studio
- Visual Basic (Lenguaje Orientado a Objetos, muy bueno para los que son nuevos programando)
- C++ (Lenguaje Orientado a Objetos, este ya es un poco mas para avanzado por su complejidad)
- Adobe Air (Adobe air da una nueva opción para el desarrollo de app de escritorio en el entorno de flash, poco a poco se esta haciendo mas popular.)
BASE DE DATOS QUE SOPORTA
-Soporta transacción ACID.
-Cero- configuración = solución compacta.
-SQL-92
-Base de datos completa =archivo de disco.
-Soporte bases de datos tamaño terabyte.
EMULADORES CON LOS QUE CUENTA.
El primer argumento transmitido a ADT especifica uno de los siguientes comandos.
•Package: empaqueta una aplicación de AIR o extensión nativa de AIR (ANE).
•Prepare: empaqueta una aplicación de AIR como archivo intermedio (AIRI), pero no lo firma. Los archivos de AIRI no se pueden instalar.
•Sign: firma un paquete de AIRI producido con el comando -prepare. Los comandos -prepare y -sign permiten que el empaquetado y la firma se realicen en diferentes momentos. También se puede utilizar el comando -sign para firmar o volver a firmar un paquete ANE.
•Migrate: aplica una firma de migración a un paquete firmado de AIR, que permite utilizar un certificado de firma de código nuevo o renovado.
•Certifícate: crea un certificado de firma de código digital con firma automática.
•Checkstore: verifica que se pueda acceder a un certificado digital en un almacén de claves.
•InstallApp: instala una aplicación de AIR en un dispositivo o emulador de dispositivo.
•LaunchApp: inicia una aplicación de AIR en un dispositivo o emulador de dispositivo.
•AppVersion: indica la versión de una aplicación de AIR instalada actualmente en un dispositivo o emulador de dispositivo.
•UninstallApp: desinstala una aplicación de AIR de un dispositivo o emulador de dispositivo.
•InstallRuntime: instala el motor de ejecución de AIR en un dispositivo o emulador de dispositivo.
•RuntimeVersion: indica la versión del motor de ejecución de AIR instalado actualmente en un dispositivo o emulador de dispositivo.
•UninstallRuntime: desinstala el motor de ejecución de AIR instalado actualmente de un dispositivo o emulador de dispositivo.
•Versión: indica el número de versión de ADT.
•Devices: proporciona información de dispositivo para los dispositivos móviles o emuladores conectados.
•Help: muestra la lista de comandos y opciones.
Diversos comandos de ADT comparten conjuntos relacionados de parámetros e indicadores de opción. Estos conjuntos de opciones se describen detalladamente por separado:
•Opciones de firma de código de ADT
•Opciones de ruta y archivo
•Opciones de conexión del depurador
•Opciones de extensiones nativas
MONO
DESCRIPCION DE LA ARQUITECTURA DE MONO
Mono es una plataforma de desarrollo para Linux.
Máquina virtual (common lenguaje runtime).
Biblioteca de clases / PLs (biblioteca clases de ECMA, clases propias y clases de compatilidad con Microsoft / Net).
Compilador de C# (MCS).
*PORQUE LLAMARSE MONO.
-Las plataformas de desarrollo de Linux son inmaduras.
-La plataforma está fragmentada.
-L as herramientas de desarrollo son para ‘Hakers’.
-La necesidad de una velocidad mayor de TTM
(Time To Market) requiere herramientas más sofisticadas.
*Una solución para desarrollo de aplicaciones en Linux.
Mono es una excelente plataforma para desarrollar aplicaciones en Linux.
-Manejo automático de memoria.
-Biblioteca de clases muy completa.
*MULTILENGUAJE.
-C#
-VB.NET
-Nermele
-IronPython
SISTEMA OPERATIVO QUE UTILIZA MONOEn algunos sistemas operativos se accede al sistema reproductor de un usuario único que tiene permiso para realizar cualquier operación. Este es el caso de los sistemas operativos más antiguos como MS-DOS y algunos más recientes como la serie Windows 95/98/Me de Microsoft o MacOS (antes de MacOS X) de Macintosh. En estos sistemas no existe una diferenciación clara entre las tareas que realiza un administrador del sistema y las tareas que realizan los usuarios habituales, no disponiendo del concepto de multiusuario, un usuario común tiene acceso a todas las capacidades del sistema, pudiendo borrar, incluso, información vital para su funcionamiento. Un usuario malicioso (remoto o no) que obtenga acceso al sistema podrá realizar todo lo que desee por no existir dichas limitaciones.
*MONOPROCESO
Un sistema operativo monoproceso es aquel que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistema es el DOS y MacOS.
*SISTEMAS OPERATIVOS:
LENGUAJES DE DESARROLLO Y BIBLIOTECAS.
Básicamente el proyecto Mono comenzó con un compilador de C#. La idea inicial era explorar hasta qué punto el lenguaje C# y la arquitectura propuesta para su máquina virtual (VM) podían ser una opción que mejorara las condiciones de producción de los desarrolladores de software libre. Como lenguaje de programación, C# recuerda mucho al lenguaje Java.
Actualmente existen en el repositorio muchas aplicaciones desarrolladas con Mono las más conocidas son:
- Banshee, reproductor musical por defecto en Ubuntu 11.10.
- Gnome-rdp, para conexiones de escritorio remoto.
- Tomboy, para crear notas en el escritorio.
- Gnome-do.
- F-Spot, visor y organizador de imágenes para el escritorio GNOME.
- Monotorrent.
Es importante decir que Mono es actualmente multiplataforma lo cual es una gran ventaja para los desarrolladores.
BASE DE DATOS QUE SOPORTA MONO.
El código de Mono 3.0 fue publicado en GitHub el pasado 18 de octubre, y en esa nueva versión se incluyen algunas de las características clave de la plataforma .NET, y entre ellas las nuevas capacidades de desarrollo en Mono para Mac OS X e iOS.
El compilador de Mono 3.0 para el lenguaje de programación C# ahora da soporte a la programación asíncrona, que Microsoft introdujo en .NET 4.5. Esta característica permite que las aplicaciones sigan respondiendo a la entrada de datos mientras esperan a que una tarea de largo proceso se complete.
La inclusión de la pila de desarrollo web ASP disponible en versión Open Source también está disponible, incluyendo System. Json, además de la inclusión de mejoras destacables en el recolector de basura (SGen), una parte del entorno de ejecución Mono que “recupera” la memoria de procesos que ya no la necesitan, permitiendo distribuir tareas entre múltiples CPU cuando es necesario.
En Mac OS X y en iOS hay más ventajas aún, ya que en OS X es posible compilar aplicaciones de 64 bits y además se incluirá la versión 3.0 del lenguaje de programación funcional F#. En el caso de iOS, la implementación de Mono de la base de datos SQLite ya soporta las API de cifrado de IOS, permitiendo almacenar datos de forma segura en aplicaciones desarrolladas para el iPhone o el iPad.
EMULADORES CON LOS QUE CUENTA
El equipo de Mono ha abierto finalmente la versión preliminar de MonoDroid para todo el mundo. Con esta nueva versión preliminar, además, agregaron soporte para desarrollo en Mac OS utilizando MonoDevelop con el AddIn correspondiente. Mono en Android instala la máquina virtual de Mono, con una versión reducida de las bibliotecas conteniendo sólo lo que tiene sentido en un dispositivo Android.
Además de permitir de esta manera programar en C# en lugar de Java (el único lenguaje completamente soportado por Google en Android), MonoDroid incluye una adaptación completa de las API de Dalvik (la máquina virtual de Android) con una interfaz mucho más familiar para desarrolladores C#, incluyendo propiedades, eventos, tipos genéricos, y realizando conversiones de manera automática cuando es necesario. Aprovechando que se ha liberado y agregaron soporte completo para Mac, les dejo unas imágenes capturadas tras actualizar mi entorno y probar la aplicación que viene como plantilla (estilo Hello, Word).
No hay comentarios.:
Publicar un comentario