DevDocs se une a la comunidad freeCodeCamp

DevDocs es una aplicación web de código abierto que combina documentación para muchas herramientas de desarrollo en una única interfaz de búsqueda.

He estado usando DevDocs desde antes de que existiera freeCodeCamp, y he cantado sus alabanzas a lo largo de los años.

La velocidad y simplicidad de DevDocs es una verdadera bocanada de aire fresco. Cada API se presenta en la misma jerarquía clara.

Entonces, cuando llegó el momento de diseñar la guía freeCodeCamp el verano pasado, ya tenía una plantilla clara en mente. Íbamos a crear una interfaz similar a DevDocs para explorar conceptos de programación.

Me comuniqué con el creador de DevDocs, Thibaut Courouble, para pedirle consejo. Fue útil al explicar cómo funcionaba DevDocs y su razonamiento detrás de algunas de sus decisiones de diseño.

Él y yo nos mantuvimos en contacto. Intercambiamos ideas sobre cómo hacer que las herramientas fueran más accesibles para los desarrolladores en partes del mundo sin conexiones confiables a Internet de alta velocidad.

Luego, hace un par de meses, Thibaut se acercó a mí sobre la posibilidad de donar el proyecto DevDocs a la comunidad freeCodeCamp, para que pudiéramos seguir haciendo crecer el proyecto más allá de lo que él puede hacer como único mantenedor.

Y hoy, exactamente 5 años después de que Thibaut creara DevDocs, me complace anunciar que DevDocs ahora forma parte oficialmente de la comunidad freeCodeCamp.

Una breve historia de DevDocs

Thibaut es un desarrollador francés que ahora trabaja como líder de desarrollo senior en Shopify en Ottawa, Canadá.

Thibaut creó DevDocs hace exactamente 5 años hoy, el 26 de marzo de 2013. En ese momento, solo quería una mejor manera de acceder rápidamente a la documentación de Mozilla Developer Network.

Originalmente, DevDocs era solo una carpeta de documentación ordinaria en su disco duro, para su uso personal, del tipo que muchos desarrolladores tenían a mano como referencia. Luego, después de unos meses de desarrollo, Thibaut lanzó DevDocs el 18 de junio de 2013 como una aplicación web gratuita.

Al principio, Thibaut mantuvo DevDocs de código cerrado. Pero el 24 de octubre de 2013, lo abrió.

Desde entonces, el proyecto DevDocs ha acumulado más de 17.000 estrellas de GitHub, junto con 66 colaboradores (aunque Thibaut sigue siendo, con mucho, su colaborador más prolífico).

Thibaut escribió docenas de scripts de scraping para descargar automáticamente la documentación de diferentes proyectos, cada uno cuidadosamente ajustado para crear una experiencia de lectura consistente y generar buenos resultados de búsqueda.

Durante los siguientes dos años, Thibaut agregó muchas mejoras, como nueva documentación, atajos de teclado, mejor búsqueda, soporte móvil y la capacidad de cambiar a un tema oscuro para la visualización nocturna.

Luego, en 2015, Thibaut hizo que DevDocs fuera completamente funcional sin conexión. De repente, cualquiera podía descargar juegos completos de documentación para acceder sin conexión. Todos estos archivos se almacenarían en el navegador, gracias al uso inteligente de una nueva tecnología llamada IndexedDB.

Y a principios de 2016, Thibaut agregó soporte para el control de versiones. En lugar de limitarse solo a la versión más reciente de una documentación, DevDocs ahora comenzó a admitir varias versiones para cada proyecto y biblioteca.

Esas dos nuevas funciones importantes resultarían ser un punto de inflexión en la base de usuarios de DevDocs. El proyecto creció hasta convertirse en una de las herramientas más utilizadas en la comunidad de desarrolladores.

Si desea ver qué tan lejos ha llegado DevDocs en los últimos cinco años, compare estos dos hilos de Hacker News:

  1. El primer hilo de junio de 2013: en su mayoría personas que comparan desfavorablemente DevDocs con otros proyectos de documentación (muchos de los cuales ya no existen).
  2. Un segundo hilo de finales de 2017, en uno de los hilos más votados de todos los tiempos de Hacker News, la gente elogia a DevDocs, especialmente por su velocidad. El mensaje es claro: su proyecto no tiene por qué ser el primero de su tipo, solo tiene que ceñirse a él y realizar mejoras consistentes, y puede emerger como el líder.

Hoy en día, más de 100.000 desarrolladores utilizan DevDocs como referencia cada mes.

Cómo funciona DevDocs bajo el capó

Una de las preguntas más comunes que la gente le hace a Thibaut: ¿cómo llegó DevDocs a ser tan rápido?

Thibaut atribuye la velocidad de DevDocs a muchos factores:

  • DevDocs es una aplicación web Ruby de una sola página con un pequeño backend.
  • Cuando visita DevDocs.io, después de la carga de la página inicial, todos los archivos posteriores (incluidos los archivos de documentación) se obtienen a través de una red de entrega de contenido (CDN) ultrarrápida.
  • Utiliza GZIP, almacenamiento en caché HTTP, caché de aplicaciones, JavaScript y CSS concatenados y minificados.
  • No hay anuncios (los anuncios ralentizan todo)
  • Utiliza localStorage como un nivel adicional de almacenamiento en caché para algunos activos.
  • Utiliza un caché en la memoria para cosas como navegación instantánea hacia atrás y hacia adelante
  • Utiliza IndexedDB para almacenar en caché conjuntos completos de documentación localmente en su computadora
  • La documentación está despojada de todos los activos remotos y el marcado innecesario, lo que da como resultado archivos más pequeños
  • Utiliza una búsqueda optimizada del lado del cliente
  • Tiene una interfaz de usuario asíncrona y sin bloqueo
  • Cuenta con un árbol DOM optimizado con una lista de barra lateral paginada, por lo que no tiene que representar miles de nodos de inmediato
  • Tiene una interfaz de usuario simple que evita adornos como sombras o animaciones.

Finalmente, DevDocs no usa jQuery ni marcos de JavaScript. Todas las operaciones DOM se implementan manualmente, haciéndolas lo más rápidas posible. (Thibaut dice que no recomendaría este enfoque sin marco para la mayoría de las aplicaciones, pero funciona bien para DevDocs).

Cómo puedes involucrarte

En este momento estamos buscando un desarrollador Ruby apasionado y experimentado que esté interesado en convertirse en un colaborador a largo plazo de DevDocs.

También estamos buscando personas interesadas en hacer que DevDocs sea más fácil de contribuir mediante la escritura de documentación y la refactorización del código.

También puede ayudar informando cualquier error o solicitud de función que tenga en el rastreador de problemas y ayudando a clasificarlos o corregirlos.

Puede unirse a la sala de chat para colaboradores de DevDocs en Gitter y presentarse.

Por último, puede ayudar utilizando DevDocs y compartirlo con sus amigos y colegas. La próxima vez que necesite buscar documentación, vaya a DevDocs.io.

También puede buscar DevDocs escribiendo "devdocs" en la barra de direcciones de Chrome y presionando la pestaña. Y DuckDuckGo también tiene un !ddcomando especial para buscar DevDocs.

Únase a mí para dar la bienvenida a Thibaut y DevDocs a la comunidad freeCodeCamp twitteándole.

¡Diviértete y feliz programando!