«

»

¿Es difícil desarrollar aplicaciones para Android?

Hola a todos lo seguidores de este proyecto en crecimiento, llegó la hora de ponerse serios y comenzar a hablar sobre el tema y objetivo principal de este blog: Desarrollo de aplicaciones. ¿Es dificil hacerlo? Y la respuesta correcta es…. que no hay respuesta correcta, es decir, es relativo y depende de cada persona. Desde el punto de vista de un desarrollador experimentado con experiencia en diagramación y que domine al menos un lenguaje de programación pues le será relativamente sencillo y fácil desarrollar para Android, esto es porque sigue un ciclo de desarrollo muy sencillo, amigable y fácil de entender, claro no digo que sea imposible o extremadamente difícil para alguien sin nada de experiencia, pero tendría que enfocarse primero en aprender otras cosas antes de dedicarse directamente sobre Android. En este post explicaré brevemente las caracteristicas más relevantes que debemos tener en cuenta antes de desarrollar alguna aplicación.holamundo
Bien, como ya mencioné antes, Android es un sistema operativo basado en el núcleo Linux diseñado originalmente para dispositivos móviles, tales como teléfonos inteligentes, pero que posteriormente se expandió su desarrollo para soportar otros dispositivos como tablets, reproductores MP3, netbook, PC, televisores, lectores de e-book e incluso, se han llegado a ver en el CES, microondas y lavadoras.

ESTRUCTURA DEL SISTEMA OPERATIVO

Pero, ¿qué es lo que hace a Android tan versatil para adaptarse a casi cualquier dispositivo? Exceptuando la fragmentación de versiones, la arquitectura de Android es perfecta tecnicamente hablando. Está estrategicamente modulada y dividida en diferentes capas, lo cual nos permite trabajar más facilmente enfocándonos directamente en el modulo o capa que queremos utilizar, más adelante veremos detalladamente cada una de los módulos a fondo.

  • Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos, y otros.
  • Marco de trabajo de aplicaciones (Framework): los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes.
  • Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Como : System C library , bibliotecas de medios, bibliotecas de gráficos, 3D, SQLite, entre otras.
  • Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex).
  • Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red, y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.

Resumiendo, al presionar el botón de encendido del telefono, despues de cargar el bootloader (equivalente al bios en una pc) arranca el sistema android en el orden de abajo hacia arriba segun la imagen, es decir, Kernel de Linux – Librerias – Framework – Aplicaciones, cada uno dependiendo del anterior para funcionar.

MODELO VISTA CONTROLADOR

Ya que sabemos esto, pasemos a un punto muy importante, las aplicaciones Android siguen el Modelo Vista Controlador, es decir, la interfaz de usuario está separada de su programación. Esto nos permite hacer cambios rápidos y tener un mejor control del desarrollo. Basicamente la base de el modelo es:

  • Interfaz de usuario (Archivos XML)
  • Programación (Lenguaje JAVA)

MÁQUINA VIRTUAL DALVIK

Generalmente, al desarrollar una aplicación, empezamos a programar desde la segunda capa: las librerías propias de Android, las cuales ya estan compiladas para poder ser usadas en nuestras aplicaciones. Aunque parezca raro, en Android no se compilan las aplicaciones en código nativo, si no para una Máquina Virtual de Java modificada y optimizada para móviles llamada DALVIK. Dicha máquina virtual es tan eficiente, que practicamente es transparente para el usuario final, por esa misma razón no es posible ejecutar aplicaciones Java comunes.

 

No te preocupes si no entendiste algún punto o concepto, más adelante se detallará mas extensamente cada uno de los pasos a seguir y como trabaja internamente el sistema al ejecutar una aplicación

Después de leer esta breve introducción, ¿Puedes contestarte a ti mismo la pregunta inicial?

 

Seguramente también te interesará...

8 comentarios

Ir al formulario de comentarios

  1. Aileen

    Apoyo su opinión … es claro, sencillo, lógico y obvio que depende mucho de las personas… como aquel dicho: no le pidas peras al olmo…… Osea no le pidas programar en Android a un medico… o.O, Mas sin embargo me parece muy bueno el detalle de compartir sus conocimientos y lo que sabe de este sistema operativo, Felicitaciones ;) aquí seguiremos esperando mas detalladamente los pasos :P …… Mucho Éxito en todo ;)

    1. admin

      Muchas gracias por tu apoyo, eres uno de mis motivos para seguir adelante. ;)

  2. David

    Hola! Yo no soy programador, pero igual siempre fui un novato en todo lo que son estas cosas, pero igual viendo tutoriales e aprendido a hacer temas para celulares en flash recreando android, y se hacer cosas como cambiar el firmware de los equipos y personalizar los mismos, yo me e vuelto fan de esta pagina! Me encantaaaaaa! Se me dificulta escribir, porque estoy desde mi BB, pero para que vean que sigo la pagina desde donde esteee!!! :) saludos a todos!

    1. admin

      Gracias David, estamos en contacto y esperemos aprendas mucho sobre Android para que cuando tengas tu dispositivo puedas aprovecharlo al máximo.

      Saludos

  3. Victor

    Entonces si uno tiene conocimiento de java es mas facil desarrollar en android?

    1. admin

      Asi es, de hecho toda la programacion en Android usa la sintaxis de java, solo hay que aprender a utilizar las nuevas librerias y clases que nos proporciona el SDK de android.

      Saludos

  4. ESM

    Mañana empiezo un curso de programación en Android y de java… cero patatero. Hace años que no programo. He programado en PHP, Asp, Javascript… pero no recuerdo mucho. Espero que no me resulte muy difícil porque quiero volver al mundo de la informática porque el tema laboral se pone feo.

    Un saludo y enhorabuena por la web.

  5. pablo correa

    Amigos. Me colaboran? Tengo la idea de hacer una app para enseñar metodos de estudio a niños. Eato con motivo de mi proyecto de grado. Se mw viene a lacabeza algo pparecido al viejo tamagochi o al actual pou. La pregunta concisa es si es muy complicado. Y en su defecto, aproximadamente cuanto me podria costar el desarrollo de una app asi en colombia. Precio en pesos o dolares.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *