var

var

domingo, 26 de marzo de 2017

ANDROID MANIFEST

Situado en la raíz de nuestras aplicaciones como AndroidManifest.xml, es un archivo de configuración donde podemos aplicar las configuraciones básicas de nuestra App. Su configuración puede realizarse a través de una interfaz gráfica, pero es recomendable conocer la sintaxis ya que en muchas ocasiones será más fácil y rápido hacerlo desde el propio xml. El androidmanifest está situado en la raíz de cada aplicación.

Empieza con una definición del XML en el que se encona:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="nombre.paquete"
      android:versionCode="1"
      android:versionName="1.0">

Icono de la aplicación que aparecerá posteriormente al instalarse en los menus y nombre de la misma almacenador en el archivo de strings. <application android:icon="@drawable/icon" android:label="@string/app_name">


Todas y cada una de las activitys de la App deben ser declaradas en esta sección, sino no funcionarán. La actividad inicial de la aplicación debe ser declarada de tipo "LAUNCHER".

OPEN HANDSET ALLIANCE

La Open Handset Alliance ( OHA ) es un consorcio de 84 firmas para desarrollar estándares abiertos para dispositivos móviles . Las firmas miembro incluyen Google , HTC , Sony , Dell , Intel , Motorola , Qualcomm , Texas Instruments , Samsung Electronics , LG Electronics , T-Mobile , Sprint Corporation , Nvidia , y Wind River Systems .

La OHA se estableció el 5 de noviembre de 2007, dirigido por Google con 34 miembros, que incluye fabricantes de teléfonos móviles, aplicaciones desarrolladores, algunas compañías de telefonía móvil y los fabricantes de chips. Android , el software insignia de la alianza, se basa en una licencia de código abierto y ha competido contra las plataformas móviles de manzana , Microsoft , Nokia ( Symbian ), HP (antes de Palm ), Samsung Electronics / Intel ( Tizen , bada ), y BlackBerry .

Como parte de sus esfuerzos para promover una plataforma unificada de Android, los miembros de la OHA están contractualmente prohibido producir dispositivos que se basan en incompatibles tenedores de Android.

ACTIVITY EN ANDROID

Una Activity es un componente de la aplicación que contiene una pantalla con la que los usuarios pueden iUna Activity es un componente de la aplicación que contiene una pantalla con la que los usuarios pueden interactuar para realizar una acción, como marcar un número telefónico, tomar una foto, enviar un correo electrónico o ver un mapa. A cada actividad se le asigna una ventana en la que se puede dibujar su interfaz de usuario. La ventana generalmente abarca toda la pantalla, pero en ocasiones puede ser más pequeña que esta y quedar "flotando" encima de otras ventanas.

Una aplicación generalmente consiste en múltiples actividades vinculadas de forma flexible entre sí. Normalmente, una actividad en una aplicación se especifica como la actividad "principal" que se presenta al usuario cuando este inicia la aplicación por primera vez. Cada actividad puede a su vez iniciar otra actividad para poder realizar diferentes acciones. Cada vez que se inicia una actividad nueva, se detiene la actividad anterior, pero el sistema conserva la actividad en una pila (la "pila de actividades"). Cuando se inicia una actividad nueva, se la incluye en la pila de actividades y capta el foco del usuario. La pila de actividades cumple con el mecanismo de pila "el último en entrar es el primero en salir", por lo que, cuando el usuario termina de interactuar con la actividad actual y presiona el botón Atrás, se quita de la pila (y se destruye) y se reanuda la actividad anterior.

Cuando se detiene una actividad porque se inicia otra, se notifica el cambio de estado a través de los métodos callback del ciclo de vida de la actividad. Existen diferentes métodos callback que podría recibir una actividad como consecuencia de un cambio de estado—ya sea que el sistema la esté creando, deteniendo, reanudando o destruyendo—y cada callback te da la oportunidad de realizar una tarea específica que resulta adecuada para ese cambio de estado. Por ejemplo, cuando se detiene una actividad, esta debería liberar los objetos grandes, como una conexión de red o a la base de datos. Cuando se reanuda la actividad, puedes volver a adquirir los recursos necesarios y reanudar las acciones que se interrumpieron. Todas estas transiciones de estado forman parte del ciclo de vida de la actividad.

CREAR UNA ACTIVIDAD.

Para crear una actividad, debes crear una subclase de Activity (o una subclase existente de ella). En tu subclase debes implementar métodos callback a los que el sistema invoca cuando la actividad alterna entre diferentes estados de su ciclo de vida, como cuando se crea, se detiene, se reanuda o se destruye. Los dos métodos callback más importantes son los siguientes:

onCreate()
Debes implementar este método. El sistema realiza esta llamada cuando crea tu actividad. En tu implementación, debes inicializar los componentes fundamentales de tu actividad. No te olvides de que este es el momento en el que debes llamar a setContentView() para definir el diseño de la interfaz de usuario de la actividad.

onPause()
El sistema llama a este método como el primer indicador de que el usuario está abandonando tu actividad (aunque no siempre significa que la actividad se esté destruyendo). Generalmente este es el momento en el que debes confirmar los cambios que deban conservarse más allá de la sesión de usuario actual (porque es posible que el usuario no vuelva).

WINDOWS MARKETPLACE

Tienda Windows (del inglés Windows Store) es la plataforma de distribución digital de software desarrollada por Microsoft como parte de Windows 8, Windows Server 2012, Windows 10 y Windows Server 2016 para proveer un catálogo de aplicaciones centralizado y seguro. Windows Store apoya tanto aplicaciones gratuitas como de pago, con éstas últimas costando desde 1,49 a 999.99 USD y ofreciendo posibles pruebas gratuitas. La tienda de Windows se puso a disposición simultáneamente con el lanzamiento de la Comsumer Preview de Windows 8, que fue lanzada el 29 de febrero de 2012.

La tienda de Windows es el único medio de distribución de aplicaciones de estilo Modern para Windows 8/RT, la razón oficial es permitir a Microsoft escanear aplicaciones en busca de fallos de seguridad y programas maliciosos. Windows Store tiene un reparto de beneficios del 30% para Microsoft y 70% para el desarrollador. Una vez se llegue a 25,000 USD en ingresos, el reparto es de 80% para el desarrollador. Las transacciones económicas se realizan vía PayPal, no se aceptan puntos Microsoft. Los desarrolladores individuales pueden registrarse por 49 USD y las empresas por 99 USD. Los desarrolladores de 38 países pueden presentar solicitudes a Microsoft para publicar sus aplicaciones en Windows Store. La aplicación puede soportar 109 idiomas, siempre y cuando se apoye en uno de los 12 idiomas de la aplicación de certificación.

Windows Catalog en Windows XP era una tienda en línea de Microsoft donde se podía adquirir software de la compañía a través de un ID de Windows Live (ahora Cuenta Microsoft), que más tarde se renombró como Windows Marketplace en Windows Vista, aunque Marketplace era solo utilizable para residentes de Estados Unidos. Estaba integrado en Windows XP y Windows Vista dentro de Agregar y Quitar programas. Desde ella los consumidores podían adquirir y descargar software compatible con Microsoft Windows. El 18 de noviembre de 2008 se anunció el cierre (o descontinuación) de Windows Marketplace.

URL Y URI

URL
Un Localizador Uniforme de Recursos LUR (más conocido por la sigla URL, del inglés Uniform Resource Locator) es un identificador de recursos uniforme (Uniform Resource Identifier, URI) cuyos recursos referidos pueden cambiar, esto es, la dirección puede apuntar a recursos variables en el tiempo. Están formados por una secuencia de caracteres, de acuerdo a un formato modélico y estándar, que designa recursos en una red, como Internet.

Los LUR fueron una innovación en la historia de Internet. Fueron usadas por primera vez por Tim Berners-Lee en 1991, para permitir a los autores de documentos establecer hiperenlaces en la World Wide Web (WWW). Desde 1994, en los estándares de Internet, el concepto de LRU ha sido incorporado dentro del más general de URI, pero el término URL todavía se utiliza ampliamente.

Aunque nunca fueron mencionadas como tal en ningún estándar, mucha gente cree que las iniciales LRU significan universal -en lugar de 'uniform'- resource locator (localizador universal de recursos). Esta se debe a que en 1990 era así, pero al unirse las normas "Functional Recommendations for Internet Resource Locators" (RFC 1736) y "Functional Requirements for Uniform Resource Names" (RFC 1737) pasó a denominarse "Identificador Uniforme de Recursos" (RFC 2396). Sin embargo, la letra "U" en URL siempre ha significado "uniforme".

El LRU es una cadena de caracteres con la cual se asigna una dirección única a cada uno de los recursos de información disponibles en Internet. Existe un URL único para cada página de cada uno de los documentos de la WWW, para todos los elementos de Gopher y todos los grupos de debate Usenet, y así sucesivamente.

El LRU de un recurso de información es su dirección en Internet, la cual permite que el navegador web la encuentre y la muestre de forma adecuada. Por ello, el URL combina el nombre de la computadora que proporciona la información, el directorio donde se encuentra, el nombre del archivo, y el protocolo a usar para recuperar los datos para que no se pierda alguna información sobre dicho, factor que se emplea para el trabajo.
Se puede entender que una URI = URL + URN.

Formato general

El formato general de un URL es:
esquema://máquina.directorio.archivo

También pueden añadirse otros datos:
esquema://usuario:contraseña@máquina:puerto.directorio.archivo

Por ejemplo: http://www.wikipedia.org/

La especificación detallada se encuentra en la RFC 1738, titulada Uniform Resource Locators.

Esquema URL

Un URL se clasifica por su esquema, que generalmente indica el protocolo de red que se usa para recuperar, a través de la red, la información del recurso identificado. Un URL comienza con el nombre de su esquema, seguido por dos puntos, seguido por una parte específica del esquema.

