Java Paper

Embed Size (px)

DESCRIPTION

algo de java

Citation preview

ANDROID + APP INVENTOR(Noviembre 2014)Autores: A.B. Montiel, M.L. Cansing, J.A Pincay.Estudiantes de la carrera de Ingeniera en Networking y TelecomunicacionesFacultad de Ciencias Matemticas y FsicasUniversidad Guayaquil

ResumenJava Micro Edition como raz de la programacin de aplicaciones mviles, ahora aplicada en una nueva forma de aplicacin, en un sistema ntegramente desarrollado tanto para el usuario comn, como para los ms altos ejecutivos, ofreciendo interfaces de manejo sencillo, rpido y eficiente pero concentrndose en la flexibilidad, seguridad y aprovechando al mximo los recursos.El sistema operativo Android, desarrollado para dar al usuario una interfaz sencilla, fcil de usar, con flexibilidad, pero ofreciendo un ambiente cada vez ms futurista, dando una experiencia enriquecida visual y funcionalmente, aprovechando al mximo hasta los ms mnimos recursos que ofrece el dispositivo que lo utiliza.App Inventor como alternativa para el aprendizaje de la programacin dirigida a las aplicaciones mviles para dispositivos pequeos pero que saquen el mayor potencial del mismo, aprovechndose no solo del hardware sino del software nativo del mismo como tal. Desarrollada por una de las instituciones ms importantes a nivel mundial en el desarrollo de nuevas tecnologas y mtodos de aprendizaje.

Palabras clave: Android, App Inventor, caractersticas, definiciones, historia, versiones.AbstractJava Micro Edition as a result of programming mobile applications, now applied to a new application form, a fully developed system for both the average user and for the most senior executives, providing interfaces for simple, fast and efficient management but focusing flexibility, safety and maximizing resources.The Android operating system, developed to give the user a simple, easy to use interface, with flexibility, but offer an increasingly futuristic atmosphere, giving a visually and functionally rich experience.App Inventor as an alternative for learning programming for mobile applications for small devices but making the most potential of it, taking advantage of not only the hardware but the software of the Native as such.

Key words: Android, App Inventor, caractersticas, definiciones, historia, versiones.

En este artculo revisaremos un lenguaje de programacin muy popular que se deriva de Java, y que ha sido muy utilizado por desarrolladores de aplicaciones mviles, que en los ltimos aos ha logrado captar la atencin de millones de usuarios a nivel mundial, en base a este lenguaje se desarroll un sistema operativo que ha revolucionado la programacin como tal, el mercado, y el desarrollo de nuevas tecnologas que exploten al mximo las capacidades de este, orientado principalmente a brindar todas las herramientas necesarias tanto para el usuario de ms alto nivel, como un desarrollador, un ejecutivo, como para el usuario comn y corriente, y a su vez ofreciendo una interfaz amigable, flexible, eficiente, y eficaz en todas las funciones que este sistema puede ofrecer, este sistema que ha experimentado aproximadamente cinco versiones de las que se darn a notar los aspectos ms innovadores de cada una hasta su ms reciente. Y por ltimo una nueva herramienta que le est dando una nueva cara a la programacin de aplicaciones pequeas para dispositivos mviles, facilitando el aprendizaje y que hoy por hoy cuenta con un stock de ms de un milln de aplicaciones desarrolladas en esta.

Java MEJava Micro Edition (Java ME) es una tecnologa desarrollada para reducir las limitaciones al desarrollo de aplicaciones para dispositivos porttiles. De esta manera Java ME ha definido las bases para la adaptacin de esta tecnologa a entornos limitados y hacer posible el desarrollo de aplicaciones para dispositivos mviles que posean memoria, visualizacin y potencia limitada, pero aprovechando al mximo los recursos que estos posean.[1]

De esta tecnologa se derivan varios tipos que son de mucho inters en el tema de estudio, que son de los sistemas Android.[2]

