Versión:
Android 1.0 Apple Pie.
Licencia:
Apache.
Caracteristicas:
*Android Market Programa con un mercado para la descarga y actualización de aplicaciones.
*Navegador Web para visualizar páginas webs en full HTML y XHTML – múltiples páginas mostradas como ventanas ("tarjetas").
*Soporte Cámara – sin embargo esta versión carece de la opción de cambiar la resolución de la cámara, balance de blancos, calidad, etc.
*Carpo de iconos de aplicaciones dentro de una simple carpeta en la pantalla de inicio.
*Acceso a servidores de correo electrónico por web, soporte POP3, IMAP4 y SMTP.
Versión:
Android 1.1 Banana Bread.
Licencia:
Apache.
Caracteristicas:
*Detalles y reseñas disponibles cuando un usuario busca negocios en los mapas.
*Pantalla en llamada más larga por defecto cuando están en uso el manos libres, además la habilidad de mostrar/esconder el marcador.
*Posibilidad de guardar archivos adjuntos en los mensajes.
*Añadido soporte para marquesina en diseños de sistemas.
Versión:
Android 1.5 Cupcake.
Licencia:
Apache.
Caracteristicas:
*Soporte para teclados virtuales de terceros con predicción de texto y diccionario de usuarios para palabras personalizadas.
*Soporte para Widgets - vistas de miniaturas de las aplicaciones que pueden ser incrustadas en otras aplicaciones (tal como la pantalla inicio) y recibir actualizaciones periódicas.
*Grabación y rep en formatos MPEG-4 y 3GP.
*Auto-sincronización y soporte para Bluetooth estéreo añadido (perfiles A2DP y AVRCP)
*Características de Copiar y pegar agregadas al navegador web.
Versión:
Android 1.6 Dount.
Licencia:
Apache.
Caracteristicas:
*Mejora en la búsqueda por entrada de texto y voz para incluir historial de favoritos, contactos y la web.
*Habilidad de los desarrolladores de incluir su contenido en los resultados de búsqueda.
*Motor multi-lenguaje de Síntesis de habla para permitir a cualquier aplicación de Android "hablar" una cadena de texto.
*Búsqueda facilitada y habilidad para ver capturas de las aplicaciones en el Android Market(Google Play).
*Galería, cámara y videocámara con mejor integración, con rápido acceso a la cámara.
Versión:
Android 2.0/2.1 Eclair.
Licencia:
Apache.
Caracteristicas:
*Sincronización cuenta expandida, permitiendo a los usuarios agregar múltiples cuentas al dispositivo para sincronización de correo y contactos.
*Soporte intercambio de correo, con bandeja combinada para buscar correo desde múltiples cuentas en la página.
*Soporte Bluetooth 2.1.
*Habilidad para tocar un foto de un contacto y seleccionar llamar, enviar SMS o correo a la persona.
*Modificaciones menores de la API y correcciones de errores.
Versión:
Android 2.2.x Froyo.
Licencia:
Apache.
Caracteristicas:
*Optimizaciones en velocidad, memoria y rendimiento.
*Mejoras adicionales de rendimiento de aplicación, implementadas mediante compilación Just-in-time (JIT).
*Integración del motor de JavaScript V8 de Chrome en el navegador.
*Soporte para el servicio Android Cloud to Device Messaging (C2DM), habilitando notificaciones push
*Soporte para Microsoft Exchange mejorado, incluyendo políticas de seguridad, auto-descubrimiento, consulta a la Global Access List (GAL), sincronización de calendario, y borrado remoto.
Versión:
Android 2.3.x Gingerbread.
Licencia:
Apache.
Caracteristicas:
*Actualizado el diseño de la interfaz de usuario con incrementos en velocidad y simpleza.
*Soporte para tamaños y resoluciones de pantalla extra-grandes (WXGA y mayores).
*Soporte nativo para SIP y telefonía por internet VoIP.
*Entrada de texto del teclado virtual más rápida e intuitiva, con mejoras en precisión, texto sugerido y entrada por voz.
*Mejoras en la funcionalidad de copiar/pegar, permitiendo a los usuarios seleccionar una palabra al presionar-mantener, copiar y pegar.
Versión:
Android 3.x Honeycomb.
Licencia:
Apache.
Caracteristicas:
*Soporte optimizado para tablets, con una nueva y "virtual" interfaz de usuario holográfica.
*Agregada barra de sistema, con características de acceso rápido a notificaciones, estados y botones de navegación suavizados, disponible en la parte inferior de la pantalla.
*Añadida barra de acción (Action Bar en inglés), entregando acceso a opciones contextuales, navegación, widgets u otros tipos de contenido en la parte superior de la pantalla.
*Teclado rediseñado, permitiendo una escritura rápida, eficiente y acertada en pantallas de gran tamaño.
*Interfaz simplificada y más intuitiva para copiar/pegar.
Versión:
Android4.0.x Ice Cream Sandwich.
Licencia:
Apache.
Caracteristicas:
*Botones software(en pantalla) Android 3.x están ahora disponibles para usar en los teléfonos móviles.
*Separación de widgets en una nueva pestaña, listados de forma similar a las aplicaciones.
*Facilidad para crear carpetas, con estilo de arrastrar y soltar.
*Lanzador personalizable.
Buzón de voz mejorado con la opción de acelerar o retrasar los mensajes del buzón de voz.
Versión:
Android 4.1 Jelly Bean.
Licencia:
Apache.
Caracteristicas:
*Interfaz de usuario más fluida:
*Mejoras en accesibilidad.
*Soporte de texto bi-direccional y otros lenguajes.
*Mapas de teclado usuario-instalable.
*Capacidad para desactivar las notificaciones de forma específica para una aplicación.
sábado, 27 de febrero de 2016
ENTORNOS DE TRABAJO PARA APLICACIONES MOVILES (CARACTERISTICAS, VENTAJAS Y DESVENTAJAS)
Eclipse:
Caracteristicas:
*Dispone de un editor de texto con resaltador de sintaxis.
*La compilación es en tiempo real
*Tiene pruebas unitarias con (JUnit).
*Control de versiones con (CVS).
*Integración con (Ant),
*Asistentes (wizards) para creación de proyectos
*Clases, test, etc...
*El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para proporcionar toda su funcionalidad al frente de la Plataforma de Cliente rico, a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no.
*Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos.
Desventajas:
*Su principalmente inconveniente, común a otros IDEs en mayor o menor medida, en el consumo de recursos del sistema.*También que carece de mucho soporte para webapps (.war, jsp y servlets) tal y como lo hace netbeans. (los plugins por lo general no son ni tan potentes ni tan sencillos como el módulo que en Netbeans viene preinstalado).
Netbeans:
Caracteristicas:
*Soporte JavaScript
*Mejora en el desempeño
*Soporte en estructuras sprint
*Nuevo soporte MySQL en la exploración de bases de datos
*Soporte en Java Beans
*Generador JSF CRUD
*Soporte Ruby/JRuby*Competición de código JavaDoc
*Soporte para los web APIs más usados
*Soporte RESTFul web servís
*Compartir proyectos (Librerías compartidas AKA)
*Nuevas extensiones (Plugins)
*Java Moviliti (Aplicaciones como móviles)
*Vista previa de características post-6.1
Ventajas:
*La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicacion.
*Reutilizacion de modulos.
*Permite el uso de la herramienta.
*Update Center Module.
*Instalacion y actualizacion simple.
*Incluye Templates y Wizards.
*Posee soporte para Php.
Desventajas:
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentacion del Rich Client Plataform (RCP).
*Carece de soportes webapps.
JCreator:
Caracteristicas:
*El editor tiene las características básicas usuales: insertar, borrar y actualizar texto, soporte para copy, cut y paste, undo ilimitado entre otras.
*Además, tiene las siguientes características:
Class wizard: El editor de JCreator le permite agilizar el proceso de crear clases, ingresar métodos y atributos con este wizard. *Para acceder a el hay que hacer clic en el menu Project y luego en new class...
*Numeros de línea: Por defecto JCreator enseña líneas con numero mientras se ingresa el código.
*Esto le permite referenciar más facil el código fuente referenciandolo con estos números de línea.
*Resaltado de sintaxis: JCreator resalta varios elementos de código fuente, como nombres de métodos y palabras claves como new y class.
Ventajas:
*Enorme cantidad de plantillas para trabajos rápidos.
*Administrador de proyectos guiados.
*Editor de sintaxis incorporado.
*Intefaz de depuración independiente.
*Función de coloreado de comandos.
Desventajas:
*Está pensado para el desarrollo de software en Java y no soporta otros idiomas.
*No se pueden crear una base de datos.
*No se pude crear el lenguaje UML.
*La herramienta no es lo suficientemente potente para el desarrollo de sistemas grandes y complejos.
BlueJ:
Caracteristicas:
*Bluej está desarrollado 100% sobre Java, lo que lo hace multiplataforma y entre sus características más llamativas está, el utilizar muy pocos recursos de la máquina.
*Su característica mas relevante, es un sistema parecido al UML que nos modela de manera gráfica el comportamiento y las relaciones que existen entre clases. *Ambiente completamente integrado.
*Visualización Gráfica de la estructura de las clases. *Edición grafica y textual. Built-in editor, compilador, máquina virtual, depurador. *Interfase fácil de usar, ideal para principiantes. Llamadas y creación de objetos interactiva.
Ventajas:
*Solo no está disponible en version inglés.
*RESULTA Complicada el correr los Programas.
*Es incomoda para Programadores Expertos.
*Su Entorno no muy amigable.
Desventajas:
*Resulta complicada la corrida de los programas, para programadores expertos.
*Su entorno no es muy amigable.
*No incluye la tecnología de base de datos.
*Solamente admite el lenguaje Java.
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentación del Rich Client Plataform (RCP).
*Carece de soportes webapps(.war, jsp y servlets).
JBuilder:
Caracteristicas:
*Maximiza la productividad de los desarrolladores.
*Incluye varios diseñadores visuales, incluyendo EJB y diseñadores APP permite a los desarrolladores para crear un modelo visual, ya que el desarrollo de aplicaciones EJB permitirá la creación de un proyecto de modelado de Java con el apoyo de la APP
*Un diseñador de Web Services que proporciona una representación visual de dos modos de diseño para la creación de servicios habilitados para las aplicaciones basadas en Web del Eje.
*Y un diseñador de interfaz de usuario de Swing para la creación rápida y fácil de base Swing-IU.
Ventajas:
*Reducir la curva de aprendizaje mediante el uso de la IDE misma para múltiples plataformas.
*La velocidad de desarrollo con soporte para las últimas tecnologías Java.
*Mayor facilidad de uso y función de navegación.
* Fácil mover los proyectos de JBuilder y Eclipse adelante.
*Experiencia sin igual de la productividad y la reutilización de código.
*Crear rápidamente sofisticadas aplicaciones basadas en Swing.
*Analizar, depurar y ajustar las aplicaciones en el IDE.
*Aumentar la productividad individual y de equipo.
*Acelerar la creación de servicios Web.
*Mejorar la productividad y la comprensión del código con el modelado UML y arqueología de código.
*Mejorar la calidad del código con las auditorías y métricas.
*La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicación.
*Reutilización del Módulos.
*Permite el uso de la herramienta
*Update Center Module.
*Instalación y actualización simple.
*Incluye Templates y Wizards.
*Posee soporte para Php.
Desventajas:
*Consume muchos recursos.
*Se torna lento a la hora de compilar los archivos.
Caracteristicas:
*Dispone de un editor de texto con resaltador de sintaxis.
*La compilación es en tiempo real
*Tiene pruebas unitarias con (JUnit).
*Control de versiones con (CVS).
*Integración con (Ant),
*Asistentes (wizards) para creación de proyectos
*Clases, test, etc...
Ventajas:
*Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos.
Desventajas:
*Su principalmente inconveniente, común a otros IDEs en mayor o menor medida, en el consumo de recursos del sistema.*También que carece de mucho soporte para webapps (.war, jsp y servlets) tal y como lo hace netbeans. (los plugins por lo general no son ni tan potentes ni tan sencillos como el módulo que en Netbeans viene preinstalado).
Netbeans:
Caracteristicas:
*Soporte JavaScript
*Mejora en el desempeño
*Soporte en estructuras sprint
*Nuevo soporte MySQL en la exploración de bases de datos
*Soporte en Java Beans
*Generador JSF CRUD
*Soporte Ruby/JRuby*Competición de código JavaDoc
*Soporte para los web APIs más usados
*Soporte RESTFul web servís
*Compartir proyectos (Librerías compartidas AKA)
*Nuevas extensiones (Plugins)
*Java Moviliti (Aplicaciones como móviles)
*Vista previa de características post-6.1
Ventajas:
*La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicacion.
*Reutilizacion de modulos.
*Permite el uso de la herramienta.
*Update Center Module.
*Instalacion y actualizacion simple.
*Incluye Templates y Wizards.
*Posee soporte para Php.
Desventajas:
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentacion del Rich Client Plataform (RCP).
*Carece de soportes webapps.
JCreator:
Caracteristicas:
*El editor tiene las características básicas usuales: insertar, borrar y actualizar texto, soporte para copy, cut y paste, undo ilimitado entre otras.
*Además, tiene las siguientes características:
Class wizard: El editor de JCreator le permite agilizar el proceso de crear clases, ingresar métodos y atributos con este wizard. *Para acceder a el hay que hacer clic en el menu Project y luego en new class...
*Numeros de línea: Por defecto JCreator enseña líneas con numero mientras se ingresa el código.
*Esto le permite referenciar más facil el código fuente referenciandolo con estos números de línea.
*Resaltado de sintaxis: JCreator resalta varios elementos de código fuente, como nombres de métodos y palabras claves como new y class.
Ventajas:
*Enorme cantidad de plantillas para trabajos rápidos.
*Administrador de proyectos guiados.
*Editor de sintaxis incorporado.
*Intefaz de depuración independiente.
*Función de coloreado de comandos.
Desventajas:
*Está pensado para el desarrollo de software en Java y no soporta otros idiomas.
*No se pueden crear una base de datos.
*No se pude crear el lenguaje UML.
*La herramienta no es lo suficientemente potente para el desarrollo de sistemas grandes y complejos.
BlueJ:
Caracteristicas:
*Bluej está desarrollado 100% sobre Java, lo que lo hace multiplataforma y entre sus características más llamativas está, el utilizar muy pocos recursos de la máquina.
*Su característica mas relevante, es un sistema parecido al UML que nos modela de manera gráfica el comportamiento y las relaciones que existen entre clases. *Ambiente completamente integrado.
*Visualización Gráfica de la estructura de las clases. *Edición grafica y textual. Built-in editor, compilador, máquina virtual, depurador. *Interfase fácil de usar, ideal para principiantes. Llamadas y creación de objetos interactiva.
Ventajas:
*Solo no está disponible en version inglés.
*RESULTA Complicada el correr los Programas.
*Es incomoda para Programadores Expertos.
*Su Entorno no muy amigable.
Desventajas:
*Resulta complicada la corrida de los programas, para programadores expertos.
*Su entorno no es muy amigable.
*No incluye la tecnología de base de datos.
*Solamente admite el lenguaje Java.
*Muy pesado, sobre todo si se tienen varios proyectos.
*Poca existencia de plug-in para esta plataforma.
*Hace falta documentación del Rich Client Plataform (RCP).
*Carece de soportes webapps(.war, jsp y servlets).
JBuilder:
Caracteristicas:
*Maximiza la productividad de los desarrolladores.
*Incluye varios diseñadores visuales, incluyendo EJB y diseñadores APP permite a los desarrolladores para crear un modelo visual, ya que el desarrollo de aplicaciones EJB permitirá la creación de un proyecto de modelado de Java con el apoyo de la APP
*Un diseñador de Web Services que proporciona una representación visual de dos modos de diseño para la creación de servicios habilitados para las aplicaciones basadas en Web del Eje.
*Y un diseñador de interfaz de usuario de Swing para la creación rápida y fácil de base Swing-IU.
Ventajas:
*Reducir la curva de aprendizaje mediante el uso de la IDE misma para múltiples plataformas.
*La velocidad de desarrollo con soporte para las últimas tecnologías Java.
*Mayor facilidad de uso y función de navegación.
* Fácil mover los proyectos de JBuilder y Eclipse adelante.
*Experiencia sin igual de la productividad y la reutilización de código.
*Crear rápidamente sofisticadas aplicaciones basadas en Swing.
*Analizar, depurar y ajustar las aplicaciones en el IDE.
*Aumentar la productividad individual y de equipo.
*Acelerar la creación de servicios Web.
*Mejorar la productividad y la comprensión del código con el modelado UML y arqueología de código.
*Mejorar la calidad del código con las auditorías y métricas.
*La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicación.
*Reutilización del Módulos.
*Permite el uso de la herramienta
*Update Center Module.
*Instalación y actualización simple.
*Incluye Templates y Wizards.
*Posee soporte para Php.
Desventajas:
*Consume muchos recursos.
*Se torna lento a la hora de compilar los archivos.
viernes, 26 de febrero de 2016
COMO INSTALAR ECLIPSE CON EL PLUGIN ANDROID PASO A PASO.
Android ofrece un plugin personalizado para el IDE de Eclipse, llamado Android Development Tools (ADT), para programar con esta solución, necesitas descargarte Java JDK y el propio Eclipse versión Indigo.
1.- Java JDK 6. http://www.oracle.com/technetwork/java/javase/downloads/index.html.
Cuando pulses sobre el botón"JDK Download" te llevara a otra pantalla, ve a la parte de Java JDK, tendrás que aceptar una licencia y ya seleccionar el sistema operativo que usas (windows, mac, 32bit(x86) o 64bit(x64)....)
A continuación, veremos una pantalla de bienvenida, esta pantalla la podrás cerrar pulsando la tecla ESCAPE o pulsando sobre la X en la esquina superior Izquierda. Una vez cerrada, entramos la ventana de trabajo principal, en la siguiente lección, explico paso a paso que es cada cosa y para que sirve cada uno de los elementos de la barra de menús.
Se abrirá una ventana, espera hasta que el listado se cargue por completo, en ese momento podrás ver las carpetas correspondientes a todas las versiones de cada versión de sistema operativo Android, en función de la versión para que quieras desarrollar aplicaciones, marca la casilla correspondiente y pulsa en la parte inferior “Install packages…” para comenzar con su descarga.
Para saber como se cambia la ruta o como se comprueba que el SDK esta bien instalado, en la barra de menú busca: Windows > Preferences.
1.- Java JDK 6. http://www.oracle.com/technetwork/java/javase/downloads/index.html.
2.- Eclipse Indigo (v 3.7.2 o mayor). http://eclipse.org/downloads/packages/release/Indigo/SR2
como veras hay varias compilaciones de Indigo, debes asegurarte que llevaEclipse JDT plugin (que esta incluido en la mayoría de los paquetes de Eclipse IDE) yo te recomiendo que descargues la versión que te marco aquí abajo (Eclipse IDE for Java Developers).
La instalación de Eclipse es sencilla, basta con que descomprimas el archivo que te descargaste, y saques un acceso directo del ejecutable Eclipse.exe que encontraras dentro de la carpeta Eclipse.
Una vez que hayas instalado el Java JDK y tengas Eclipse localizado, toca instalar el Plugin de Android para Eclipse, para esto haz lo siguiente:
1. Inicia Eclipse, lo primero que te preguntara será sobre la ubicación del WorkSpace, esta es la ubicación donde se guardaran tus proyectos, selecciona una ruta y acepta el dialogo. Truco: Si usas varios PC's usa DropBox o Drive para tener tus proyectos en todos tus PC's.
Después selecciona en el menú superior, selecciona Help > Install New Software.
2. Haz Click en Add, en la esquina superior derecha, en la ventana que aparece escribe "ADT Plugin" para el Name y la siguiente URL para la Location:
https://dl-ssl.google.com/android/eclipse/
3. Haz Click en OK.
4. Aparecerá entonces el software disponible, debes seleccionar el repositorio Developer Tools y hacer click en Next.
4. Aparecerá entonces el software disponible, debes seleccionar el repositorio Developer Tools y hacer click en Next.
5. En la siguiente ventana, veras la lista del software que se va a descargar, haz Click en Next.
6. Lee y acepta la license agreements, después haz click en Finish.
Nota: Es muy posible que te aparezca un mensaje de aviso diciendo que la conexión ni es segura. Acepta el dialogo y continua, cuando termine la descarga reinicia Eclipse.
Tienes toda la documentación oficial aquí: http://developer.android.com/sdk/installing/installing-adt.html
2. Añadiendo las plataformas de Android (APIs Android)
Para descargarte las distintas plataformas Android (son las APIs o versiones de Android) hay que usar lo que llamamos SDKManager en Eclipse.Se abrirá una ventana, espera hasta que el listado se cargue por completo, en ese momento podrás ver las carpetas correspondientes a todas las versiones de cada versión de sistema operativo Android, en función de la versión para que quieras desarrollar aplicaciones, marca la casilla correspondiente y pulsa en la parte inferior “Install packages…” para comenzar con su descarga.
Para saber como se cambia la ruta o como se comprueba que el SDK esta bien instalado, en la barra de menú busca: Windows > Preferences.
En la ventana que se abre a continuación, en la parte izquierda selecciona Android, y en la parte derecha comprueba que la carpeta android-sdks esta en la ruta que figura, si no... mal asunto!
miércoles, 24 de febrero de 2016
EVOLUCIÓN DE LOS DISPOSITIVOS MOVILES.
0-G Generación 0:
En los años de la Segunda Guerra Mundial, la compañía Motorola lanzó el Handie Talkie H12-16, el cual permitía comunicarse a distancia entre las tropas, era un dispositivo que se basaba en la transmisión mediante ondas de radio.
En los años de la Segunda Guerra Mundial, la compañía Motorola lanzó el Handie Talkie H12-16, el cual permitía comunicarse a distancia entre las tropas, era un dispositivo que se basaba en la transmisión mediante ondas de radio.
Esta tecnología se aprovecho entre los años 50 y 60 para crear diversos aparatos de ardo y comunicación a distancia (Walkie-Talkies), que eran utilizados en mayor parte por taxis, ambulancias o bomberos.
Estos dispositivos no se pueden considerar como teléfonos móviles pero su implementación supuso el comienzo de la evolución de los dispositivos que conocemos actualmente.
Los primeros estándares más utilizados de esta generación fueron:
- Estándar PTT (Push To Talk): Pulsa para hablar.
- Estándar IMTS (Improved Mobile Telephone System): Sistema de telefonía móvil mejorado.
1-G Primera Generación:
A partir de 1973 surgieron los móviles de primera generación los cuales eran de gran tamaño y peso. Funcionaban de manera analógica, o sea la transmisión y recepción de datos se apoyaba sobre un conjunto de ondas de radio que cambiaban de modo continuo.
La desventaja de que fueran análogos era que solo podían ser usados para la transmisión de voz, tenían muy baja seguridad y esto implicaba que una persona pudiera escuchar llamadas ajenas con un sintonizador de radio o incluso hacer uso de las frecuencias cargando el importe de las llamadas a otras personas.
Los estándares más utilizados en esta generación fueron:
- NMT: Nordic Mobile Telephone.
- AMPS: Advanced Mobile Phone System.
2-G Segunda Generación:
Esta generación marca el paso de la telefonía analógica a la digital lo cual mejoró el manejo de llamadas, se pudieron hacer más enlaces al mismo tiempo en el mismo ancho de banda e integrar otros servicios adicionales aparte de la voz, como el servicio de mensajes cortos (Short Message Service).
Los estándares más utilizados en esta generación fueron:
- GSM: Global System for Mobile Communications - Sistema Global para Comunicaciones Móviles.
- CDMA: Code Division Multiple Acces - Acceso Múltiple por División de Código.
- GPRS: General Packet Radio Service - Servicio General de Radio por Paquetes.
3-G Tercera Generación:
En el año 2001 fue revolucionando la telefonía móvil ya que supuso la aparición d ellos primeros celulares que tenían pantalla LCD a color.
También nacieron dispositivos que se creían como mínimo futuristas como móviles con cámara fotográfica digital, grabación de vídeos los cuales podías mandarlos por mensajería instantánea, juegos en 3d, sonido mp3, conversaciones por videoconferencia gracias a una tasa de transferencia de datos más aceptable y a un soporte para internet correctamente implementado (correo electrónico, descargas, etc.).
Los estándares más utilizados en esta generación fueron:
- UMTS: Universal Mobile Telecommunications System - Servicios Universales de Comunicaciones Móviles.
4-G Cuarta Generación:
En el año 2010 se lanzaron los primeros servicios 4G basados en la tecnología LTE en Tokyo, Nagoya y Osaka, la red 4G está basada en el protocolo IP. Esta tecnología puede ser utilizada por modems inalámbricos, celulares inteligentes y otros dispositivos móviles. La principal característica de esta red de esta generación es que tiene la capacidad de proveer velocidades de acceso mayores a los 100 Mbps en movimiento y 1 Gbps en reposo manteniendo una calidad de servicio (QoS) de punta a punta de alta seguridad que permitirá ofrecer servicios de cualquier clase en cualquier momento, en cualquier lugar.
miércoles, 17 de febrero de 2016
ARQUITECTURA DEL SISTEMA OPERATIVO ANDROID.
El siguiente gráfico muestra la arquitectura de Android. Como se puede ver está formada por cuatro capas. Una de las características más importantes es que todas las capas están basadas en software libre.
El núcleo Linux:
El núcleo de Android está formado por el sistema operativo Linux versión 2.6. Esta capa proporciona servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para dispositivos.Esta capa del modelo actúa como capa de abstracción entre el hardware y el resto de la pila. Por lo tanto, es la única que es dependiente del hardware.
Runtime de Android:
Está basado en el concepto de máquina virtual utilizado en Java. Dado las limitaciones de los dispositivos donde ha de correr Android (poca memoria y procesador limitado) no fue posible utilizar una máquina virtual Java estándar. Google tomó la decisión de crear una nueva, la máquina virtual Dalvik, que respondiera mejor a estas limitaciones. Algunas características de la máquina virtual Dalvik que facilitan esta optimización de recursos son: que ejecuta ficheros Dalvik ejecutables (.dex) –formato optimizado para ahorrar memoria. Además, está basada en registros. Cada aplicación corre en su propio proceso Linux con su propia instancia de la máquina virtual Dalvik. Delega al kernel de Linux algunas funciones como threading y el manejo de la memoria a bajo nivel.También se incluye en el Runtine de Android el “core libraries” con la mayoría de las librerías disponibles en el lenguaje Java.
Librerías nativas:
Incluye un conjunto de librerías en C/C++ usadas en varios componentes de Android. Están compiladas en código nativo del procesador. Muchas de las librerías utilizan proyectos de código abierto. Algunas de estas librerías son:
· System C library:una derivación de la librería BSD de C estándar (libc), adaptada para dispositivos embebidos basados en Linux.
· Media Framework: librería basada en PacketVideo's OpenCORE; soporta codecs de reproducción y grabación de multitud de formatos de audio vídeo e imágenes MPEG4, H.264, MP3, AAC, AMR, JPG y PNG.
· Surface Manager: maneja el acceso al subsistema de representación gráfica en 2D y 3D.
· WebKit: soporta un moderno navegador web utilizado en el navegador Android y en la vista webview. Se trata de la misma librería que utiliza Google Chrome y Safari de Apple.
· SGL: motor de gráficos 2D.
· Librerías 3D: implementación basada en OpenGL ES 1.0 API. Las librerías utilizan el acelerador harware 3D si está disponible, o el software altamente optimizado de proyección 3D.
· FreeType: fuentes en bitmap y renderizado vectorial.
· SQLite: potente y ligero motor de bases de datos relacionales disponible para todas las aplicaciones.
· SSL: proporciona servicios de encriptación Secure Socket Layer.
Entorno de aplicación:
Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones (sensores, localización, servicios, barra de notificaciones,).Esta capa ha sido diseñada para simplificar la reutilización de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes.Una de las mayores fortalezas del entorno de aplicación de Android es que se aprovecha el lenguaje de programación Java. El SDK de Android no acaba de ofrecer todo lo disponible para su estándar del entorno de ejecución Java (JRE), pero es compatible con una fracción muy significativa de la misma.
Los servicios más importantes que incluye son:
· Views: extenso conjunto de vistas, (parte visual de los componentes).
· Resource Manager: proporciona acceso a recursos que no son en código.
· Activity Manager: maneja el ciclo de vida de las aplicaciones y proporciona un sistema de navegación entre ellas.
· Notification Manager: permite a las aplicaciones mostrar alertas personalizadas en la barra de estado.
· Content Providers: mecanismo sencillo para acceder a datos de otras aplicaciones (como los contactos).
Aplicaciones:
Este nivel está formado por el conjunto de aplicaciones instaladas en una máquina Android. Todas las aplicaciones han de correr en la máquina virtual Dalvik para garantizar la seguridad del sistema.Normalmente las aplicaciones Android están escritas en Java. Para desarrollar aplicaciones en Java podemos utilizar el Android SDK. Existe otra opción consistente en desarrollar las aplicaciones utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).
lunes, 15 de febrero de 2016
ENTORNOS DE TRABAJO PARA APLICACIONES MOVILES.
Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.
Eclipse:
Es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.
Xcode:
Es el entorno de desarrollo integrado (IDE, en sus siglas en inglés) de Apple Inc. y se suministra gratuitamente junto con Mac OS X. Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.Xcode incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar código C, C++, Objective-C, Objective-C++, Java y AppleScript mediante una amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbón y Java. Otras compañías han añadido soporte para GNU Pascal, Free Pascal, Ada y
Perl.Entre las características más apreciadas de Xcode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour.Carbide.C++:
Es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajo Symbian OS. Se usa tanto para desarrollar los teléfonos que incorporan dicho OS como para las aplicaciones que ejecutan estos.Está formada por una familia de IDEs desarrollada por Nokia, basada en Eclipse, al que se han incorporado plug-ins para el desarrollo de Symbian OS. Reemplazó a CodeWarrior como primer entorno de desarrollo para Symbian OS.Desde la versión 2.0, Carbide.c++ es gratuito y se ofrece en tres versiones (Developer, Professional, y OEM).
NetBeans:
Es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.
JAVA:
Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
Desde la creación de la especificación J2ME (Java 2 Platform, Micro Edition), una versión del entorno de ejecución Java reducido y altamente optimizado, especialmente desarrollado para el mercado de dispositivos electrónicos de consumo se ha producido toda una revolución en lo que a la extensión de Java se refiere.
Es posible encontrar microprocesadores diseñados para ejecutar bytecode Java y software Java para tarjetas inteligentes (JavaCard), teléfonos móviles, buscapersonas, set-top-boxes, sintonizadores de TV y otros pequeños electrodomésticos.
SISTEMAS OPERATIVOS EMERGENTES.
En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan. Según el IEEE Computer Society, es un paradigma en el que la información se almacena de manera permanente en servidores en Internet y se envía a cachés temporales de cliente, lo que incluye equipos de sobremesa, centros de ocio, portátiles, etc. Esto se debe a que, pese a que las capacidades de los PC han mejorado sustancialmente, gran parte de su potencia es desaprovechada, al ser máquinas de propósito general.
La computación en nube es un concepto general que incorpora el software como servicio, tal como la Web 2.0 y otros recientes, también conocidos como tendencias tecnológicas, donde el tema en común es la confianza en Internet para satisfacer las necesidades de cómputo de los usuarios.
Como ejemplos de Computación en Nube destacan Amazon EC2, Google Apps, eyeOS y Microsoft Azure, que proveen aplicaciones comunes de negocios en línea accesibles desde un navegador web, mientras el software y los datos se almacenan en los servidores.
La computación en nube es un concepto general que incorpora el software como servicio, tal como la Web 2.0 y otros recientes, también conocidos como tendencias tecnológicas, donde el tema en común es la confianza en Internet para satisfacer las necesidades de cómputo de los usuarios.
Como ejemplos de Computación en Nube destacan Amazon EC2, Google Apps, eyeOS y Microsoft Azure, que proveen aplicaciones comunes de negocios en línea accesibles desde un navegador web, mientras el software y los datos se almacenan en los servidores.
SISTEMAS OPERATIVOS LIBRES.
Los siguientes son sistemas operativos de codigo abierto, algunos libres y sus variantes.Los sistemas GNU/Linux reconocidos como libres por la FSF estan en esta lista : Lista de Distribuciones GNU/Linux libres
Distribuciones basadas en BSD:
Darwin BSD
FreeBSD
NetBSD
OpenBSD
PC-BSD
Fedora
Distribuciones basadas en BSD:
Darwin BSD
FreeBSD
NetBSD
OpenBSD
PC-BSD
Fedora
Fedora:
Fedora es una distribución de Linux para propósitos generales basada en RPM , que se mantiene gracias a una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas tecnologías. Cuenta con el respaldo y la promoción de Red Hat.
Algunos iconos de los sistemas operativos libres.
Fedora es una distribución de Linux para propósitos generales basada en RPM , que se mantiene gracias a una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas tecnologías. Cuenta con el respaldo y la promoción de Red Hat.
Algunos iconos de los sistemas operativos libres.
SISTEMAS OPERATIVOS LIBRESLos sistema operativos libres son los que se adquieren sin pagar. Es decir, lo que hacen el sistema operativo no buscan un afan de lucro y comparten libremente el sistema operativo. Además estos sistemas operativos tienen un código libre.
SISTEMAS DE OPERATIVOS COMERCIALES.
Windows xp:Windows XP Professional integra la base de códigos de Windows NT y Windows 2000, que presenta una arquitectura informática de 32 bits y un modelo de memoria completamente protegida.
Windows XP Professional ofrece una experiencia informática fiable a todos los usuarios comerciales.OS/2:
Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.
Mac OS:Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.
UNIX:
El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.
Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.
Mac OS:Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.
UNIX:
El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.
Suscribirse a:
Entradas (Atom)