Algunos ejemplos de esquemas URL:
  • http - recursos Hypertext Transfer Protocol (HTTP).
  • https - HTTP sobre Secure Sockets Layer (SSL).
  • ftp - File Transfer Protocol.
  • mailto - direcciones de correo electrónico (e-mail).
  • ldap - búsquedas Lightweight Directory Access Protocol (LDAP).
  • file - recursos disponibles en el sistema local, o en una red local.
  • news - grupos de noticias Usenet (newsgroup).
  • gopher - el protocolo Gopher (en desuso).
  • telnet - el protocolo Telnet.
  • data - el esquema para insertar pequeños trozos de contenido en los documentos esquema de URI de datos (Data: URL).
Algunos de los esquemas URL, como los populares "mailto", "http", "ftp", y "file", junto a los de sintaxis general URL, se detallaron por primera vez en 1994, en el Request for Comments (RFC 1630), sustituido un año después por los más específicos RFC 1738 y RFC 1808.

Todavía son válidos algunos de los esquemas definidos en el primer RFC, mientras que otros son debatidos o han sido refinados por estándares posteriores. Mientras tanto, la definición de la sintaxis general de los URL se ha escindido en dos líneas separadas de especificación de URI: RFC 2396 (1998) y RFC 2732 (1999), ambos ya obsoletos pero todavía ampliamente referidos en las definiciones de esquemas URL.
URI

Un identificador de recursos uniforme o URI —del inglés uniform resource identifier— es una cadena de caracteres que identifica los recursos de una red de forma unívoca. La diferencia respecto a un localizador de recursos uniforme (URL) es que estos últimos hacen referencia a recursos que, de forma general, pueden variar en el tiempo.

Normalmente estos recursos son accesibles en una red o sistema. Los URI pueden ser localizador de recursos uniforme (URL), uniform resource name (URN), o ambos.

Un URI consta de las siguientes partes:
Esquema: nombre que se refiere a una especificación para asignar los identificadores, e.g. urn:, tag:, cid:. En algunos casos también identifica el protocolo de acceso al recurso, por ejemplo http:, mailto:, ftp:, etc.
Autoridad: elemento jerárquico que identifica la autoridad de nombres (por ejemplo //www.example.com).
Ruta: Información usualmente organizada en forma jerárquica, que identifica al recurso en el ámbito del esquema URI y la autoridad de nombres (e.g. /domains/example).
Consulta: Información con estructura no jerárquica (usualmente pares "clave=valor") que identifica al recurso en el ámbito del esquema URI y la autoridad de nombres. El comienzo de este componente se indica mediante el carácter '?'.
Fragmento: Permite identificar una parte del recurso principal, o vista de una representación del mismo. El comienzo de este componente se indica mediante el carácter '#'.

Aunque se acostumbra llamar URL a todas las direcciones web, URI es un identificador más completo y por eso es recomendado su uso en lugar de la expresión URL.

Un URI se diferencia de un URL en que permite incluir en la dirección una subdirección, determinada por el “fragmento”.


ECLIPCE

Eclipse es una plataforma de software 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.

Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.

Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re-licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL).


La definición que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular".
En cuanto a las aplicaciones clientes, Eclipse provee al programador con frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y manipulación de modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edición gráfica) es un plugin de Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, además de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz gráfica personalizable y profesional.

El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java. Esto permite técnicas avanzadas de refactorización y análisis de código. Mediante diversos plugins estas herramientas están también disponibles para otros lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes de script no tipados como PHP o Javascript. El IDE también hace uso de un espacio de trabajo, en este caso un grupo de metadatos en un espacio para archivos planos, permitiendo modificaciones externas a los archivos en tanto

Características
Eclipse dispone de un Editor de texto con un analizador sintactico. 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, tests, etc., y refactorización.

Asimismo, a través de "plugins" libremente disponibles es posible añadir control de versiones con Subversion.4 e integración con Hibernate.

SANDBOX

Cuando hablamos de términos informáticos, los cuales no son pocos, debemos tener en cuenta uno muy importante, el cual se refiere a la seguridad de nuestros equipos y que probablemente salga en muchos temas o conversaciones entre informáticos y/o usuarios avanzados.

 Es lo que se denomina “Sandbox” o “Caja de arena”, un mecanismo de seguridad que nos permite el aislamiento de los programas para ser analizados en cuanto a comportamiento malintencionado, tal como el malware, spyware, etc.

En realidad, el objetivo de los programas de tipo Sandbox, permiten ejecutar cualquier programa en una porción “enjaulada” de nuestro disco duro, evitando la propagación del software malintencionado a otras partes del mismo.

Algunos ejemplos de programas que cumplen este objetivo son los siguientes:

Máquina virtual: Emula un ordenador completo, en el que un sistema operativo convencional se puede iniciar y ejecutar como lo haría en hardware real. El sistema operativo “invitado” es un recinto de seguridad, al no ejecutarse de forma nativa en la máquina, y sólo poder acceder a los recursos físicos mediante el programa emulador (algunos ejemplos son VMware Workstation, Windows Virtual PC o Virtual Box, entre otros).

Uno de los usos domésticos más extendidos es ejecutar sistemas operativos para probarlos. De esta forma podemos ejecutar un sistema operativo que queramos testear (Linux, por ejemplo) desde nuestro sistema operativo actual (Windows, por ejemplo) sin necesidad de instalarlo directamente en nuestro ordenador y sin miedo a que se desconfigure el sistema operativo primario.

martes, 21 de marzo de 2017

VERSIONES DE ANDROID

ANDROID 1.0  

El estreno de Android, un sistema operativo basado en Linux, este SO se desarrolló el 5 de noviembre de 2007, sin embargo, estuvo disponible para los usuarios hasta el 23 de Septiembre de 2008 en el primer teléfono celular que lo equiparía: el HTC Dream. Las principales características son:
Android Market
Las aplicaciones más famosas de Google: Gmail, Mapas, YouTube, Calendario, Contactos, etc.
Menú desplegable de notificaciones.
Patrón de desbloqueo

Android 1.1 <<Banana Bread>>

Si bien esta versión es un parche para corregir errores y agregar funcionalidades, desde aquí se notaría la preocupación de Google por su sistema operativo y la actualización y mejora del mismo. Se añadieron funcionalidades como:
  • Llamadas en espera
  • Guardar archivos adjuntos en correos
  • Actualizaciones automáticas

Android 1.5 
Pantalla inicial de Android 1.5 en el HTC Dream
  Esta actualización se lanza en Abril de 2009, para este momento las funciones añadidas son de las más importantes y que siguen aún vigentes. A partir de aquí Google se plantea el hecho de lanzar las siguientes versiones de Android en orden alfabético  con nombres de postres.
Inclusión de Widgets <<el más famoso, el de búsqueda de Google en el escritorio>>
Animaciones en el cambio de pantallas
Teclado táctil desplegable QWERTY
Rotación automática de la pantalla

  Android 1.6 
  Apenas unos meses después <<Septiembre>> se vuelve a actualizar este SO. Ahora se tenía que adaptar dicho sistema a los nuevos equipos que comenzaban a comercializarse: celulares con pantallas más grandes. Se podría decir que es el cambio más notable de esta versión.
El diseño de la aplicación de Cámara cambió
Compatibilidad con diferentes resoluciones de pantalla
Nuevo diseño en Android Market
Motor multilenguaje de Síntesis de habla

  Android 2.0/2.1 <<Eclair>>

  Los cambios ahora eran rápidos, en Noviembre de 2009 se comienza a distribuir esta nueva actualización. Para Enero de 2010 aparece el Nexus One equipado con esta versión y el celular que quería destronar a Apple con su iPhone y iOS.
  Samsung no se quiere quedar atrás, en Marzo de 2010 lanza su Samsung Galaxy S el cual incluye Android 2.1, para finales de ese año, la empresa coreana logró vender 10 millones de celulares.
Nuevo navegador que soportaba HTML5
Se introduce la función Text to Speech
Brillo automático
Fondos de pantalla animados
Zoom digital en la cámara

  Android 2.2 <<Froyo>>



Samsung Galaxy Tab
    Pasaron apenas cuatro meses para otra actualización, a mi parecer, una versión que marcó tendencia, y con la cual muchos conocimos este nuevo sistema operativo: Android. Algo que se debe destacar de este SO es que fue el primero en dar soporte a Flash de Adobe. El Nexus One fue el primer celular en recibir Froyo. Samsung estrena una de las primeras tablets con Android: la Samsung Galaxy Tab.
Pantalla de inicio completamente rediseñada
Mejoras importantes en cuanto a rendimiento
Desbloqueo mediante código PIN
Soporte para Flash 10.1
Nueva funcionalidad de tethering <<compartir internet por USB o Wi-FI>>
  
Android 2.3 <<Gingerbread>>

  La tecnología avanzaba rápidamente, era momento de adaptar Android a las nuevas características que implementaban: barómetro, giroscopio, cámaras delanteras, etc. Google de la mano de Samsung lanzó el nuevo Google Nexus S con Gingerbread. Hace algunos años aún se posicionaba como una de las más usadas en todo el mundo.
Soporte para conexión NFC
Modificación del panel de notificaciones
Soporte para pantallas mucho más grandes y con alta resolución
Nuevos efectos de audio

  Android 3.0 <<Honeycomb>>
Motorola Xoom, primer tablet con Honeycomb
  La comercialización de las tablets aumentó y Android 3.0 fue lanzado de manera especial para adaptarlo a este nuevo mercado. Siguieron tres nuevos parches para esta versión en la que se arreglaban problemas menores. Esta versión especial para las tablets marcó tendencia para las siguientes versiones, ya que la parte del diseño <<de colores obscuros en los menús>> perduró. La primer tablet que equipó Honeycomb fue la Motorola Xoom.