Oracle Java ME Embedded Java for Mobile Java ME SDK Oracle Java ME Embedded Client Java TV Oracle Java Plataform Integrator

Para nuestro tema de estudio vamos a revisar brevemente tres tipos en especfico que tienen mucho que ver con el tema propuesto anteriormente.Oracle Java ME EmbeddedJava ME Embedded es una tecnologa en tiempo real que se centra en utilizar el ncleo de Java ME desplegada en millones de dispositivos mundialmente, est diseada para cubrir el mayor rango de dispositivos posibles y aprovechar los recursos de cada uno, ofreciendo funcionabilidad, flexibilidad, seguridad, y atendiendo de manera eficiente las demandas de la plataforma.[3]Java for MobileJava for Mobile permite desarrollar aplicaciones altamente funcionales, portables y seguras, para los sistemas operativos ms robustos de hoy en da. La flexibilidad de la plataforma permite desarrollar ahorrando tiempo y gastos de publicidad para el acceso al pblico de estas, ya que esta plataforma se estableci en una base de desarrolladores a la que todos tienen acceso de manera segura.[4]Java ME SDKJava Micro Edition Software Development Kit, permite desarrollar en un entorno independiente, con un conjunto de utilidades especficas para el desarrollo de aplicaciones, teniendo un emulador de dispositivos para las pruebas correspondientes. Esta tecnologa integra la configuracin CLDC (Connected Limited Device) y CDC (Connected Device Configuration) en un entorno de desarrollo sencillo. El Java ME SDK deriva del Java Wireless Toolkit de Sun. El kit de herramientas de Java para CDC ofrece un mejor mbito de direccin en cuanto a los dispositivos que este emula, un entorno ligero, sencillo, independiente y con herramientas de gran alcance para acelerar el desarrollo de aplicaciones.[5]AndroidAndroid es un software para dispositivos mviles que incluye un sistema operativo, aplicaciones primarias que son conocidas como middleware y aplicaciones clave. La popularidad de Android es conocida mundialmente, tanto en sus capacidades como otros aspectos. [6]

Desarrollado por Andy Rubin en Android Inc., en el ao 2003 empresa que fue fundad por l mismo, y que luego de dos aos de trabajo, fue comprada por Google Inc. Bastaron cinco aos de desarrollo para que Android se popularizara en el mercado de los dispositivos mviles, siendo as que en el 2009 Google Inc., en colaboracin con HTC Corporations lanzan al mercado el HTC Dream, el primer dispositivo con la plataforma Android. [7]

Gracias a su unin al proyecto Open Handest Alliance, un consorcio formado por alrededor de cuarenta y ocho empresas desarrolladoras de hardware, software y telecomunicaciones, Android consigui su fama mundial, ya que este era su prospecto ms representativo y respaldado por todos, algunos de los miembros de esta organizacin entre operadoras mviles estn T-Mobile, Sprint, Telefnica; entre desarrolladoras estn Alcatel Mobile Phones, Hacer Inc., HTC Corporation, Intel, Google Inc., y tambin compaas de comercializacin como Intrinsync Software International, Wind River, y ms. [8]

Desde el punto de vista como desarrollador Android fue diseado como una pila, con las aplicaciones formando la capa superior de esta y el kernel de Linux la inferior. Android navega principalmente con un centro de aplicaciones formadas por un cliente de correo, programa de mensajera instantnea o SMS, calendario, mapas, exploradores, contactos y otras aplicaciones que conforman el conjunto de aplicaciones habituales para los usuarios finales. Todas estas aplicaciones fueron creadas en el lenguaje de programacin Java. Los desarrolladores de Android, tienen total acceso al mismo marco de APIs usados por el ncleo de la aplicacin. La arquitectura de este sistema est diseada para simplificar la reutilizacin de sus componentes; las capacidades de las aplicaciones desarrolladas pueden ser publicadas y luego ser usadas por cualquier otra aplicacin (esto es parte de las restricciones de seguridad del marco de aplicaciones). Este mecanismo de desarrollo permite que los componentes de la aplicacin puedan ser reemplazados por el usuario. Por ejemplo si tenemos una aplicacin de bloc de notas y queremos buscar una direccin que acabamos de anotar all, podemos considerar usar directamente desde el bloc de notas, la aplicacin de mapas disponible en nuestro dispositivo y buscar la direccin, en lugar de cambiar de aplicacin.Android incluye libreras de C/C++ usadas por varios componentes del mismo. Esta capacidad es explotada al mximo por los desarrolladores atreves del marco de aplicaciones de Android.Android se basa en el kernel de Linux versin 2.6 para los servicios bsicos del sistema como seguridad, manejo de memoria, administracin de procesos, internet, y controladores.

