viernes, 10 de marzo de 2017

Características del sistema operativo android

* Código abierto

* Núcleo basado en el Kernel de Linux

* Adaptable a pantallas

* Utiliza SQLite

* Diferentes mensajerías

* Navegador basado en Webkite

* Soporte Java

* Soporte HTML, HTML5, Adobe Flash, Players, ect.

* Emulador de dispositivos

* Google Playstore

* Bluetooth

* Multitarea real de aplicaciones

jueves, 9 de marzo de 2017

Versiones de los sistemas operativos Android


El historial de versiones del sistema operativo Android se inició con el lanzamiento de Android beta en noviembre de 2007. La primera versión comercial (de prueba), Android 1.0, fue lanzada en septiembre de 2008. Android es un sistema operativo móvil desarrollado por Google y la Open Handset Alliance, y ha visto un número de actualizaciones a su sistema operativo base desde su lanzamiento original. Estas actualizaciones típicamente corrigen fallos de programa y agregan nuevas funcionalidades. Desde abril de 2009, las versiones de Android han sido desarrolladas bajo un nombre en clave y sus nombres siguen un orden alfabético: Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow y el nuevo Nougat lanzado en agosto de 2016.

Nombre código            Número de versión           Fecha de lanzamiento          Nivel de API
(sin nombre oficial)1.023 de septiembre 20081
(sin nombre oficial)1.19 de febrero 20092
Cupcake1.527 de abril de 20093
Donut1.615 de septiembre de 20094
Eclair2.0–2.126 de octubre de 20095-7
Froyo2.2–2.2.320 de mayo 20108
Gingerbread2.3–2.3.76 de diciembre 20109–10
Honeycomb13.0–3.2.622 de febrero de 201111–13
Ice Cream Sandwich4.0–4.0.418 de octubre 201114–15
Jelly Bean4.1–4.3.19 de julio de 201216–18
KitKat4.4–4.4.4, 4.4W–4.4W.231 de octubre de 201319–20
Lollipop5.0–5.1.112 de noviembre de 201421–22
Marshmallow6.0–6.0.15 de octubre de 201523
Nougat7.0 - 7.122 de agosto de 201624 - 25




Resultado de imagen para versiones de todos los sistemas operativos android






Arquitectura del sistema operativo android



Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y en el caso de Android está formada por varias capas que facilitan al desarrollador la creación de aplicaciones. Además, esta distribución permite acceder a las capas más bajas mediante el uso de librerías para que así el desarrollador no tenga que programar a bajo nivel las funcionalidades necesarias para que una aplicación haga uso de los componentes de hardware de los teléfonos.
Cada una de las capas utiliza elementos de la capa inferior para realizar sus funciones, es por ello que a este tipo de arquitectura se le conoce también como pila. Para entender mejor, a continuación cito el diagrama de la arquitectura de Android tomada del sitio oficial de Android developers:
Explicamos ahora cada una de las capas iniciando de abajo hacia arriba.
Kernel de Linux. Como dijimos en el artículo ¿Qué es Android?, el núcleo del sistema operativo Android está basado en el kernel de Linux versión 2.6, similar al que puede incluir cualquier distribución de Linux, como Ubuntu, solo que adaptado a las características del hardware en el que se ejecutará Android, es decir, para dispositivos móviles.
El núcleo actúa como una capa de abstracción entre el hardware y el resto de las capas de la arquitectura. El desarrollador no accede directamente a esta capa, sino que debe utilizar las librerías disponibles en capas superiores. De esta forma también nos evitamos el hecho de quebrarnos la cabeza para conocer las características precisas de cada teléfono. Si necesitamos hacer uso de la cámara, el sistema operativo se encarga de utilizar la que incluya el teléfono, sea cual sea. Para cada elemento de hardware del teléfono existe un controlador (o driver) dentro del kernel que permite utilizarlo desde el software.
El kernel también se encarga de gestionar los diferentes recursos del teléfono (energía, memoria, etc.) y del sistema operativo en sí: procesos, elementos de comunicación (networking), etc.
Librerías. La siguiente capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android, también llamadas librerías. Están escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono. Estas normalmente están hechas por el fabricante, quien también se encarga de instalarlas en el dispositivo antes de ponerlo a la venta. El objetivo de las librerías es proporcionar funcionalidad a las aplicaciones para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma “más eficiente”.
Entre las librerías incluidas habitualmente encontramos OpenGL (motor gráfico), Bibliotecas multimedia (formatos de audio, imagen y video), Webkit (navegador), SSL (cifrado de comunicaciones), FreeType (fuentes de texto), SQLite (base de datos), entre otras.
Entorno de ejecución. Como podemos apreciar en el diagrama, el entorno de ejecución de Android no se considera una capa en sí mismo, dado que también está formado por librerías. Aquí encontramos las librerías con la funcionalidades habituales de Java así como otras específicas de Android.
El componente principal del entorno de ejecución de Android es la máquina virtual Dalvik. Las aplicaciones se codifican en Java y son compiladas en un formato específico para que esta máquina virtual las ejecute. La ventaja de esto es que las aplicaciones se compilan una única vez y de esta forma estarán listas para distribuirse con la total garantía de que podrán ejecutarse en cualquier dispositivo Android que disponga de la versión mínima del sistema operativo que requiera la aplicación.
Cabe aclarar que Dalvik es una variación de la máquina virtual de Java, por lo que no es compatible con el bytecode Java. Java se usa únicamente como lenguaje de programación, y los ejecutables que se generan con el SDK de Android tienen la extensión .dex que es específico para Dalvik, y por ello no podemos correr aplicaciones Java en Android ni viceversa.
Framework de aplicaciones. La siguiente capa está formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. La mayoría de los componentes de esta capa son librerías Java que acceden a los recursos de las capas anteriores a través de la máquina virtual Dalvik. Siguiendo el diagrama encontramos:
  1. Activity Manager. Se encarga de administrar la pila de actividades de nuestra aplicación así como su ciclo de vida.
  2. Windows Manager. Se encarga de organizar lo que se mostrará en pantalla. Básicamente crea las superficies en la pantalla que posteriormente pasarán a ser ocupadas por las actividades.
  3. Content Provider. Esta librería es muy interesante porque crea una capa que encapsula los datos que se compartirán entre aplicaciones para tener control sobre cómo se accede a la información.
  4. Views. En Android, las vistas los elementos que nos ayudarán a construir las interfaces de usuario: botones, cuadros de texto, listas y hasta elementos más avanzados como un navegador web o un visor de Google Maps.
  5. Notification Manager. Engloba los servicios para notificar al usuario cuando algo requiera su atención mostrando alertas en la barra de estado. Un dato importante es que esta biblioteca también permite jugar con sonidos, activar el vibrador o utilizar los LEDs del teléfono en caso de tenerlos.
  6. Package Manager. Esta biblioteca permite obtener información sobre los paquetes instalados en el dispositivo Android, además de gestionar la instalación de nuevos paquetes. Con paquete nos referimos a la forma en que se distribuyen las aplicaciones Android, estos contienen el archivo .apk, que a su vez incluyen los archivos .dex con todos los recursos y archivos adicionales que necesite la aplicación, para facilitar su descarga e instalación.
  7. Telephony Manager. Con esta librería podremos realizar llamadas o enviar y recibir SMS/MMS, aunque no permite reemplazar o eliminar la actividad que se muestra cuando una llamada está en curso.