Botón especial para abrir multitarea
Aplicaciones en la pantalla de desbloqueo
Soporte para accesorios USB <<USB On-The-Go>>
Soporte para joysticks y gamepads
Interfaz de correo en dos paneles

  Android 4.0 <<Ice Cream Sandwich>>
  Basado en Honeycomb, ICS marcó un antes y un después en las mejoras de Android, es un parteaguas para las siguientes actualizaciones. Samsung presentó el Galaxy Nexus el cual tenía un trabajo difícil para convencer a la audiencia de esta nueva cara de Android, una interfaz mucho más sencilla y refinada pero que no le restaba funcionalidad, al contrario.
Diseño completamente nuevo
Desbloqueo por reconocimiento facial
Cambio de Android Market a Google Play
Capturas de pantalla
Multitarea mejorada y con un botón dedicado

  Android 4.1 <<Jelly Bean>>
  Ahora Google hace una pausa y decide esperar un poco más para estrenar Jelly Bean. Considerada actualmente la versión más usada. Google lanza su primera tablet con este sistema operativo: la Asus Nexus 7.
Se introduce el asistente de voz Google Now
Restricciones para los distintos perfiles de usuarios en tablets
Se sustituye al navegador por Google Chrome
Project Butter <<para mejorar el rendimiento del sistema>>
Captura de fotografías en 360 grados

  Android 4.4 <<KitKat>>
  Con un nombre lleno de publicidad para Nestlé, esta fue una de las versiones más esperadas por los usuarios. Con KitKat Google pretendía que para todos los smartphones se convirtiera en una base para su lanzamiento debido a lo estable que resultó ser y la madurez que se había alcanzado con esta etapa. El celular más esperado por todos era desde luego el renovado Nexus, ahora tenía por fabricante a LG con el LG Google Nexus 5, uno de los más baratos de la familia Nexus.
Se añadió QuickOffice
Nuevos servicios de almacenamiento en la nube incluidos <<Google Drive y Box>>
Es compatible con dispositivos que cuentan con 512 MB de RAM
El asistente de voz mejora y llega el famoso comando Ok Google
Multitareas mucho más rápido

  Android 5.0 <<Lollipop>>
Android 5.0 Lollipop de serie en el G Flex 2
  Podríamos decir que esta es la última versión oficial de Android, ya que aún estamos a una semana del destape de  Android M. El mercado de los smartwatches está cobrando fuerza y Google no perdió de vista el nuevo mercado con este SO. El tema de mantener nuestra información sincronizada en diversos dispositivos es uno de los fines que cumple Lollipop.
Integración con smartwatches
La seguridad pasa a ser un tema vertebral. Multiusuario en un dispositivo y restricciones
Mejoras considerables en el rendimiento y en desempeño
Soporte para procesadores de 64 bits
Cambio visual en el multitareas acoplando las ventanas en tarjetas
Desbloqueo por ubicación

  Android 6.0 <<Marshmallow>>
  Durante la conferencia de Google I/O se vieron las primeras imágenes de la nueva actualización que tendría Android, se tiene previsto que sea anunciada de forma oficial en la siguiente conferencia de Google el próximo 29 de Septiembre, en la cual también será develado el nuevo modelo de Nexus, el cual, junto con sus generaciones anteriores, serán los primeros en recibir Marshmallow que posiblemente se pueda descargar el 5 de Octubre.

HISTORIA DE ANDROID

Octubre del año 2003, Andy Rubin, Rich Miner, Nick Sears y Chris White daban forma a Android Inc. En sus inicios, únicamente trascendió que la actividad de la empresa se centraba en “el desarrollo de software para teléfonos móviles“.

 Android Inc. pasó casi dos años trabajando “en la sombra”, hasta que Google comenzó a “reclutar” a fuerza de talonario a algunas “startup” (término que se refiere a nuevas compañías con un futuro prometedor) del sector móvil, con la clara intención de replicar su éxito de la Web en el futuro de las telecomunicaciones inalámbricas.

 En Mayo del mismo año Google se hacía con Dodgeball, la empresa que desarrolló un sistema de red social y posicionamiento móvil que, una vez integrada en la estructura empresarial de los chicos de Mountain View, cesó su actividad en 2009 para dar paso a Google Latitude. Llegó el mes de agosto y le tocó el turno a Android Inc., la fecha clave para llegar a entender mejor el éxito de Android es el 5 de noviembre de 2007. Ese día se fundaba la OHA (Open Handset Alliance), una alianza comercial de 35 componentes iniciales liderada por Google, que contaba con fabricantes de terminales móviles, operadores de telecomunicaciones, fabricantes de chips y desarrolladores de software. El mismo día se dio a conocer por  vez primera lo que hoy conocemos como Android, una plataforma de código abierto para móviles que se presentaba con la garantía de estar basada en el sistema operativo Linux.

 Ha sido Google quien ha publicado la mayor parte del código fuente del sistema operativo, gracias al software Apache, que es una fundación que da soporte a proyectos software de código abierto.

 Aunque no fue hasta un año después, en Octubre de 2008 cuando lo vimos por primera vez funcionando en un HTC Dream. Veía la luz en los USA un móvil con la primera versión final de Android, la 1.0. El modelo G1 de HTC quedará para la historia como el iniciador de este gigante llamado Android.

 El HTC G1 es un móvil deslizable hacia el costado con teclado QWERTY y una gran pantalla sensible al tacto. Posee una cámara de 3 megapixels, ranura microSD, navegador de Internet y Email.

 Mucho tiempo ha pasado desde el lanzamiento de Android y muchas han sido las novedades que hemos visto. De la primera versión de Android destacó la plena integración de los servicios de Google, el navegador Web compatible con HTML y XHTML (que además ofrecía la función de zoom integrado y permitía ver múltiples páginas en diferentes ventanas). La guinda del pastel y el elemento que a la larga ha fraguado el éxito del sistema se presentaba por primera vez: Android Market, el almacén de aplicaciones más popular.


