DevDocs sluit zich aan bij de freeCodeCamp-gemeenschap

DevDocs is een open source web-app die documentatie voor veel ontwikkelaarstools combineert in één doorzoekbare interface.

Ik gebruik DevDocs al voordat freeCodeCamp zelfs maar bestond, en heb in de loop der jaren zijn lof gezongen.

De snelheid en eenvoud van DevDocs is echt een verademing. Elke API is ingedeeld in dezelfde duidelijke hiërarchie.

Dus toen het afgelopen zomer tijd werd om de freeCodeCamp Guide te ontwerpen, had ik al een duidelijk sjabloon in gedachten. We gingen een DevDocs-achtige interface maken om programmeerconcepten te verkennen.

Ik nam contact op met DevDocs-maker Thibaut Courouble voor advies. Hij was behulpzaam bij het uitleggen hoe DevDocs werkte en zijn redenering achter enkele van zijn ontwerpbeslissingen.

Hij en ik hielden contact. We wisselden ideeën uit om tools te maken die toegankelijker waren voor ontwikkelaars in delen van de wereld zonder betrouwbare supersnelle internetverbindingen.

Toen, een paar maanden geleden, benaderde Thibaut mij over de mogelijkheid om het DevDocs-project te doneren aan de freeCodeCamp-gemeenschap, zodat we het project verder konden laten groeien dan wat hij als eenzame onderhouder kan doen.

En vandaag - precies 5 jaar nadat Thibaut DevDocs heeft gemaakt - ben ik verheugd om aan te kondigen dat DevDocs nu officieel deel uitmaakt van de freeCodeCamp-community!

Een korte geschiedenis van DevDocs

Thibaut is een Franse ontwikkelaar die nu werkt als senior development lead bij Shopify in Ottawa, Canada.

Thibaut creëerde vandaag, op 26 maart 2013, precies 5 jaar geleden DevDocs. Destijds wilde hij gewoon een betere manier om snel toegang te krijgen tot de Mozilla Developer Network-documentatie.

Oorspronkelijk was DevDocs gewoon een gewone documentatiemap op zijn harde schijf, voor zijn eigen persoonlijk gebruik - het soort dat veel ontwikkelaars ter referentie bij de hand hadden. Vervolgens, na een paar maanden van ontwikkeling, lanceerde Thibaut op 18 juni 2013 DevDocs als een gratis webapp.

In eerste instantie hield Thibaut DevDocs closed source. Maar op 24 oktober 2013 kocht hij het open source.

Het DevDocs-project heeft sindsdien meer dan 17.000 GitHub-sterren verzameld, samen met 66 bijdragers (hoewel Thibaut nog steeds verreweg de meest productieve bijdrage levert).

Thibaut schreef tientallen scraping-scripts om automatisch documentatie van verschillende projecten te downloaden, elk zorgvuldig afgestemd om een ​​consistente leeservaring te creëren en goede zoekresultaten te genereren.

In de loop van de volgende twee jaar heeft Thibaut veel verbeteringen aangebracht, zoals nieuwe documentatie, sneltoetsen, betere zoekmogelijkheden, mobiele ondersteuning en de mogelijkheid om over te schakelen naar een donker thema voor nachtelijke weergave.

Vervolgens maakte Thibaut in 2015 DevDocs offline volledig functioneel. Plots kon iedereen complete sets documentatie downloaden voor offline toegang. Al deze bestanden zouden in de browser worden opgeslagen, dankzij een slim gebruik van een nieuwe technologie genaamd IndexedDB.

En begin 2016 voegde Thibaut ondersteuning toe voor versiebeheer. In plaats van zich te beperken tot alleen de meest recente versie van een documentatie, begon DevDocs nu meerdere versies voor elk project en elke bibliotheek te ondersteunen.

Deze twee belangrijke nieuwe functies zouden een keerpunt blijken te zijn in het gebruikersbestand van DevDocs. Het project groeide uit tot een van de meest gebruikte tools in de ontwikkelaarsgemeenschap.