App InventorMIT App Inventor es una nueva herramienta en los laboratorios de Google, la cual hace fcil el desarrollo de aplicaciones mviles, tanto para programadores profesionales, como para estudiantes con una leve nocin sobre programacin. En un estudio realizado por distintas universidades alrededor de los Estados Unidos, se encontr que esta herramienta abre un mundo de oportunidades a estudiantes que se sienten intimidados por la programacin, pero al ver la facilidad de desarrollo que ofrece esta herramienta se sienten motivados a crear aplicaciones con App Inventor. [9]

Esta herramienta fue desarrollada inicialmente como un proyecto del profesor Hal Albeson del Instituto Tecnolgico de Massachusetts (MIT)[10] y el equipo de Google Education mientras Hal estaba en un ao de estudio en Google, App Inventor funciona a base de un servicio web administrado por el equipo del MITs Center for Moblie Learning, en colaboracin con el MITs Computer Science and Artificial Intelligence Laboratory (CSAIL) y el MIT Media Lab. MIT App Inventor llega a una comunidad de por lo menos alrededor de dos millones de usuarios representando 195 pases alrededor del mundo. La herramienta a la fecha ha desarrollado ms de 4.7 millones de aplicaciones Android. Este tipo de herramienta de tipo open-source busca que ambas, tanto la programacin como la creacin de aplicaciones sean asequibles al mayor rango de audiencia posible. [6]

MIT App Inventor ha captado la atencin de:

Educadores formales e informales, quienes han usado la herramienta para sus pnsums, miembros de clubes de estudios, programas de ayudantas fuera de clase, y cursos vacacionales. Empleados o voluntarios gubernamentales o civiles quienes han aprovechado el poder de MIT App Inventor para el desarrollo personalizado de aplicaciones que respondan a las necesidades de cada grupo. Investigadores quienes han creado aplicaciones personalizadas para almacenar sus investigaciones, anlisis en distintos campos, desde medico hasta el campo social. Hobbyists and Entrepreneurs quienes tienen una idea y quieren desarrollarla sin preocuparse por los costos o nivel de aprendizaje que requiere la manera ms tradicional de creacin de aplicaciones. [11]En la actualidad solo se cuenta con una versin de esta herramienta pero que puede funcionar online u offline, y cada una cuenta con la posibilidad de compilar en tiempo real o generar un archivo con extensin .apk y compilarlo en un dispositivo Android.Las principales aplicaciones desarrolladas para Android, son propiedad de Google Inc, entre las principales, refireiendose a estas como las mas descargadas, o valoradas en la biblioteca disponible tenemos a Google Traductor, Google Now Launcher, Maps, disponible en casi todos los dispositivos Android y viene preinstalada, y bsqueda por voz.[12]

