Exposición 20 aniversario linux
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Exposición 20 aniversario linux

  • 477 views
Uploaded on

Exposición sobre Software Libre, Open Source, Plataformas Móviles y Desarrollo de Apps en Android, impartida en la UNAH-VS con motivo de la celebración del 20 aniversario de Linux.

Exposición sobre Software Libre, Open Source, Plataformas Móviles y Desarrollo de Apps en Android, impartida en la UNAH-VS con motivo de la celebración del 20 aniversario de Linux.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
477
On Slideshare
477
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Primera Parte1. ¿Qué es el Software Libre?2. ¿Qué es Software Open Source?3. Diferencias entre Software Libre y Open Source Expositor Bayron Guevara Digital Sense S.A. de C.V. Fundador y Presidente www.digitalsensehn.com
  • 2. ¿Qué es el Software Libre? Es aquel que garantiza las siguientes libertades o principios:0. Usar el programa con cualquier propósito1. Estudiar el funcionamiento del software y modificarlo2. Distribuir copias del software3. Mejorarlo y hacer públicas esas mejoras No debe confundirse con el software gratuito, ya que el software libre puede ser distribuido comercialmente
  • 3. ¿Qué es el Software Libre?Richard Stallman creó elconcepto y fundó en 1985 laFree Software Foundation,una organización dedicada adifundir este movimiento. Richard StallmanLa idea detrás del Software Libre es que elsoftware debería considerarse unpatrimonio de la humanidad, construidomediante un esfuerzo comunitario.Existen varias licencias compatibles conesta ideología.
  • 4. ¿Qué es Software Open Source?Es aquel que se distribuye juntocon su código fuente y otromaterial de apoyo.Surge a partir de la necesidad de lasempresas de promover mejoramientocontinuo de sus productos de software através de la colaboración y aportaciones desus usuarios.La OSI es una organización dedicada apromocionarlo y la responsable de licenciarun producto como Open Source.Debe considerarse más como un método dedesarrollo, que como una filosofía o ética.
  • 5. Diferencias entre Software Libre y Open SourceSoftware Libre Open SourceGarantiza las libertades de uso, Únicamente garantiza accesocopia, modificación y libre al código fuentedistribución del software.Se basa en una ideología y Utilizado como unafilosofía metodología de desarrollo de softwareLicencias deben ser Sus licencias puedencompatibles con la GPL restringir su distribución y forma de ejecuciónEl copyleft impide que los No es obligatorio el uso delredistribuidores de software copyleft.libre lo modifiquen con elobjetivo de hacerlo privativo.Las libertades del software libre No todo Open Sourceimplican que también se trata necesariamente es Softwarede producto Open Source. Libre.
  • 6. Diferencias entre Software Libre y Open SourceEjemplos de software consideradosexclusivamente Open Source: ● Sencha Framework. Desarrollo de aplicaciones web en dispositivos móviles. ● eZ Publish. Sistema Web de Administración de Contenido (CMS).
  • 7. Muchas gracias por su atención.
  • 8. Segunda Parte1. Principales Plataformas Móviles2. Ventajas y Libertades de Android3. Fundamentos de Desarrollo de Apps para Android Expositor Bayron Guevara Digital Sense S.A. de C.V. Fundador y Presidente www.digitalsensehn.com
  • 9. Principales Plataformas MóvilesHasta la fecha se han desarrollado multitud deplataformas para dispositivos móviles como sonlos smartphones y los tablets. Sin embargo, soncontadas las que han alcanzado una verdaderaaceptación:
  • 10. Principales Plataformas Móviles
  • 11. Principales Plataformas Móviles Desarrollado por Apple y es utilizado en el iPad,iPhone y iPod. Fue lanzado en junio de 2007 yactualmente su última versión estable es la 4.3. Su SDK llamado Xcode únicamente está disponiblepara el sistema operativo OS X.Características principales:● Núcleo basado en Darwin BSD● Plataforma de Hardware: ARM● Multitarea a partir de versión 4● Más de 200,000 apps disponibles
  • 12. Principales Plataformas Móviles BlackBerry OS
  • 13. Principales Plataformas Móviles BlackBerry OS Desarrollado por RIM (Research in Motion) para losdispositivos BlackBerry. Fue introducido en 1999, llegando a ser exitoso porla cobertura de sus servicios de e-mail y mensajeríainstantánea, así como su teclado especialmentediseñado para escribir con los pulgares. Entre los nuevos modelos figuran el BlackBerryStorm (touchscreen), el Torch y el Bold 9700 Todo el S.O. y las aplicaciones pre-instaladas sonsoftware completamente privativo.
  • 14. Principales Plataformas Móviles BlackBerry OSCaracterísticas principales:● Arquitectura de Hardware: ARM, Xscale● Programado en C++● Kernel basado en Java● Desarrollo de apps en Java● Multitarea
  • 15. Principales Plataformas Móviles
  • 16. Principales Plataformas MóvilesUsado en los smartphones de Nokia. Se haconvertido en la plataforma móvil más utilizada anivel mundial con más de 400 millones dedispositivos vendidos. El lanzamiento más recientese llama Symbian Anna y esta disponible en lossmartphones N8, E7, X7 entre otros.Aunque cierta parte del código fuente esta licenciadobajo la Eclipse Public License, compatible con laGNU GPL; la mayor parte del código se encuentrabajo una licencia propietaria llamada SFL.
  • 17. Principales Plataformas MóvilesCaracterísticas principales:● Arquitecturas de Hardware: ARM y x86● Qt como interfaz de usuario●Desarrollo nativo de apps en C++ estándar,alternativamente se puede usar Phyton, Java ME oAdobe Flash● Usa un micro-kernel llamado EKA2● Multitarea y protección de memoria
  • 18. Principales Plataformas MóvilesAndroid
  • 19. Principales Plataformas Móviles Android Esta compuesto por el Sistema Operativo, lasherramientas de desarrollo y los dispositivos que loejecutan. Es la plataforma con mayor crecimientohaciendo que los analistas esperen que se conviertaen la #1 del mercado en los próximos años. Fue desarrollado inicialmente por Android Inc. queposteriormente fue comprada por Google en 2005.Actualmente su desarrollo esta a cargo de la OpenHandset Alliance (OHA), un grupo de empresas desoftware, fabricantes de dispositivos móviles yoperadores, y que es liderado por Google.
  • 20. Principales Plataformas Móviles Android La primera versión fue lanzada en octubre de 2008 enel T-Mobile G1. Recientemente el S.O. ha sidofragmentado en versiones para smartphones yversiones para tablets (conocidas bajo el nombre deHoneycomb). No obstante Google ha prometidointegrar estas versiones con el lanzamiento de Android4 (Ice Cream Sandwish) al final de este año. Aunque su código fuente completo ha sidoliberado en las versiones para smartphones bajo laLicencia Apache -aprobada por la FSF-, el códigofuente de las versiones para tablets únicamenteestá disponible para los miembros del OHA. Sinembargo, Google anunció liberarlo como parte dellanzamiento de Android 4.
  • 21. Principales Plataformas Móviles AndroidPrincipales características● Núcleo Linux 2.6● Arquitectura de Hardware: ARM, MIPS y x86● Desarrollado de apps en C++ y Java●Soporte de CPUs multi-core y aceleramientográfico por hardware● Android Market con más de 250,000 apps
  • 22. Ventajas y Libertades de Android● Completamente Software Libre, no utiliza componentes privativos● Aprovecha las últimas tecnologías de los dispositivos móviles.● Es la plataforma con más crecimiento de mercado● Flexibilidad para reemplazar cualquier aplicación nativa por aplicaciones de terceros.● Implementado en multitud de dispositivos de diferentes fabricantes● Las aplicaciones no necesitan estar firmadas digitalmente para acceder a todas las capacidades● Comunidad más grande de desarrolladores● El costo de subir apps gratuitas en Android Market es casi cero, solamente se paga una cuota de inscripción de $25.
  • 23. Desarrollo de Apps para Android Arquitectura de componentes del Sistema Operativo
  • 24. Desarrollo de Apps para Android Podemos escribir nuestras aplicaciones Androiden Java o C++. Para ejecutar apps en Java,Android posee su propia implementación de laJVM llamada Dalvik, la cual utiliza sus propiaslibrerias y APIs y esta diseñada para corrermúltiples instancias eficientemente.Herramientas de DesarrolloPara comenzar a desarrollar en Android,necesitamos las siguientes herramientas:● Android SDK● IDE (Entorno Integrado de Desarrollo)● Plugin ADT para el IDE
  • 25. Desarrollo de Apps para Android Características destacadas de las Apps● Acceso al hardware, incluyendo cámara, GPS y acelerómetro.● Servicios de Fondo. Permiten ejecutar procesos en segundo plano, mientras estas usando una aplicación interactiva.● SQLite. Puedes usar esta librería para almacenar y acceder datos de tu app mediante consultas SQL.● Datos compartidos y comunicación entre aplicaciones. Una aplicación puede requerir acceso a la base de datos privada de otra app y enviarse mensajes entre si durante su ejecución
  • 26. Desarrollo de Apps para Android Componentes de Aplicaciones Son los bloques esenciales de construcción de una aplicación Android. Los tipos de componentes son:● Actividades. Corresponden a una única pantalla de la interfaz de usuario de nuestra app.● Servicios. Se ejecutan en segundo plano. No poseen UI, en su lugar muestran notificaciones y abren Actividades● Proveedores de Contenido. Sirven como almacenamiento compartido entre aplicaciones, por ejemplo, el directorio de contactos.
  • 27. Desarrollo de Apps para Android Componentes de Aplicaciones● Intentos (en inglés Intents). Permiten el paso de mensajes dentro y entre aplicaciones. Pueden estar dirigidas a una Actividad o Servicio especifico, o a todo el sistema en el caso de una solicitud de un servicio.● Destinarios de broadcast (en inglés broadcast receivers). Responden a las solicitudes de servicio de los intentos. Son útiles cuando necesitas que tu aplicación ejecute determinadas acciones en respuesta a ciertos eventos.
  • 28. Desarrollo de Apps para AndroidRecursosCasi siempre es una buena práctica mantenerrecursos que no son código de programaciónfuera del mismo, por ejemplo, imágenes, colores,traducciones, UI.Android trae por defecto un Administrador deRecursos que dinámica y automáticamente cargalos recursos cuando los referenciamos desdenuestro código.Cuando desarrollamos para Android utilizaremosfrecuentemente los recursos ya que nos permitenimplementar más facilmente apps que se adaptanautomáticamente a las especificaciones de losdispositivos.
  • 29. Desarrollo de Apps para AndroidImplementando una Interfaz de UsuarioEl método más sencillo de implementar un UI estravés del editor visual que trae incorporado elplugin ADT de Eclipse, el cual automáticamentegenera el correspondiente recurso XML.
  • 30. Desarrollo de Apps para Android Ciclo de Vida de las Actividades
  • 31. Muchas gracias por su atención.