Als je wilt zien hoe ver DevDocs de afgelopen vijf jaar is gekomen, vergelijk dan deze twee Hacker News-threads:

  1. De eerste thread van juni 2013 - meestal mensen die DevDocs ongunstig vergelijken met andere documentatieprojecten (waarvan er vele nu niet meer bestaan).
  2. Een tweede thread van eind 2017 - in een van Hacker News's meest gestemde threads aller tijden, prijzen mensen DevDocs - vooral vanwege de snelheid. De boodschap is duidelijk: uw project hoeft niet het eerste in zijn soort te zijn - u hoeft zich er alleen maar aan te houden en het consequent te verbeteren, en u kunt de leider worden.

Tegenwoordig gebruiken meer dan 100.000 ontwikkelaars DevDocs elke maand als referentie.

Hoe DevDocs werkt onder de motorkap

Een van de meest gestelde vragen die mensen aan Thibaut stellen: hoe zijn DevDocs zo snel geworden?

Thibaut schrijft de snelheid van DevDocs toe aan vele factoren:

  • DevDocs is een Ruby-webapp van één pagina met een kleine backend.
  • Wanneer u DevDocs.io bezoekt, worden na het laden van de eerste pagina alle volgende bestanden (inclusief documentatiebestanden) opgehaald via een razendsnel Content Delivery Network (CDN).
  • Het maakt gebruik van GZIP, HTTP-caching, App Cache, aaneengeschakeld en verkleind JavaScript en CSS
  • Er zijn geen advertenties (advertenties vertragen alles)
  • Het gebruikt localStorage als een extra niveau van caching voor sommige activa
  • Het gebruikt een in-geheugencache voor zaken als directe achterwaartse en voorwaartse navigatie
  • Het gebruikt IndexedDB om volledige sets documentatie lokaal op uw computer in de cache op te slaan
  • De documentatie is ontdaan van alle externe activa en onnodige markeringen, wat resulteert in kleinere bestanden
  • Het maakt gebruik van geoptimaliseerde zoekopdrachten aan de clientzijde
  • Het heeft een niet-blokkerende en asynchrone gebruikersinterface
  • Het beschikt over een geoptimaliseerde DOM-boom met een gepagineerde zijbalklijst, zodat het niet meteen duizenden knooppunten hoeft te renderen
  • Het heeft een eenvoudige gebruikersinterface die franjes zoals schaduwen of animaties vermijdt

Ten slotte gebruikt DevDocs geen jQuery of JavaScript-frameworks. Alle DOM-bewerkingen worden handmatig geïmplementeerd, waardoor ze zo snel mogelijk worden uitgevoerd. (Thibaut zegt dat hij deze benadering zonder kader niet zou aanbevelen voor de meeste apps, maar het werkt goed voor DevDocs.)

Hoe u kunt meedoen

Op dit moment zijn we op zoek naar een gepassioneerde en ervaren Ruby-ontwikkelaar die geïnteresseerd is om op lange termijn bij te dragen aan DevDocs.

We zijn ook op zoek naar mensen die geïnteresseerd zijn om DevDocs gemakkelijker te maken om aan bij te dragen, door documentatie te schrijven en code te herstructureren.

U kunt ook helpen door eventuele bugs of functieverzoeken die u heeft in de issue tracker te melden en te helpen bij het triage of oplossen van deze.

U kunt deelnemen aan de DevDocs-chatroom voor bijdragers op Gitter en uzelf voorstellen.

Ten slotte kunt u helpen door DevDocs te gebruiken en deze te delen met uw vrienden en collega's. De volgende keer dat u documentatie moet opzoeken, gaat u naar DevDocs.io.

U kunt ook naar DevDocs zoeken door "devdocs" in de adresbalk van Chrome te typen en op Tab te klikken. En DuckDuckGo heeft een speciale !ddopdracht om ook in DevDocs te zoeken.

Verwelkom met mij Thibaut en DevDocs in de freeCodeCamp-gemeenschap door naar hem te tweeten.

Veel plezier en veel plezier met coderen!