Upload
ralcocer
View
1.074
Download
5
Embed Size (px)
DESCRIPTION
Conferencia ofrecida Marzo 8 de 2011 a estudiantes de informática de la Universidad de Puerto Rico recinto de Ponce.
Citation preview
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