WEBKIT

WebKit es una plataforma para aplicaciones que funciona como base para el navegador web SafariOpera, hasta que cambio a BlinkEpiphanyMaxthonMidoriQupZilla entre otros. Está basado originalmente en el motor de renderizado KHTML del navegador web del proyecto KDEKonqueror. WebKit logra 100/100 en la prueba Acid3 desde el 26 de marzo de 2008. Desde junio de 2005 es software libre bajo las licencias GNU GPLGNU LGPL y BSD.

HISTORIA

El código que se convertiría en WebKit se inició en 1998 como parte de un proyecto KDE de renderizado HTML denominado KHTML y del motor JavaScript de KDE (KJS). El nombre del proyecto y 'WebKit' fueron creados en 2002, cuando Apple Inc. creó un «fork» (bifurcación) de KHTML y KJS. Los desarrolladores de Apple explicaron en un correo electrónico a los desarrolladores de KDE que estos motores permiten un desarrollo más fácil que otras tecnologías por el hecho de ser pequeños (menos de 140.000 líneas de código), diseñados limpiamente y compatibles con las normas. KHTML y KJS fueron portados a Mac OS X con la ayuda de una biblioteca adaptada y renombrada como WebCore y JavaScriptCore. JavaScriptCore se anunció en un correo electrónico a una lista de correo de KDE en junio de 2002, junto con la primera versión de los cambios de Apple. WebCore fue anunciado en la Macworld Expo en enero de 2003 por el CEO de Apple Steve Jobs con el lanzamiento del navegador web Safari. 

JavaScriptCore se incluyó por primera vez con el Mac OS X v10.2 como un framework privado, que Apple utilizaba en su aplicación Sherlock, mientras que WebCore debutó con la primera beta de Safari. Mac OS X v10.3 fue el primer lanzamiento de un sistema operativo de Apple que instalaba el paquete WebKit, a pesar de que ya se había compilado como una versión menor del OsX 10,2.

CARACTERÍSTICAS

La API de WebKit está desarrollada en Objective-C y posibilita interactuar con un servidor web para recuperar y renderizar páginas web, descargar archivos, y administrar plugins.
Webkit incluye dos frameworks de más bajo nivel: WebCore, un analizador sintáctico y motor de renderizado de HTML basado en KHTML, y JavaScriptCore, un intérprete de JavaScript basado en KJS.
Con los lanzamientos pre-alfa se está incluyendo un depurador de Javascript llamado Drosera

APLICACIONES NATIVAS

Las aplicaciones nativas se denominan así porque se desarrollan en el lenguaje nativo del propio terminal. Dependiendo de la plataforma para la que queramos nuestra aplicación, desarrollaremos en un lenguaje específico para la misma. Por ejemplo, para desarrollar en Android se utiliza Java, en iOS Objective C, y ahora también el nuevo Swift, y en Windows Phone se usa C# y  Visual Basic. NET.

Estas aplicaciones se alimentarán de los recursos del propio smartphone, teniendo acceso a diferentes características como la cámara, el GPS, entre otras. Además de esto, tienen muchas ventajas ya que, al estar diseñadas directamente para el software del terminal, tendrán un rendimiento optimizado, así como una interfaz mucho más adaptada al sistema operativo al cual el usuario está acostumbrado. Es por esto que son las favoritas del mercado debido a que ofrecen resultados más potentes en cuanto a diseño, usabilidad y eficiencia se refiere. Su distribución se hace a través de los market places oficiales de cada sistema operativo, lo que garantiza una visibilidad y seguridad plena.

Permiten su uso sin necesidad de conexión a internet, aunque esto no quita que en alguna de sus partes la requiera. Las notificaciones push son otro de su fuerte, así como la creación de un acceso directo en tu pantalla principal después de su instalación.