Aplicaciones. En la última capa se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas (programadas en C o C++) y las administradas (programadas en Java), las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado.
En esta capa encontramos también la aplicación principal del sistema: Inicio (Home) o lanzador (launcher), porque es la que permite ejecutar otras aplicaciones mediante una lista y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso widgets, que son también aplicaciones de esta capa.
Como podemos ver, Android nos proporciona un entorno sumamente poderoso para que podamos programar aplicaciones que hagan cualquier cosa. Nada dentro de Android es inaccesible y podemos jugar siempre con las aplicaciones de nuestro teléfono para optimizar cualquier tarea.
El potencial de Android se sitúa en el control total que se le da al usuario para que haga de su teléfono un dispositivo a su medida.

Sistemas operativos comerciales para móviles

Los sistemas operativos usados para los teléfonos móviles, celulares o smartphone son muchos, pero hay 2 que son los principales y que ocupan casi todo el mercado de la telefonia móvil: Android e iOS. Seguidos pero con mucha diferencia estarían Blackberry OS y Windows Phone.


Android:
Es sistema operativo de Google y es usado por HTC, LG, Motorola, Samsung y BQ. Algunas de sus versiones son Apple Pie, Banana Bread, Jelly Bean o KitKat.

Características:

- Es de código abierto (se puede modificar) es gratis y está basado en Linux.

- Se adapta a las diferentes resoluciones de pantalla.

- Soporte de HTML, HTML5, Adobe Flash Player, etc.,

- Un gran catalogo de aplicaciones para descargar, gratuitas y de pago.

- Se puede usar Google Talk, para realizar videollamadas,

- Multitarea real de aplicaciones.

- Muchos tipos de teclados diferentes.

- Gran cantidad de formas diferentes de personalizar el escritorio de nuestro Smartphone.

- Se pueden buscar aplicaciones que se necesiten e instalarlas directamente con el PC puesto que todo se sincroniza automáticamente en el teléfono sin necesidad de conexión de cables.

- Por último diremos que se puede controlar el teléfono móvil desde el ordenador de forma muy sencilla.


iOS: 
Es el sistema operativo de la empresa Apple que utilizan los iPhone y el iPad.

Características:

- Es un sistema operativo cerrado, es decir no se puede modificar.

- Tiene un sistema de monitorización del consumo de batería que podría ayudar a gestionarla de forma mucho más eficiente.

- Permite que podamos instalar un teclado de terceros.

- Funciones que incluyen atajos para mandar fotos, videos, notas de voz, compartir tu ubicación, mejor gestión de conversiones en grupo y una opción para silencio.

- Otra característica divertida de iOS es la posibilidad que Apple le ha dado a Siri de identificar canciones.

- Sensación de velocidad durante su uso, mediante algunos trucos de programación.

