Open Source, estándares y arquitecturas Web 2.0
description
Transcript of Open Source, estándares y arquitecturas Web 2.0
Primero un poco de trasfondo
Nacimiento de la computadora personal
Enero 1975
Historia de la computadora personal
Homebrew Computer Club
✔ Grupo de ingenieros, programadores y entusiastas de tecnología
✔ Comienzan a reunirse en marzo del 1975✔ Su objetivo principal era compartir ideas alrededor de la Altair 8800
✔ Funcionaban bajo la premisa de que todo el trabajo, ideas, esquemáticos o modificaciones que hicieran, serían compartidas con el resto del grupo
Steve Wozniak y Steve Jobs
Steve Wozniak y Steve Jobs
✔ Wozniak era un ingeniero visionario
✔ Trabajaba para crear lo que el llamaba “La computadora perfecta”
✔ Utilizó la Altair como base para derivar sus propios diseños
✔ Steve Jobs identifica su potencial comercial
✔ Bautizaron su proyecto como la APPLE I
✔ Disponible en el mercado a un costo de $666.66
✔ La APPLE I venía completamente ensamblada y con capacidad de conectarle un teclado y un televisor
✔ ($500 de precio al detallista + 1/3 [$166.66] de “markup”)
Historia de la computadora personal
Bill Gates y Paul Allen
Paul Allen y Bill Gates
✔ Interesados en aspectos de Software
✔ Hacen contacto con MITS, manufactureros de la ALTAIR
✔ Son contratados por MITS para desarrollar interpretador de BASIC para ALTAIR
✔ Allen deja su trabajo en Honeywell y Gates deja la universidad para dedicarse a su nueva empresa, Micro-Soft
✔ Nota: Ed Roberts, creador de la ALTAIR falleció a los 68 años el 1ro de abril de 2010
Los padres de la computadora personal
Steve Wozniak y Steve JobsApple Computers
Paul Allen y Bill GatesMicro-Soft
Mucha innovación, pocas opciones
La comunidad toma acción
✔ Richard Mathew Stallman (rms)
Richard Stallman (rms)
✔ Frustrado con modelo de Software propietario
✔ Graduado “magna cum laude” de la Universidad de Harvard (BA Physics)
✔ Trabajaba como programador en el laboratorio de Inteligencia Artificial de MIT
✔ Decide crear un sistema operativo totalmente gratis, y fomentar que otros programadores lo expandan
✔ El proyecto lleva por nombre GNU (g-nú), lo que significa “GNU is not Unix”
Free Software Foundation
GNU
✔ Entidad creada por Richard Stallman en 1984
✔ Promueve la colaboración en el desarrollo de GNU
✔ Se creó una gran comunidad de usuarios, distribuidos a través del mundo, todos desarrollando diferentes componentes del sistema operativo
✔ Dejan para lo último el componente principal del sistema operativo, su núcleo (“KERNEL”)
Linux
Linus Torvalds
✔ Programador finlandés
✔ También tenía necesidad de un entorno de computadora para uso personal
✔ Comienza a desarrollar un “KERNEL”, y lo hace disponible a programadores, conocido como LINUX
✔ La comunidad de GNU incorpora el “KERNEL” Linuxa los programas de GNU
Movimiento Open Source
✔ Movimiento derivado del Free Sofware
✔ Reconoce que productos propietarios pueden coexistir con productos Libres
✔ Identifica ventajas prácticas y comerciales de productos Libres
✔ Atiende directamente el punto de la disponibilidad del código fuente
Mucha innovación, ¡Opciones infinitas!
LAMP
Mac OSX Windows Linux, Windows y Mac
Un *AMP Stack puede correrse desde USB
Panorama local para Puerto Rico
✔ Mac creciendo firmemente (Modernica, iShop - Catalinas, San Patricio, Mayaguez, BestBuy)
✔ Mayormente .NET y Java en ambientes empresariales
✔ MS SQL and Oracle
✔ Windows en ambiente de escritorio seguido por Mac
✔ Mayormente navegador MS Internet Explorer
Panorama Global
✔ Sobre 70% de los websites del mundo corren Apache
✔ PHP FreeBSD Linux Mac OSX NetBSD OpenBSD Open Solaris Windows
Panorama Global
✔ MySQL Oracle Enterprise Linux Solaris Red Hat Enterprise Linux SuSE Enterprise Linux Debian GNU/Linux MS Windows (XP - 7) HP-US IBM AIX Mac OSX FreeBSD Fedora CentOS RedHat Ubuntu
Panorama Global
✔ Internet Explorer (Trident)Windows
✔ Google Chrome (WebKit)WindowsMacLinux
✔ Mozilla Firefox (Gecko)WindowsMacLinuxAndroid
✔ Safari (WebKit)WindowsMaciOS
Más “browsers” de lo que pensamos
Panorama actual en España
✔ El software libre lidera la categoría de navegadores desde que en 2009
✔ Firefox alcanzó un porcentaje cercano al 50%Junto a otras opciones libres (Opera, Chrome, Epiphany...) se acercan hoy al 70% del mercado
✔ Suites de oficina:OpenOffice registra casi 100 millones de descargas y es la herramienta usada por el 15% de los españoles y el 20% de los usuarios en Alemania, Polonia o Francia.
http://www.computing.es/Informes/201103070012/PRODUCTOS-El-Futuro-del-Software-Libre-en-Espana-.aspx
El mercado mundial de sistemas de manejo de contenido (CMS)
http://cms.phpmagazine.net/2010/10/report_most_cms_sites_use_word.html
¿Qué significa todo esto?
¿Qué significa todo esto?
¿Tenemos más problemas que soluciones?
¿Tenemos que desarrollar múltiples versiones para múltiples plataformas y dispositios?
Debemos pensar estratégicamente en el momento de desarrollar Software para lograr
abarcar la mayor cantidad de plataformas
Existen herramientas que nos permiten desarrollo cross-browser
Existen herramientas que nos permiten desarrollo cross-platform
Existen herramientas que nos permiten desarrollo cross-device
Una arquitectura para unificarlos a todos
Web Services
✔ Arquitectura basada en la emisión de mensajes cortos✔ En su forma más sencilla se basa en servicos que “proveen” datos a sus “consumidores”
✔ Se desarrollan para “hablar” un “idioma” agnósitco aplataforma, lenguaje o dispositivo
✔ Usualmente utilizan XML como “idioma” para sus mensajes✔ En ambientes Web 2.0 se ha adoptado un formato llamadoJSON – JavaScript Object Notation junto al modelo REST
JSON
✔ JSON es considerado una alternativa Fat-Free al XML
✔ Diseñado para tener menos “verbosity”✔ Adoptado por Twitter, Facebook y Youtube (entre otros)
[{“id”:”1”,”nombre”:”Ricardo”},{”id”:”2”,”nombre”:”Rafael”}]
Ejemplo:
Ejemplo
✔ Si un sistema debe proveer un listado de clientes, se puede crear un Web Service que devuelva el
listadoen formato JSON
✔ Si nuestra aplicación debe correr en Web, Desktop y Móvil,
debemos encontrar 3 componentes:✔ Cómo hacer un “request” HTTP✔ Cómo interpretar JSON (visita http://json.org)✔ Cómo presentar la data en pantalla de acuerdo al lenguaje,
plataforma y dispositivo
Conclusión
✔ Sólo las herramientas abiertas te permitirán abarcar la mayor cantidad de dispositivos y plataformas
✔ Sigue los estándares de la industria✔ Si no puedes controlar el ambiente que tendrá tu usuario,nunca asumas; desarrolla de manera que sea inmaterial
✔ Piensa global. ¿Por qué conformarse con un 40%, 50% o60% del mercado, cuando podemos desarrollar para el
100%✔ Seamos consultores y no vendedores
Un videíto
Gracias por tu atención
Email: [email protected]
Twitter: tecnologialibre
Twitter: ricardoalcocer
Facebook: ricardoalcocer
Facebook: tecnologialibre
Youtube: tecnologialibr3
http://slideshare.net/ralcocer