domingo, 19 de marzo de 2017

APP STORE

App Store o Mac App Store es un servicio para el iPhone, el iPod Touch, el iPad y Mac OS X Snow Leopard o posterior, creado por Apple Inc, que permite a los usuarios buscar y descargar aplicaciones informáticas de iTunes Store o Mac App Store en el caso de Mac OS X, desarrolladas con el iPhone SDK y publicadas por Apple.

Estas aplicaciones están disponibles para ser compradas o bien gratuitas, dependiendo de cada una. Las aplicaciones pueden ser descargadas directamente al iPhone o al iPod Touch por medio de una aplicación del mismo nombre, aunque App Store también está disponible en el interior del programa informático iTunes.

Si bien Apple ha manifestado que no espera obtener ganancias de la tienda, Piper Jaffray predijo que App Store podía crear un mercado rentable con ingresos que excedan los mil millones de dólares anuales para la compañía. Apple otorga el 70 % de los ingresos de la tienda directamente al vendedor de la aplicación y el 30% corresponde a Apple.

El primer iPhone no tenía soporte para instalar apps adicionales a lo que ya tenía, Apple recomendaba usar sitios web con HTML5 que utilizaría almacenamiento local para suplir esta función. Sin embargo la empresa cambió de parecer al anunciar un kit de desarrollo antes del 10 de julio de 2008 el cual fue la inauguración de la App Store dentro de iTunes. 

Las 500 aplicaciones iniciales se descargaban de ahí para ser transferidas al iPhone; sin embargo, la versión 2.0 del software del iPhone y el iPod Touch compatible con la nueva tienda aún no estaba disponible para ser descargada desde Apple Software Update, lo que provocó que las aplicaciones no pudieran ser instaladas. La versión 2.0 del iPhone OS fue lanzada el 11 de julio de 2008 y las aplicaciones ya pudieron ser descargadas directamente de los dispositivos. Para el 8 de junio de 2009, ya existían más de 50 000 aplicaciones de terceros oficialmente disponibles para el iPhone y el iPod Touch en App Store. En menos de un año desde su lanzamiento, App Store superó los 25 mil millones de descargas de aplicaciones.

PLAY STORE

Google Play Store (anteriormente Android Market) es una plataforma de distribución digital de aplicaciones móviles para los dispositivos con sistema operativo Android, así como una tienda en línea desarrollada y operada por Google. Esta plataforma permite a los usuarios navegar y descargar aplicaciones (desarrolladas mediante Android SDK), juegos, música, libros, revistas y películas. También se pueden adquirir dispositivos móviles como ordenadores Chromebook, teléfonos inteligentes Nexus, Google Chromecast, entre otros.

Las aplicaciones se encuentran disponibles de forma gratuita, así como también con costo. Pueden ser descargadas directamente desde un dispositivo con Android a través de la aplicación móvil Play Store. Es posible también instalar estas aplicaciones directamente y sin necesidad de una computadora, en dispositivos con sistema operativo BlackBerry 10.
En marzo de 2012, con la fusión de Android Market con Google Music, el servicio fue renombrado a Google Play, como resultado de la nueva estrategia de distribución digital de Google. En julio de 2013, se anunció que Google Play había sobrepasado un millón de aplicaciones publicadas y se habían registrado más de 50 mil millones de descargas.
Historia
Google creó Android Market el 28 de agosto de 2008 y lo puso a disposición de los usuarios el 22 de octubre de 2008. Se introdujo soporte para las aplicaciones de pago el 13 de febrero de 2009 para los desarrolladores de Estados Unidos y el Reino Unido, con el apoyo adicional de 29 países el 30 de septiembre de 2010.

El 6 de marzo de 2012, el servicio fue relanzado con una nueva apariencia, así como con un nuevo nombre, llamándose ahora Google Play y contando en ese momento con más de 450 000 aplicaciones disponibles. A partir de ese momento, los aparatos que no pudieran actualizar Android Market a Google Play dejaron de ser capaces de acceder a nuevas aplicaciones.

BYCODE

El bytecode un código intermedio más abstracto que el código máquina. Habitualmente es tratado como un archivo binario que contiene un programa ejecutable similar a un módulo objeto, que es un archivo binario producido por el compilador cuyo contenido es el código objeto o código máquina .

El bytecode recibe su nombre porque usualmente cada código de operación tiene una longitud de un byte, si bien la longitud del código de las instrucciones varía. Cada instrucción tiene un código de operación entre 0 y 255 seguido de parámetros tales como los registros o las direcciones de memoria. Esta sería la descripción de un caso típico, si bien la especificación del bytecode depende ampliamente del lenguaje.

Como código intermedio, se trata de una forma de salida utilizada por los implementadores de lenguajes para reducir la dependencia respecto del hardware específico y facilitar la interpretación. Menos frecuentemente se utiliza el bytecode como código intermedio en un compilador. Algunos sistemas, llamados traductores dinámicos o compiladores just-in-time traducen el bytecode a código máquina inmediatamente antes de su ejecución para mejorar la velocidad de ejecución.