- Reciben de manera constante actualizaciones.

- Twitter es directamente integrado en el iPhone.

- Por último decir que Apple no da licencia del software iOS a terceros, por lo que tan solo los iPhone disponen de este sistema operativo.


Windows Phone: 
Desarrollado por Microsoft, es utilizado básicamente por los terminales o Smartphone de gama alta de Nokia.

Características:

- Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente y tiene la posibilidad de utilizar importantes herramientas pertenecientes a las suites Office Mobile, Outlook Mobile e Internet Explorer.

- Podremos personalizar también nuestra pantalla de bloqueo del teléfono con imágenes e información de aplicaciones.

- Skype estará completamente integrado en Windows Phone 8, música en streaming Pandora, podremos crear “habitaciones” de usuarios en el PeopleHub, en las que podremos crear grupos para chats privados, compartir calendarios y notas públicas.

- Lo malo de este sistema operativo es que hay pocas aplicaciones (apps) para este sistema operativo.


BlackBerry OS: 
Desarrollado por RIM (Research In Motion), que también es la empresa fabricante de los BlackBerry. Lógicamente es el sistema operativo utilizado en los BlackBerry, desarrollando así su propio SO móvil.

Características:
- El sistema permite multitarea y tiene soporte para diferentes métodos exclusivos como sus trackwheel, trackball, touchpad y pantallas táctiles.

- Uso profesional, gracias a sus herramientas para correo electrónico y agenda, teclado QWERTY.

- Permite la sincronización con herramientas tales como Novell GroupWise, Microsoft Exchange Server y Lotus Notes.

Sistemas operativos de distribución libre para dispositivos móviles

Es un tipo de software que permite al usuario estudiar estructura, funcionamiento y adaptar sus necesidades. Distribuir copias, mejorarlo y distribuir al publico.

Ventajas:
  • Fácil de usar
  • Mas interactivo
  • Tiene soporte técnico
  • Aplicaciones desarrolladas
  • La curva de aprendizaje es menor 
Desventajas:
  • Muy corto
  • No tiene garantías 
  • La configuración del hardware no es intuitiva 
Resultado de imagen para Sistemas operativos de distribución libre para dispositivos móviles

Procesadores para dispositivos móviles

Apple A9
Cuenta con dos núcleos de diseño propio, dos núcleos ARMv8-A que corren a una frecuencia máxima de 1,85GHz y que tienen el apoyo de una GPU de seis núcleos, una PowerVR GT7600. Sólo con eso les basta para batir a la última generación de los distintos fabricantes en varios aspectos y perder en otros. 

Apple A9


Exynos 8890
Es un procesador octa-core en el que los cuatro núcleos de más potencia son M1, una arquitectura propia de Samsung, y los cuatro núcleos de menos potencia, y los responsables del ahorro de energía, son Cortex A53. Como es habitual en los coreanos, la GPU es una Mali. En este caso una Mali T880 MP12 con doce núcleos para tratar de ofrecer una magnífica experiencia gráfica en los Galaxy S7 y S7 Edge.

Exynos 8890


Snapdragon 820
Un chip con cuatro núcleos y arquitectura propia, dos núcleos Kryo de alto rendimiento a 2,2GHz y otros dos de bajo rendimiento, también Kryo, a 1,6GHz. La GPU del procesador será una Adreno 530 de 12 núcleos, el último cerebro gráfico de los norteamericanos.



Snapdragon 820

Pasos a seguir para crear un blog en Blogger

Paso 1:

Cuando estés en la página principal de tu cuenta de Blogger, haz clic sobre el botón Nuevo blog de la parte superior.

botón Nuevo blog.

Paso 2:

Verás que aparece una nueva ventana con varios campos. En el campo Título escribe el nombre que le darás a tu blog.

Paso 3:

En el campo Dirección escribe cómo quieres que sea la URL de tu blog en internet. Si aparece un cuadro amarillo de alerta, es porque la dirección ya está siendo usada por otra persona. 

Titulo y URL que llevará el blog.

Paso 4:

Luego deberás seleccionar uno de los diseños de plantilla que aparecen en la parte central. No te preocupes si no puedes verlo en detalle; después podrás cambiarlo o modificarlo.

selección de la plantilla que llevará el blog.

Paso 5:

Finalmente, haz clic sobre el botón Crear blog y ¡listo! Tu blog ha sido creado así de fácil.

Evolución de los dispositivos móviles

En esta linea del tiempo se muestran los avances móviles desde el año 1970 hasta 2016 muestra como fueron surgiendo los cambios poco a poco y también muestra sucesos importantes que ocurrieron durante esos años







Entorno de trabajo para aplicaciones moviles

Eclipse:
Es una plataforma de software compuesto por un conjunto de herramientas de programación decó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 conMac OS X. Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.

Carbide c++:

Es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajoSymbian OS. Se usa tanto para desarrollar los teléfonos que incorporan dicho OS como para las aplicaciones que ejecutan estos.


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 IDE es un producto libre y gratuito sin restricciones de uso.
Java:

Es un lenguaje de programación de propósito general, concurrente, orientado a objetos 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.