Salta al contenido principal

Si estás viendo este mensaje, significa que estamos teniendo problemas para cargar materiales externos en nuestro sitio.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Transcripción para John Resig: Building jQuery

  • 0:14-Verás, comencé a trabajar en JQuery en 2005.  Antes de eso JQuery sólo era una colección  
  • 0:22de herramientas que había escrito. Surgió  principalmente porque estaba creando varios  
  • 0:28recursos y sitios web en esa época y esperaba  encontrar ciertas utilerías que hicieran más  
  • 0:35sencillo mi desarrollo. Parte de esto era que  se trabajaba con las incompatibilidades de  
  • 0:41los navegadores que existían en ese momento, ya  sabes, estaban Internet Explorer y Firefox. Era  
  • 0:49muy complicado intentar desarrollar frente a todos  estos diferentes navegadores de manera simultánea,  
  • 0:54ese era un tema, pero otro tema era que yo  sentía que las herramientas preexistentes para  
  • 1:00desarrolladores, especialmente las herramientas  para desarrollo de JavaScript podrían ser mejores.  
  • 1:08La biblioteca más popular entonces era  Prototype, una biblioteca para JavaScript,  
  • 1:14y a esta se unió el 'framework' de Ruby-On-Rails.  Así que era popular y estaba despegando con Rails,  
  • 1:21y realmente encontré que esa biblioteca  era extremadamente informativa. Esa fue  
  • 1:27la primera vez que vi una biblioteca para  JavaScript escrita de una forma amable,  
  • 1:32limpia y bien orientada a objetos donde tienes  todos estos paradigmas funcionales incorporados.  
  • 1:39No me había percatado de que JavaScript podía  ser tan bonito y elegante, y una vez que vi esto  
  • 1:45realmente me inspiró a querer construir algo aún  mejor, y me di cuenta de que Prototype se enfocaba  
  • 1:52principalmente en el lenguaje JavaScript cuando  no había muchas herramientas que se enfocarán  
  • 1:57en el lenguaje JavaScript dentro del navegador.  Específicamente que manipularan html en el dom,  
  • 2:04así que había una laguna y existía esta brecha de  usabilidad y fue entonces que comencé a construir  
  • 2:11diferentes herramientas y bibliotecas, y al final  todas estas se unieron en una sola biblioteca que  
  • 2:18terminé llamando Gateway. Originalmente se iba a  llamar JSelect, pero ese dominio estaba tomado y  
  • 2:26terminé llamándola JQuery. Y finalmente la  lancé en enero del 2006. Debo decir que en  
  • 2:34ese momento yo estaba en la universidad, hice  todo esto mientras estaba en la universidad y  
  • 2:40todas estas cosas en las que estaba trabajando  eran solo algunos proyectos alternos que tenía.  
  • 2:45Y JQuery se desprendió de todos ellos.  Ahora no existe ninguno de esos proyectos  
  • 2:50alternos, JQuery es el único que aún vive. El patrón de selectores surgió, por lo menos de  
  • 2:56lo que yo vi, de una biblioteca escrita por Simon  Wilson un desarrollador del Reino Unido. Él creó  
  • 3:03este método en el que podías obtener elementos  por selector, si la memoria no me falla,  
  • 3:08y te permitía simplemente ejecutar un selector  CSS y encontrar algunos elementos, pero era muy  
  • 3:16muy primitivo. Sólo podías hacer las consultas más  básicas y no soportaba las versiones 2 y 3 de CSS.  
  • 3:25Entonces, una de las cosas que yo quería era una  mejor versión de esa biblioteca, una versión más  
  • 3:32completa, además quería hacer el proceso de  adjuntar eventos en la página, porque cuando  
  • 3:37estás construyendo una aplicación interactiva en  JavaScript necesitas esperar a que el usuario haga  
  • 3:43ciertas cosas, y yo quería optimizar totalmente  el proceso de encontrar un elemento y adjuntarle  
  • 3:48un evento, y esto era de lo que inicialmente  se trataba JQuery. Fue hasta después cuando  
  • 3:54comencé a agregarle otras cosas como poder tener  por ejemplo animaciones y después de lanzarlo  
  • 4:00fue que le agregué Ajax y otras cosas, y lo hice  porque otras personas así lo querían. Yo no estaba  
  • 4:07utilizando eso personalmente, realmente me inspiré  en otros desarrolladores y en sus bibliotecas que  
  • 4:13no eran totalmente perfectas, y yo quería que  fuera un poco mejor para que todo encajara. 
  • 4:18-¿Y cómo fue la evolución desde  que creaste algo, y lo lanzaste,  
  • 4:23hasta que tomó vida propia? Porque no le llevo  demasiado tiempo para que tomara vida propia. 
  • 4:30-Yo siento que tomó bastante tiempo para que  tomara vida propia, principalmente porque,  
  • 4:36como sabes, lo lance en enero de 2006 y una  de las primeras decisiones de diseño que tomé,  
  • 4:43creo que un par de decisiones que tomé desde el  principio, ayudaron mucho. Una fue que proporcioné  
  • 4:50una arquitectura de 'plugins' explícita  para que la gente pudiera escribir plugins  
  • 4:55y agregarlos a la biblioteca de JQuery y pudiera  beneficiarse completamente de este framework. La  
  • 5:02otra decisión que tomé fue que desde el primer  día que salió yo tenía documentación escrita,  
  • 5:08es decir me senté a repasar y documentar  cada método y su funcionamiento, y ofrecí  
  • 5:15algunos ejemplos, y esto es interesante porque  de enero del 2006, cuando lancé la biblioteca,  
  • 5:24a enero del 2007 JQuery era la única biblioteca  para JavaScript que tenía documentación.  
  • 5:32Todas las demás eran del tipo 'lea el código  fuente' o 'siga a un control de revisión' o  
  • 5:39cosas así y eso siempre me sorprendió. Bueno,  creo que es simplemente un efecto secundario  
  • 5:45de los desarrolladores: quieres escribir el  código y no quieres hacer la parte aburrida  
  • 5:51y escribir documentos. Así que, por lo menos en  lo que respecta al crecimiento de la biblioteca,  
  • 5:57tomé muchas decisiones en el transcurso de esta  historia que no se relacionan con el código, y una  
  • 6:04de las cosas que siempre enfatizo es que, cuando  estás tratando de gestionar un buen proyecto,  
  • 6:09especialmente un buen proyecto de código abierto,  el código es sólo una pequeña porción de toda  
  • 6:14la ecuación. Tienes que invertir mucho tiempo y  mucho esfuerzo en hacer algo que la gente quiera  
  • 6:19aprender. Que sea fácil aprender y que, una vez  que lo aprendan, no se sientan frustrados y lo  
  • 6:26abandonen. Tienes todo este camino en el que debes  asegurarte de que, en cada paso, la gente esté  
  • 6:33contenta satisfecha y está aprendiendo, y esto  normalmente involucra hacer cosas como garantizar  
  • 6:39que tu sitio web sea claro, que lo que sea que  estás ofreciendo sea fácil de descargar, que la  
  • 6:47documentación sea clara, que tienes una buena guía  de inicio, pero, además, que tengas una comunidad  
  • 6:54en torno a esto. La primera persona que invite  al equipo de JQuery, porque hasta este punto  
  • 7:01sólo estaba yo, entonces la siguiente persona  que entró, fue, de hecho, alguien que me ayudó a  
  • 7:06manejar la comunidad, y no otro desarrollador per  se. Aunque era un desarrollador. Y la razón por la  
  • 7:14que lo hice así fue porque quería asegurarme de  que si alguien tenía un problema, donde fuera,  
  • 7:19sus necesidades fueran tomadas en cuenta y  que nosotros podremos ayudarlo y arreglar  
  • 7:25cualquier problema que tuviera. Así que éramos  extremadamente proactivos en arreglar temas del  
  • 7:32navegador, en encontrar en general problemas en  la biblioteca. Y desde el verano de 2006 hasta  
  • 7:42finales de ese mismo año yo estaba en eCombinator,  la aceleradora de empresas emergentes dirigida por  
  • 7:50Paul Graham y compañía. Ellos estaban en  Boston, así que me mudé a Boston con unos  
  • 7:56amigos. Intentamos crear una empresa emergente  que terminó fracasando, bueno, no logramos obtener  
  • 8:02suficientes fondos y no pudo despegar. Cuando  terminamos con la empresa me uní a Mozilla y ahí  
  • 8:09trabajé principalmente, durante muchos años, como  evangelista de JavaScript. Mi trabajo era promover  
  • 8:16JavaScript y hacer que la gente entendiera lo que  vendría en las especificaciones, herramientas y  
  • 8:22este tipo de cosas. Pero, de nuevo, yo no estaba  trabajando realmente en JQuery como parte de mi  
  • 8:28trabajo, era más bien como que hacía aquello y en  mi tiempo libre hacia listas de correo y arreglaba  
  • 8:34fallos y todo ese tipo de cosas que hay que hacer.  Fue hasta mi último año en Mozilla, alrededor de  
  • 8:402010 o 2011, cuando por fin me dijeron "de  acuerdo, puedes trabajar en JQuery tiempo  
  • 8:47completo" y entonces comencé a trabajar en él y  fue genial porque lo que hice durante ese tiempo  
  • 8:52fue dedicarle mucho esfuerzo en asegurarme que  hubiera la infraestructura para que, aunque yo no  
  • 8:59trabajara a diario en ella, siguiera existiendo.  Y parte de esto fue establecer una organización  
  • 9:04sin fines de lucro y garantizar que hubiera  suficiente gente trabajando en cada espacio  
  • 9:10de ella. De tal modo que, cuando me uní finalmente  a Khan Academy, me bajé del proyecto de JQuery y  
  • 9:17todo ha seguido funcionando bien desde entonces.  Y ahora yo soy un feliz usuario de JQuery.