Los programas en bytecode suelen ser interpretados por un intérprete de bytecode (en general llamado máquina virtual, dado que es análogo a un ordenador). Su ventaja es su portabilidad: el mismo código binario puede ser ejecutado en diferentes plataformas y arquitecturas. Es la misma ventaja que presentan los lenguajes interpretados. Sin embargo, como el bytecode es en general menos abstracto, más compacto y más orientado a la máquina que un programa pensado para su modificación por humanos, su rendimiento suele ser mejor que el de los lenguajes interpretados. A causa de esa mejora en el rendimiento, muchos lenguajes interpretados, de hecho, se compilan para convertirlos en bytecode y después son ejecutados por un intérprete de bytecode. Entre esos lenguajes se encuentran Perl, Gambas, PHP y Python. En el caso de Java se suele trasmitir como bytecode a la máquina receptora, que utiliza un compilador just-in-time para compilar el bytecode en código máquina nativo antes de su ejecución, ahorrando así procesos de interpretación.

jueves, 16 de marzo de 2017

MAQUINA VIRTUAL (JVM)


Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es una máquina virtual de proceso nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el bytecode Java), el cual es generado por el compilador del lenguaje Java.

El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun.

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.

La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje, de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas, y, así, un programa .class escrito en Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java: "escríbelo una vez, ejecútalo en cualquier parte", o "Write once, run anywhere".

Pero los intentos de la compañía propietaria de Java y productos derivados de construir microprocesadores que aceptaran el Java bytecode como su lenguaje de máquina fueron más bien infructuosos.

La máquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un navegador web; lee y ejecuta código precompilado bytecode que es independiente de la plataforma multiplataforma. La JVM provee definiciones para un conjunto de instrucciones, un conjunto de registros, un formato para archivos de clases, la pila, un heap con recolector de basura y un área de memoria. Cualquier implementación de la JVM que sea aprobada por SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificación.

Existen varias versiones, en orden cronológico, de la máquina virtual de Java. En general la definición del Java bytecode no cambia significativamente entre versiones, y si lo hace, los desarrolladores del lenguaje procuran que exista compatibilidad hacia atrás con los productos anteriores.

A partir de J2SE 5.0, los cambios en la especificación de la JVM han sido desarrollados bajo el auspicio de la Java Community Process (JCP) y especificada en la JSR 924.1 Desde el año 2006, cambios en la especificación para soportar las modificaciones del formato del fichero de clases (JSR 2022 ) se están llevando a cabo en una versión de mantenimiento en la JSR 924. Las especificaciones para la JVM están publicadas en lo que se conoce como "el libro azul".3 Así reza el prefacio: Esperamos que esta especificación documente suficientemente la Máquina Virtual de Java para hacer posibles implementaciones desde cero. Sun proporciona tests que verifican que las implementaciones de la Máquina Virtual de Java opere correctamente

Kaffe es un ejemplo de una implementación de JVM desde cero. Sun es la propietaria de la marca registrada "Java", que usa para certificar aquellas implementaciones que se ajustan y son totalmente compatibles con sus especificaciones.

APP

CONCEPTO

Desde la perspectiva de un usuario, puede ser difícil percibir la diferencia entre un sitio web y una aplicación web. Según el Diccionario Oxford en línea, nos enteramos que una aplicación es "un programa o conjunto de programas para ayudar al usuario de un ordenador para procesar una tarea específica". 

Una aplicación (también llamada App) es simplemente un programa informático creado para llevar a cabo o facilitar una tarea en un dispositivo informático. Cabe destacar que aunque todas las aplicaciones son programas, no todos los programas son aplicaciones. Existe multitud de software en el mercado, pero sólo se denomina así a aquel que ha sido creado con un fin determinado, para realizar tareas concretas. No se consideraría una aplicación, por ejemplo, un sistema operativo, ni una suite, pues su propósito es general.

Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador han detectado una cierta necesidad. Pero las aplicaciones también pueden responder a necesidades lúdicas, además de laborales (todos los juegos, por ejemplo, son considerados aplicaciones). Se suele decir que para cada problema hay una solución, y en informática, para cada problema hay una aplicación.


Naturalmente, el campo de las aplicaciones es tan extenso, y las funciones tan dispares, que se han creado numerosas clasificaciones, según varios criterios. Así, por ejemplo, dependiendo del uso que se le vaya a dar, podemos tener aplicaciones profesionales o personales. También podemos hablar de aplicaciones para Windows, Linux, Android, Apple, PC, móvil, según el sistema operativo o la plataforma que vayamos a usar. Según su finalidad, pueden ser de entretenimiento, de negocios, empresariales, de sonido, gráficas, de edición, web, didácticas  e incluso según la rama de las ciencias en el que se usen podemos decir que hay aplicaciones de ingeniería, de telecomunicaciones, matemáticas... y un largo etcétera.