ANDROIDVersiones de Android [1]Android 1.0 Apple Pie (El Inicio)Incorpora ya muchos detalles de personalizacin para los usuarios, adems de presentar la tienda de aplicaciones Android Market y la primera integracin de servicios comunes de Google como cuentas de correo electrnico y gestin de contactos.Android 1.5 Cupcake (Base de las funcionalidades sociales) Android 1.1 Banana Breadfue lanzado para corregir algunos aspectos mejorables en Apple Pie.En abril del 2009 con la versin deAndroid 1.5 Cupcake se vivi una nueva revolucin, con ese software empezaron a destacarse las funcionalidades propias de las redes. ConAndroid 1.6 Donutse introdujeron nuevos cambios estticos y mejoras en la bsqueda.Android 2.2 Froyo y Android 2.3 Gingerbread (Los viejos rockeros)La segunda generacin del sistema Android 2.0 clairinclua mejoras en la cmara (con soporte para flash o zoom digital) y en el teclado.Con Android 2.2 Froyo los usuarios guardan en su memoria la actualizacin, versin que correga problemas de seguridad y con la que el Android Market comenzaba a ser compatible con ordenadores. Android 2.3 Gingerbreadcabe destacar que fuela primera en introducir la tecnologa NFC, se utilizaba para realizar pagos a travs del telfono mvil, incorporaron nuevas resoluciones de pantalla y se dise una interfaz ms sencilla.Android 3.0 Honeycomb (La versin para tabletas)Android dise en febrero de 2011 una versin pensando enel auge que iban a tener en los prximos aos las tabletas. Mejor la fluidez de la interfaz y se integr las conversaciones con Google Talk a pantalla completa.Android 4.0 Ice Cream Sandwich (Un sistema para todo)En finales de 2011 Google lanz la versin deAndroid 4.0 Ice Cream Sandwichrequera unsistema operativo que fuera funcional tanto en telfonos mviles inteligentes como en tablets, novedades en el aspecto esttico, creacin de carpetas de forma ms sencilla y la grabacin de vdeo a resolucin 1080P para dispositivos Android de serie.Android 4.1/4.2/4.3 Jelly Bean (Mejorando la velocidad)Con las diferentes versiones deAndroid Jelly Bean se vino unsistema operativo fluido y ms rpido. En julio de 2012 debut la primera de ellas corriendo en un Nexus 7. Al siguiente ao lleg la versin 4.3 tuvo mltiples mejoras entre las que se inclua una conectividad ms completa con impresoras y nuevas opciones para desarrolladores de aplicaciones.Android 4.4 KitKat, apostando por las funciones multitareaTom su nombre de la chocolatina de Nestl,se potenciaron las funcionalidades multitarea, al querer hacer de esta una versin mucho ms verstil. El CallerID ofreca informacin y servicios tiles respecto a las llamadas de voz recibidas y se mejor el rendimiento general del sistema para hacerlo compatible con aplicaciones como WhatsApp.Android 5.0 L, El futuro del sistema operativo de Google lanzado el pasado mes de junio, se dice que finalmente pueda ser conocido como Lemon Merengue Pie o Lion, busca aportar novedades en el mbito de las notificaciones, para hacer compatible este sistema con otros dispositivos, como los relojes inteligentes. La colorida interfaz Material Design ha sido desarrollada de forma que no tenga que mirar desde abajo al aspecto visual que ofrece el sistema iOS y es hasta la fecha el proyecto ms ambicioso de Google en este sentido. Adems se han anunciado mejoras en la gestin de la batera de los dispositivos y la integracin de Google Fit.Desarrollando [14]Android puedeejecutary depurar completamenteaplicacionesenunescritoriodePC estndarenunemulador,quereproducefielmentecmollevaracabolaaplicacinen laplataformadelhardwarereal.Aunquealgunostelfonosmvilesse encuentran ejecutandoAndroidhoy,las unidadessonlimitadasyfuncionalidadesesencial enformadeprototipo.Las AplicacionesAndroidtienenplenoaccesoalaplataformamvil:susaplicaciones puedenhacerllamadastelefnicas,consultarparaobtener informacinsobreenlaces dedatos,poneralertasdesonidoyefectoyhacertodoeseSMS,oun explorador.TodoelsoftwarequeestsiendolanzadocomoAndroidfueescritocon lasmismasherramientasdeGoogleeslaliberacindelSDK.Javaesellenguajedeprogramacinprincipal.Laampliagamadebibliotecas,la documentacinylarobustezdellenguajejuntoasusfuerzasdeseguridadpareceque esunaeleccinnatural.Elmodelode Javadeprogramacincentrada enlaredy programasdinmicos,extensiblesquepuedenserfcilmenteinternacionalizadosson todosloscomponentesclavesdeunasolucinmvilglobal.Los desarrolladoresdeGoogleestnusandounavariedaddeIDEs,incluyendoIntelliJ, Eclipse,viyEmacs,conalgunosensayosrealizadosenNetBeans.ElSDKdeAndroid vieneconunplugindeEclipseparaintegrarconelemuladorsuavementeyapoyanadepurarconpuntos deinterrupcin,verfuenteytodaslasherramientasde depuracin alto nivelsobrelaplataformaEclipse.Puedeejecutarydepurartotalmente susaplicacionesenunemuladordeescritorio.Caractersticas [15]Las pruebas se han realizado con la versin Android 2.2 Froyo, el 20 de mayo de 2010 el SDK 2.2 Froyo fue liberado.Los cambios que se realizaron respecto a la versin de Android anterior fueron los siguientes:

Optimizacin del sistema: memoria y rendimiento. Mejora de la velocidad de aplicaciones. Integracin de Java Script V8 Google Chrome. Mejoras en Microsoft Exchange. Wi-Fi hotspot. Actualizacin de Market automticamente. Marcar por voz. Compartir contactos por Bluetooth. Soporte para Adobe Flash 10.1. Soporte para la instalacin de aplicaciones en memoria externa.Ventajas y Desventajas [16]Ventajas de Android: Plataforma de cdigo abierto. Como se dijo anteriormente, Android est basado en el kernel de Linux. Lo bueno que esto trae como consecuencia es que se puede manipular segn su gusto. Debido a que muchas compaas relacionadas a la tecnologa mvil se encuentran dentro del grupo Open Handset Alliance y el mismo est a favor de Android,se promueven las ventas con el mismo sistema operativo dentro de un montn de celulares, como por ejemplo los de Samsung. El sistema operativo pertenece a Google, y trae muchos beneficios aparejados relacionados con cada uno de los servicios que provee la empresa multinacional, comoHangouts, Gmail, entre otros. Facilidad de crear aplicaciones en Androidha favorecido la popularidad y el crecimiento del mismo sistema operativo. Crear un juego o una aplicacin resulta muy sencillo, incluso sin saber nada de programacin, desde sitios web. La sencillaaccesibilidad a las aplicacionesque disean los desarrolladores es un factor clave. Se podra hablar de una excelenteglobalizacinde las mismas, incentivando al uso de Android. Existenmuchas versiones. Esta es una clara ventaja porque es posible actualizar nuestra vieja versin del sistema operativo de nuestro smartphone para que tenga un mejor desempeo (siempre y cuando este lo soporte).

Desventajas de Android:

Es muyvulnerable debido a que es de cdigo abierto. El hecho de que sea de cdigo abierto trae esta gran desventaja, ya que el sistema operativo es utilizado por muchos usuarios aprovechando las fallas del sistema. Necesidad de descargar aplicaciones adicionalesdesde Google Play para optimizar el sistema operativo. Por ejemplo Android no gestiona bien el uso de la multitarea. Qu quiere decir esto? Que est procesando aplicaciones que no se han cerrado por completo en segundo plano. Tambin, se puede decir que se puede descargar una aplicacin para el ahorro de energa, ya que si no se gastara mucha batera. Estos son dos de muchos ejemplos de las razones por las cuales es una buena idea tener aplicaciones extras para que se complementen junto al sistema operativo. Las configuraciones del celular mediante Android no son tan sencillas de realizar. Tiene funcionalidades que pueden resultar difcil de configurar si no se sabe mucho de tecnologa. No tiene un soporte de actualizacincomo en el caso de Apple con su sistema operativo iOS. En esta compaa, todos los iPhones, iPads, iPods, etctera, se pueden actualizar a la ltima versin de software brindado por la empresa de una forma sencilla sin importar el hardware.

