Post on 21-Oct-2015
1. Java Java es un lenguaje de programación orientado a objetos desarrollado en 1995 por Sun Microsystems. En menos de 20 años, Java se ha convertido en unos de los lenguajes de programación más populares del mundo (nº 2 en el ranking TIOBE, nº1 en JobsTractor). Java es independiente de la plataforma, lo que significa que los programas hechos para Max OS X puede ejecutarse en Windows y Linux, y viceversa. Esta característica es una de las razones por las que Java es el lenguaje elegido en la mayoría de las aplicaciones empresariales.
La demanda de ingenieros de Java es excepcionalmente alta, en Indeed.com cuenta con 62.589 puestos vacantes de Java en su base de datos. La mayoría de puestos de desarrollador senior requieren experiencia laboral de Java y/o C.
2. Lenguaje C C es uno de los lenguajes de programación más antiguos usados hoy en día. Fue desarrollado originalmente en 1972 por Dennis Ritchie en los Laboratorios Bell. C es el “abuelo” de muchos lenguajes de programación, incluyendo Java, C#, C++, Perl y JavaScript.
C es potente, estable, y está disponible fácilmente en casi todas las plataformas. La primera interpretación de muchos lenguajes populares como Python y PHP están escritos en lenguaje C. Esta es la razón por la que C es uno de los primeros lenguajes que se enseñan a los estudiantes, ya que puede facilitar el aprendizaje de otros lenguajes.
C se encuentra en el nº 1 en el índice TIOBE y nº 13 en JobsTractor.
3. C ++ C++ fue originalmente creado en 1983 para abordar las insuficiencias del lenguaje C. Es un lenguaje de nivel intermedio con características de programación orientada a objetos. C++ está detrás de algunas de las aplicaciones más famosas de escritorio del mundo, incluyendo la suite completa de programas de Adobe (Adobe Photoshop, Illustrator, etc.), Mozilla Firefox, Google Chromium, y Winamp. La demanda de programadores de C++ es alta permanentemente, con 29.225 vacantes de acuerdo a Indeed. También se encuentra en el nº 4 del índice TIOBE, y nº 10 en JobsTractor.
4. C# C# (pronunciado “C-Almohadilla) fue desarrollado por Microsoft en el año 2000 como una parte fundamental de su framework .NET. C# es un lenguaje de programación orientado a objetos, multi-paradigma, que combina lo mejor de C y C++. Aprender C# es imprescindible para cualquier programador que quiera desarrollar para la plataforma Microsoft (incluyendo Windows).
C# se encuentra en el nº 6 del índice TIOBE, y nº 8 en JobsTractor. Existen 29.557 puestos de C# en Indeed.com.
5. Objective-C Objective-C fue desarrollado en 1983 por Tom Love y Brad Cox en Apple para tratar las carencias del lenguaje C. Objetive C es el lenguaje principal utilizado en los sistemas operativos Apple OS X y iOS. El aumento de la popularidad de Macs y los dispositivos “i” de Apple (incluyendo iPad y iPhone) ha creado una enorme demanda de programadores Objective-C. Un conocimiento práctico de Objective-C le ayudará a desarrollar aplicaciones para iOS, lo que le preparará el camino para miles de trabajos en startups así como en grandes empresas tecnológicas (17.702 puestos, según Indeed). Como desarrollador Objective-C, puede también ser autónomo y crear aplicaciones iOS por su cuenta.
¡Aprenda el lenguaje Objective-C con este curso para principiantes!
Objective-C se encuentra en el nº 3 en el índice TIOBE y en JobsTractor.
6. PHP PHP (Procesador de Hipertexto) es un lenguaje de script del lado del servidor que hace funcionar a más de 244m webs en internet, incluyendo plataformas de publicación populares como WordPress, Joomla y Drupal. Creado en 1995, PHP es uno de los lenguajes más jovenes de esta lista.
PHP es relativamente fácil de aprender y puede ser fácilmente embebido dentro de páginas HTML, lo que lo ha convertido en el lenguaje de programación de propósito general en internet. La gran demanda de desarrolladores de aplicaciones web ha desembocado en un enorme exceso de puestos de PHP. Dominar PHP es a menudo el primer paso para convertirse en un desarrollador web en toda regla.
A propósito, PHP se encuentra en el nº 2 en las estadísticas mensuales de JobsTractor, y nº 5 en el índice TIOBE. Existen también 17.627 vacantes de PHP según Indeed.com.
7. Python Python fue creado en 1991 por Guido van Rossum. Este lenguaje de programación de alto nivel hace énfasis en la legibilidad y sencillez y es un lenguaje estupendo para que los principiantes empiecen su viaje en programación. Python ha disfrutado un resurgimiento en popularidad en los últimos años y ahora hace funcionar a alguna de las webs más famosas del mundo, como Instagram.com, Pinterest.com, y Rdio.com mediante su framework web asociado, Django. Google ha invertido especialmente fuerte en el desarrollo en Python en la última decada, lo que ha incrementado aún más la popularidad del lenguaje (de hecho, el fundador de Python van Rossum fue trabajador de Google de 2005 a 2012). Puede aprender fácil y rápidamente Python con este curso acelerado.
Python se encuentra el nº 9 en la lista de JobsTractor y nº 8 en el índice TIOBE. Indeed cuenta 19.553 puestos de Python online.
8. Ruby Ruby fue desarrollado en 1995 por Yukihiro Matsumoto al combinar elementos de Perl, Lisp, y Eiffel. Es un lenguaje dinámico, orientado a objetos que hace énfasis en la simplicidad y la automatización. Ruby alimenta al framework Ruby on Rails, que se utiliza
en webs tan famosas como Yammer, Scribd, Github, Gruopon, y Shopify. Muchos estudiantes de programación principiantes encuentran a Ruby comparativamente fácil de aprender por su sintaxis simple y a su legibilidad parecida al inglés.
Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de
una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad
ejecutora de las máquinas.
En los primeros lenguajes de nivel bajo la limitación era que se orientaban a un área
específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como
lenguajes procedimentales.
Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos
conocimientos de programación para realizar las secuencias de instrucciones lógicas.
Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un
problema de procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de
programación que evitaba estos inconvenientes, a costa de ceder un poco en las
ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en
contraposición a los de bajo nivel o de nivel próximo a la máquina.
Principales lenguajes de nivel alto[editar]
VB.NET
Ada
ALGOL
BASIC
C Sharp
FORTRAN
Java
Lisp
Modula-2
Pascal
Perl
PHP
PL/1
PL/SQL
Python
Ruby
Matlab
Principales lenguajes de nivel medio[editar]
C
C++
FORTRAN[editar]
Artículo principal: Fortran
Abreviatura de Fórmula Translator (traductor de fórmulas), fue definido alrededor del
año 1954, y disponible para el público en 1957 en los Estados Unidos por la compañía
IBM.1 Es el más antiguo de los lenguajes de alto nivel, pues antes de su aparición todos
los programas se escribían en lenguaje ensamblador o en lenguaje máquina.
Es un lenguaje especializado en aplicaciones técnicas y científicas, caracterizándose por
su potencia en los cálculos matemáticos, pero estando limitado en las aplicaciones de
gestión, manejo de archivos, tratamiento de cadenas de caracteres y edición de
informes.
A lo largo de su existencia han aparecido diferentes versiones, entre las que destaca la
realizada en 1966 por ANSI (American National Standard Institute) en la que se
definieron nuevas reglas del lenguaje y se efectuó la independencia del mismo con
respecto a la "máquina", es decir, comenzó la transportabilidad del lenguaje. Esta
versión se denominó FORTRAN IV o FORTRAN 66. En 1977, apareció una nueva
versión más evolucionada que se llamó FORTRAN V o FORTRAN 77, esta versión
está reflejada en el documento «ANSI X3.9-1978: Programming Language
FORTRAN» y define dos niveles del lenguaje denominados FORTRAN 77 completo y
FORTRAN 77 básico, siendo el segundo un subconjunto del primero. Esta última
versión incluye además instrucciones para el manejo de cadenas de caracteres y de
archivos, así como otras para la utilización de técnicas de programación estructurada.
Estas características hacen que el lenguaje también sea válido para determinadas
aplicaciones de gestión.
COBOL[editar]
Artículo principal: COBOL
Es el lenguaje más usado en las aplicaciones de gestión, creado en 1960 por un comité
denominado CODASYL, patrocinado por el Departamento de Defensa de los Estados
Unidos, a fin de disponer de un lenguaje universal para aplicaciones comerciales como
expresa su nombre (COmmon Business Oriented Language).
Entre sus características se pueden citar su parecido al lenguaje natural (inglés), es auto-
documentado y tiene gran capacidad en el manejo de archivos, así como en la edición de
informes escritos. Entre sus inconvenientes están sus rígidas reglas de formatos de
escritura, la necesidad de describir todos los elementos al máximo detalle, la extensión
excesiva en sus sentencias e incluso duplicación en algunos casos, la inexistencia de
funciones matemáticas y, por último, su no adecuación a las técnicas de programación
estructurada.
PL/1[editar]
Artículo principal: PL/1
Fue creado a comienzos de los años 60 por IBM para ser usado en sus equipos del
sistema 360. El PL/I (Programming Language 1) se desarrolló inspirándose en los
lenguajes ALGOL, COBOL y FORTRAN, tomando las mejores características de los
anteriores y añadiendo algunas nuevas, con el objetivo de obtener un lenguaje lo más
general posible, útil para aplicaciones técnico-científicas, comerciales, de proceso de
textos, de [[bases de datos}} y de programación de sistemas.
Entre sus novedades está su gran libertad en el formato de escritura de los programas,
soportar la programación estructurada y el diseño modular. No obstante, no ha superado
a sus progenitores en sus aplicaciones específicas debido en parte a su amplitud y por
ello, al tamaño de su compilador, que hasta ahora sólo se podía instalar en grandes
equipos.
BASIC[editar]
Artículo principal: BASIC
Fue diseñado por los profesores John G. Kemeny y Thomas E. Kurtz del Dartmouth
College en 19642 con el objetivo principal de conseguir un lenguaje fácil de aprender
para los principiantes, como se indica en su nombre Beginner’s All-purpose Symbolic
Instruction Code (Código de instrucción simbólico de propósito general para
principiantes).
Entre sus principales novedades están las de ser un lenguaje interpretado y de uso
conversacional, útil para aplicaciones técnicas y de gestión. Estas características, unidas
a la popularización de las microcomputadoras y computadoras personales, ha hecho que
su utilización se haya extendido enormemente, a la vez que ha propiciado el surgimiento
de una gran diversidad de versiones que extienden y adaptan a necesidades particulares
el lenguaje original. Existen multitud de intérpretes y compiladores del lenguaje.
PASCAL[editar]
Artículo principal: PASCAL
Fue creado por el matemático suizo Niklaus Wirth en 1970, basándose en el lenguaje
AL-GOL, en cuyo diseño había participado en los años 60. Su nombre proviene del
filósofo y matemático francés del siglo xvii Blaise Pascal, que inventó la primera
máquina de tipo mecánico para sumar.
Aunque en principio la idea del diseñador era proporcionar un lenguaje adecuado para
la enseñanza de los conceptos y técnicas de programación, con el tiempo ha llegado a
ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, poseyendo grandes
facilidades para la programación de sistemas y diseño de gráficos.
Aporta los conceptos de tipo de datos, programación estructurada y diseño descendente,
entre otros, además de haberse convertido en predecesor de otros lenguajes más
modernos, como MODULA-2 y ADA.
C/C++[editar]
Artículo principal: C++
Fue creado en 1972 por Dennis Ritchie a partir del trabajo elaborado por su colega de
los laboratorios Bell Telephone, Ken Thompson. Estos habían diseñado con
anterioridad el sistema operativo UNIX, y su intención al desarrollar el lenguaje C fue
la de conseguir un lenguaje idóneo para la programación de sistemas que fuese
independiente de la máquina con el cual escribir su sistema UNIX.
Aunque fue diseñado inicialmente para la programación de sistemas, posteriormente su
uso se ha extendido a aplicaciones técnico-científicas, de bases de datos, de proceso de
textos, etc.
La utilización óptima de este lenguaje se consigue dentro de su entorno natural, que es
el sistema operativo UNIX. Entre sus características destaca el uso de programación
estructurada para resolver tareas de nivel bajo, así como la amplia librería de rutinas de
que dispone.
ADA[editar]
Artículo principal: Ada (lenguaje de programación)
Es el último intento de obtener un único lenguaje para todo tipo de aplicaciones e
incluye los últimos avances en técnicas de programación. Su diseño fue encargado por
el Departamento de Defensa de los Estados Unidos a la empresa Honeywell-Bull
después de una selección rigurosa entre varias propuestas realizadas sobre una serie de
requerimientos del lenguaje y de haber evaluado negativamente veintitrés lenguajes
existentes. De éstos se seleccionaron como base para la creación del nuevo lenguaje el
PASCAL, el ALGOL y el PL/I. La estandarización del lenguaje se publicó en 1983 con
el nombre de ADA en honor de la considerada primera programadora de la historia
Augusta Ada Byron, condesa de Lovelace.
Entre las características del lenguaje se encuentran la compilación separada, los tipos
abstractos de datos, programación concurrente, programación estructurada, libertad de
formatos de escritura, etc., presentando como principal inconveniente su gran extensión.
Desarrollo de programas para Android De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Galaxy Nexus, teléfono recomendado por el (operating system)#Android Open Source
Project|Android Open Source Project para desarrollar programas1 parte de la serie Google
Nexus, una línea de "developer-friendly" phones
Desarrollo de Programas para Android se hace habitualmente con el lenguage de
programación Java y el conjunto de herramientas de desarrollo ( SDK, Software
Development Kit ), pero hay otras opciones disponibles. En Abril del 2011 existían más
de 200.000 aplicaciones contabilizadas para Android, con unos 3 millardos de
descargas.2 3 La plataforma Android ha crecido hasta ser una de las preferidas por los
desarrolladores para plataformas móviles. Un estudio de junio del 2011 indica que el
67% de los desarrolladores para móviles utilizaban la plataforma en el momento de la
publicación del estudio. 4
Herramientas para Desarrollo de Software[editar]
Android SDK[editar]
El SDK ( Software Development Kit ) de Android, incluye un conjunto de herramientas
de desarrollo.5 Comprende un depurador de código, biblioteca, un simulador de teléfono
basado en QEMU, documentación, ejemplos de código y tutoriales. Las plataformas de
desarrollo soportadas incluyen Linux ( cualquier distribución moderna ), Mac OS X
10.4.9 o posterior, y Windows XP o posterior. La plataforma integral de desarrollo
(IDE, Integrated Development Environment) soportada oficialmente es Eclipse junto
con el complemento ADT ( Android Development Tools plugin ), aunque también
puede utilizarse un editor de texto para escribir ficheros Java y Xml y utilizar comandos
en un terminal ( se necesitan los paquetes JDK, Java Development Kit y Apache Ant )
para crear y depurar aplicaciones. Además, pueden controlarse dispositivos Android que
estén conectados ( e.g. reiniciarlos, instalar aplicaciones en remoto).
Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android.
El SDK soporta también versiones antiguas de Android, por si los programadores
necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las
herramientas de desarrollo son componentes descargables, de modo que una vez
instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de
compatibilidad.
Una aplicación Android está compuesta por un conjunto de ficheros empaquetados en
formato .apk y guardada en el directorio /data/app del sistema operativo Android ( este
directorio necesita permisos de superusuario , root, por razones de seguridad ). Un
paquete APK incluye ficheros .dex ( ejecutables Dalvik, un código intermedio
compilado ), recursos, etc.
Native Development Kit. Desarrollo Nativo[editar]
El NDK permite instalar bibliotecas escritas en C y otros lenguajes, una vez compiladas
para ARM o código x86 nativo. Los programas Java corriendo en la máquina virtual
Dalvik ( Dalvik VM ) pueden llamar a clases nativas por medio de la función
System.loadLibrary, que forma parte de las clases estándar Java en Android.
Se pueden compilar e instalar aplicaciones completas utilizando las herramientas de
desarrollo habituales. El depurador ADB proporciona un shell root en el Simulador de
Android que permite cargar y ejecutar código nativo ARM o x86. Este código puede
compilarse con GCC en un ordenador normal. La ejecución de código nativo es difícil
porque Android utiliza una biblioteca de C propia (libc, llamada Bionic). Se accede al
dispositivo gráfico como un framebuffer disponible en /dev/graphics/fb0. La biblioteca
gráfica que utiliza Android para controlar el acceso a este dispositivo se llama Skia
Graphics Library (SGL), disponible con licencia de código abierto. Skia tiene
implementaciones en win32 y Unix, permitiendo el desarrollo cruzado de aplicaciones,
y es el motor de gráficos que soporta al navegador web Google Chrome.
Android Open Accessory Development Kit[editar]
La plataforma de Android 3.1 ( portado también a Android 2.3.4 ) introduce soporte
para Android Open Accesory, que permite interactuar a dipositivos USB externos (
accesorios USB Android ) interactuar con el dispositivo en un modo especial llamado
"accessory". Cuando un dispositivo Android está en modo "accessory" el dispositivo
externo actúa como hub usb ( proporciona alimentación y ennumera los dispositivos ) y
el dispositivo Android actúa como dispositivo USB. Los accesorios Android USB están
diseñados específicamente para conectarse a dispositivos Android y utilizan un
protocolo simple ( Android accessory protocol ) que les permite detectar dispositivos
Android que soportan modo "accessory".
App Inventor para Android[editar]
Google anunció en julio de 2010 la disponibilidad de App Inventor para Android, que es
un entorno de desarrollo visual Web, para programadores noveles, basado en la
biblioteca Open Blocks Java, del MIT. Este entorno proporciona acceso a funciones
GPS, acelerómetro y datos de orientación, funciones de teléfono, mensajes de texto,
conversión habla a texto, datos de contacto, almacenamiento permanente, y servicios
Web, incluyendo inicialmente Amazon y Twitter. Hal Abelson, director de proyecto en
el MIT, dijo: "Sólo hemos podido hacerlo porque la arquitectura Android es tan
abierta". Después de un año de desarrollo, la herramienta de edición de bloques se ha
utilizado para enseñanza a principiantes en ciencias de computación en Harvard, MIT,
Wellesley, y en la Universidad de San Francisco, donde el profesor David Wolber,
desarrolló un curso de introducción a la ciencia de los ordenadores y un libro de
enseñanza para estudiantes que no estudian computación, basado en App Inventor para
Android.
HyperNext Android Creator[editar]
HyperNext Android Creator (HAC) es un sistema de desarrollo de programas dirigido a
programadores que empiezan, permitiéndoles crear sus propias aplicaciones sin
necesitar conocimientos de Java y del SDK de Android. Está basado en HyperCard, que
gestiona el software como una pila de tarjetas en la que sólo una de ellas es visible en un
momento dado y por tanto encaja bien en aplicaciones para teléfonos móviles, con una
sola ventana disponible a la vez. El lenguaje principal de desallollo se llama
simplemente HyperNext y está relacionado con el lenguaje de HyperCards HyperTalk.
HyperNext es un intérprete de un lenguaje similar al Inglés y tiene muchas funciones
para crear aplicaciones Android. Soporta un subconjunto creciente del SDK de Android
incluyendo sus propias vesiones de controles gráficos de interfaz de usuario ( GUIs ) y
ejecuta autómaticamente su propio servicio, de forma que las aplicaciones pueden
continuar ejecutándose y procesando información, sin estar en el frontal del usuario.
El proyecto Simple[editar]
El objetivo de Simple es ser un lenguaje fácil de aprender para la plataforma Android.
Simple es un dialecto de BASIC para Android. Sirve tanto para programadores
profesionales como aficionados permitiendo escribir rápidamente aplicaciones que
utilizan los componentes de Android.
Parecido a Visual Basic 6 de Microsoft, los programas Simple consisten en definiciones
de formularios ( que contienen componentes ) y código ( con la lógica del programa ).
La interacción entre ellos se hace por médio de eventos lanzados por los componentes.
La lógica del programa consiste en gestores de eventos, que ejecutan código
dependiendo del evento.
El proyecto Simple no tiene mucha actividad. La última actualización de código se
realizó en agosto de 2009. Existe un producto comercial parecido llamado
Basic4android, inspirado en Visual Basic 6 y Microsoft Visual Studio. Este proyecto si
tiene actividad y hay una comunidad sólida de programadores.
Appcelerator Titanium[editar]
Appcelerator Titanium es una plataforma para desarrollar aplicaciones móviles y de
escritorio utilizando tecnologías web. Appcelerator Titanium está desarrollado por
Appcelerator Inc. y fue lanzado en diciembre del 2008. En junio de 2009 se añadió
soporte para el desarrollo de aplicaciones móviles para Android e iPhone
Appcelerator Titanium utiliza el entorno de programación Eclipse y está basado en
JavaScript
Es gratuito, aunque requiere registro. Dada su gratuidad, sus amplias posibilidades por
abarcar varias plataformas con un mismo código de programación y la sencillez del
lenguaje JavaScript, está ganando en popularidad entre los programadores.
Existen muchos vídeos en Youtube en los que se enseñan los primeros pasos en este
entorno de programación.
El Concurso de Desarrollo Android[editar]
El Concurso de Desarrollo Android (ADC Android Developer Challenge ) fue una
competición a la aplicación más innovadora para Android. Google ofreció premios por
valor de 10 millones de dólares, distribuidos en dos fases ADC 1 y ADC 2. ADC 1
aceptaba subscripciones entre el 2 de enero y el 14 de abril de 2008. Las 50 aplicaciones
más prometedoras, seleccionadas el 12 de mayo del 2008, recibieron 25.000 dólares
para soporte a su desarrollo. A principios de septiembre diez equipos recibieron 275.000
dólares, y otros diez, 100.000 dólares. ADC II empezó el 27 de mayo de 2009. La
primera ronda concluyó el 6 de octubre. Los ganadores, 200 aplicaciones, se publicaron
el 5 de noviembre. La votación de la segunda ronda empezó ese mismo día y acabó el
25 de noviembre. Google publicó los ganadores el 30, con SweetDreams, What the
Doodle!? y WaveSecure como los ganadores totales del concurso...
Firmware de Comunidad[editar]
Hay una comunidad de apoyo al código abierto que construye y comparte firmware
basado en Android con modificaciones y funciones adicionales, por ejemplo, soporte
para audio FLAC y la capacidad de guardar aplicaciones en la tarjeta microSD.
Normalmente, esto implica acceso como superusuario al dispositivo ("rooting").
"Rooting" permite al superusuario acceder al sistema operativo con un control completo
del teléfono. Para utilizar firmwares modificados hay que desbloquear el cargador de
arranque del dispositivo. Solamente hacer "rooting" no permite grabar un firmware
propio. Los firmwares modificados permiten la utilización de teléfonos antiguos con
aplicaciones disponibles en dispositivos recientes.
Los paquetes de firmware se actualizan con frecuencia, incorporan funciones a Android
que no se distribuyen oficialmente dentro del firmware autorizado por un operador, y
suelen tener menos limitaciones. Como ejemplo están CyanogenMod y OMFGB.
El 24 de septiembre de 2009, Google envió una carta solicitando el cese de estas
actividades a Cyanogen, mencionando problemas con la redistribución de aplicaciones
Google con código cerrado en el firmware modificado. Aunque la mayor parte del S.O.
Android es código abierto, los teléfonos incorporan código propietario de Google para
aplicaciones como Android Market y navegación GPS. Google ha declarado que estas
aplicaciones sólo pueden distribuirse a través de canales de distribución aprobados con
su correspondiente licencia. Cyanogen ha cumplido los deseos de Google y continúa
distribuyendo sus modificaciones sin código propietario, proporcionando un método
para copiar las aplicaciones con licencia Google durante la instalación y recuperarlas al
finalizar la misma.
Estándares de Java[editar]
Android no utiliza los estándares establecidos de Java, i.e. Java SE y ME, lo cual es un
problema para el desarrollo. Esto impide la compatibilidad entre aplicaciones Java
escritas para otras plataformas. Android sólo utiliza la sintáxis y la semántica de Java,
pero no incorpora en su totalidad las bibliotecas de clases de Java y APIs ( Application
Programming Interface ) que acompañan a Java SE o ME. Sin embargo, hay diversas
herramientas en el mercado de empresas como Myriad Group y UpOnTek que dan un
servicio de conversión entre J2ME y Android.
Fragmentación[editar]
Este artículo o sección se encuentra desactualizado.
Es posible que la información suministrada en él haya cambiado o sea insuficiente.
Los desarrolladores informaron de la dificultad de mantener aplicaciones para versiones
diferentes de Android, debido a problemas de compatibilidad entre la versión 1.5 y 1.6,
especialmente, por diferencias de resolución entre los distintos teléfonos Android.
Estos problemas se hicieron latentes durante el concurso ADC2. Posteriormente, el
rápido aumento de modelos de teléfono basados en Android con diferentes capacidades
de hardware complicaban el desarrollo de aplicaciones para todos lo modelos de
teléfonos Android.
Sin embargo, la situación parece haber mejorado. Google informó en Julio de 2011 que
el 95% de los teléfonos android en servicio eran variantes de la plataforma 2.1 o más
recientes. Aproximadamente el 60% eran versiones 2.2 o más recientes. Un año antes,
Google informó que el 83% de los teléfonos utilizaban, las versiones 2.x, las actuales en
ese momento, con un 17% todavía con 1.5 y 1.6. Además, las versiones de Android para
tabletas y teléfonos se han unificado en la plataforma 4.0.
Historia[editar]
La Open Handset Alliance, liderada por Google, es la creadora de Android. Los
primeros informes de desarrollo de aplicaciones para la plataforma Android eran
confusos. Entre los temas expuestos se incluían errores, falta de documentación,
infraestructura de control de calidad inadecuada, inexistencia de un sistema de
seguimiento de problemas (Google anunció un sistema de seguimiento de incidencias el
18 de enero de 2008). En diciembre del 2007, Adam MacBeth, fundador de MergeLab
mobile, expresó "No hay funcionalidad, está mal documentada o no funciona... desde
luego no está lista para el lanzamiento". A pesar de todo, las aplicaciones dirigidas a
Android empezaron a la semana siguiente de su aparición. La primera aplicación
publicada fue el juego de la serpiente. El Teléfono de Desarrollo Android es un
dispositivo con el SIM y el hardware desbloqueados, orientado a desarrolladores
avanzados. Así como pueden usarse dispositivos de consumo normales para probar y
utilizar aplicaciones, algunos programadores prefieren dispositivos desbloqueados y sin
contrato.
El 12 de noviembre de 2007 se lanzó una versión de prueba de Android SDK. El 15 de
julio de 2008, El equipo del Concurso de Desarrollo Android envió accidentalmente un
correo electrónico a todos los participantes anunciando una nueva versión de SDK en el
área restringida de descargas. El correo debía dirigirse únicamente a los ganadores de la
primera ronda. El hecho de que Google proporcionara una nueva versión de SDK a unos
desarrolladores y no a otros, mediante un acuerdo privado, originó un gran descontento
en la comunidad de desarrolladores de Android.
El 19 de agosto apareció la versión Beta de Android 0.9 SDK. Proporcionaba una API
mejorada extendida, mejoras en la herramientas y un diseño actualizado de la pantalla
principal. Hay instrucciones detalladas de actualización para aquellos que todavía
utilicen versiones anteriores. Android 1.0 SDK ( versión 1) aparece el 23 de septiembre
del 2008. Según las notas de la versión, incluía fundamentalmente correcciones de
errores, aunque incorporaba pequeñas novedades. Incluso incluía varios cambios en el
API sobre la versión 0.9. Desde esa fecha, se han distribuido múltiples versiones.