REFERENCIAS[1]Oracle, Qu es J2ME o Java ME?, Oracle Official Web Site, 2014. [Online]. Available: https://www.java.com/es/download/faq/whatis_j2me.xml. [Accessed: 15-Nov-2014].[2]Oracle, Java Platform, Micro Edition (Java ME), Oracle Official Web Site, 2014. [Online]. Available: http://www.oracle.com/technetwork/java/embedded/javame/index.html. [Accessed: 15-Nov-2014].[3]Oracle, Oracle Java ME Embedded Client, Oracle Official Web Site, 2014. [Online]. Available: http://www.oracle.com/technetwork/java/embedded/javame/embedded-client/overview/oraclejavameembeddedclient-2177392.html. [Accessed: 15-Nov-2014].[4]Oracle, Java for Mobile Devices, Oracle Official Web Site, 2014. [Online]. Available: http://www.oracle.com/technetwork/java/embedded/javame/java-mobile/overview/index.html. [Accessed: 15-Nov-2014].[5]Oracle, Java ME SDK, Oracle Official Web Site, 2014. [Online]. Available: http://www.oracle.com/technetwork/java/embedded/javame/javame-sdk/overview/java-me-sdk-2159093.html. [Accessed: 15-Nov-2014].[6]A. K. Saha, A Developers First Look At, Google Schoolar, 2012. [Online]. Available: http://scholar.googleusercontent.com/scholar?q=cache:M0UTK0o9HYoJ:scholar.google.com/+android+so&hl=es&as_sdt=0,5. [Accessed: 15-Nov-2014].[7]P. Romero, Telefnica lanzar en Espaa el mvil de Google | Navegante | elmundo.es, Diario El Mundo Espaa2, 2009. [Online]. Available: http://www.elmundo.es/elmundo/2009/02/12/navegante/1234440406.html. [Accessed: 25-Nov-2014].[8]Alliance Members | Open Handset Alliance, Open Handet Alliance. [Online]. Available: http://www.openhandsetalliance.com/oha_members.html. [Accessed: 25-Nov-2014].[9]M. Friedman, Official Google Blog: App Inventor for Android, Google Official Blog, 2010. [Online]. Available: http://googleblog.blogspot.com/2010/07/app-inventor-for-android.html. [Accessed: 16-Nov-2014].[10]J. Ito, Hal Abelson, Hal Abelson Personal Web Site. [Online]. Available: http://groups.csail.mit.edu/mac/users/hal/hal.html. [Accessed: 16-Nov-2014].[11]M. I. of Technology, About Us | Explore MIT App Inventor, App Inventor Official Web Site, 2014. [Online]. Available: http://appinventor.mit.edu/explore/about-us.html. [Accessed: 16-Nov-2014].[12]G. Inc, Google Inc. - Aplicaciones Android en Google Play, Google Play. [Online]. Available: https://play.google.com/store/apps/developer?id=Google Inc.&hl=es_419. [Accessed: 25-Nov-2014].[13]D. Valero, Android cumple 6 aos: Repaso a la evolucin del sistema operativo de Google, 23 de Septiembre, 2014. .[14]B. DeLacey, Google Calling: Inside Android, the gPhone SDK - OReilly Media, OReilly ONLamp.com LAMP: The Open Source Web Platform, 2007. [Online]. Available: http://www.onlamp.com/pub/a/onlamp/2007/11/12/google-calling-inside-the-gphone-sdk.html. [Accessed: 16-Nov-2014].[15]O. Tecnol and A. Martinez, Caractersticas del Sistema Operativo, 2014.[16]Ventajas y desventajas de Android ~ GigaTecno - Blog de Tecnologa. .