DevDocs tilmelder sig freeCodeCamp-fællesskabet

DevDocs er en open source webapp, der kombinerer dokumentation til mange udviklerværktøjer i en enkelt søgbar grænseflade.

Jeg har brugt DevDocs siden før freeCodeCamp endda eksisterede og har sunget sin ros gennem årene.

DevDocs 'hastighed og enkelhed er virkelig et frisk pust. Hver API er anbragt i det samme klare hierarki.

Så da det var tid til at designe freeCodeCamp Guide sidste sommer, havde jeg allerede en klar skabelon i tankerne. Vi skulle skabe en DevDocs-lignende interface til at udforske programmeringskoncepter.

Jeg rakte ud til DevDocs-skaberen Thibaut Courouble for at få råd. Han var behjælpelig med at forklare, hvordan DevDocs fungerede, og hans ræsonnement bag nogle af hans designbeslutninger.

Han og jeg holdt kontakten. Vi udvekslede ideer til, hvordan man fremstiller værktøjer, der var mere tilgængelige for udviklere i dele af verden uden pålidelige højhastighedsinternetforbindelser.

Så for et par måneder siden henvendte Thibaut mig om muligheden for at donere DevDocs-projektet til freeCodeCamp-samfundet, så vi kunne fortsætte med at vokse projektet ud over hvad han er i stand til at gøre som en ensom vedligeholder.

Og i dag - nøjagtigt 5 år efter, at Thibaut oprettede DevDocs - er jeg begejstret for at kunne meddele, at DevDocs nu officielt er en del af freeCodeCamp-samfundet!

En kort historie med DevDocs

Thibaut er en fransk udvikler, der nu arbejder som ledende udviklingsleder hos Shopify i Ottawa, Canada.

Thibaut oprettede DevDocs for nøjagtigt 5 år siden i dag, den 26. marts 2013. På det tidspunkt ville han bare have en bedre måde at få hurtig adgang til Mozilla Developer Network-dokumentationen.

Oprindeligt var DevDocs bare en almindelig dokumentationsmappe på hans harddisk til hans personlige brug - den slags, som mange udviklere havde til rådighed som reference. Derefter, efter et par måneders udvikling, lancerede Thibaut DevDocs den 18. juni 2013 som en gratis webapp.

Først holdt Thibaut DevDocs lukket kilde. Men den 24. oktober 2013 åbnede han det.

DevDocs-projektet er siden gået i gang med at samle mere end 17.000 GitHub-stjerner sammen med 66 bidragydere (skønt Thibaut stadig er langt den mest produktive bidragyder).

Thibaut skrev snesevis af skrabeskripter for at gå ud og automatisk downloade dokumentation fra forskellige projekter, hver omhyggeligt indstillet til at skabe en ensartet læseoplevelse og generere gode søgeresultater.

I løbet af de næste to år tilføjede Thibaut mange forbedringer såsom ny dokumentation, tastaturgenveje, bedre søgning, mobil support og muligheden for at skifte til et mørkt tema til visning om natten.

I 2015 lavede Thibaut DevDocs fuldt funktionel offline. Pludselig kunne nogen downloade hele sæt dokumentation for at få adgang offline. Alle disse filer vil blive gemt i browseren takket være en smart brug af en ny teknologi kaldet IndexedDB.

Og i begyndelsen af ​​2016 tilføjede Thibaut support til versionering. I stedet for kun at være begrænset til den nyeste version af en dokumentation begyndte DevDocs nu at understøtte flere versioner til hvert projekt og bibliotek.

Disse to store nye funktioner ville vise sig at være et bøjningspunkt i DevDocs brugerbase. Projektet voksede til at blive et af de mest anvendte værktøjer i udviklerfællesskabet.

Hvis du vil se, hvor langt DevDocs er kommet de sidste fem år, skal du sammenligne disse to Hacker News-tråde:

  1. Den første tråd fra juni 2013 - for det meste sammenligner folk ugunstigt DevDocs med andre dokumentationsprojekter (hvoraf mange nu er afbrudt).
  2. En anden tråd fra slutningen af ​​2017 - i en af ​​Hacker News's mest opstemte tråde nogensinde, roser folk DevDocs - især for dens hastighed. Beskeden er klar: dit projekt behøver ikke at være det første af sin art - du skal bare holde fast ved det og foretage konsekvente forbedringer af det, og du kan komme frem som lederen.

I dag bruger mere end 100.000 udviklere DevDocs som reference hver måned.

Sådan fungerer DevDocs under emhætten

Et af de mest almindelige spørgsmål, som folk stiller Thibaut: hvordan fik DevDocs at være så hurtige?

Thibaut tilskriver DevDocs hastighed til mange faktorer:

  • DevDocs er en Ruby-webapp med en side med en lille backend.
  • Når du besøger DevDocs.io, efter den indledende sideindlæsning, hentes alle efterfølgende filer (inklusive dokumentationsfiler) gennem et lynhurtigt Content Delivery Network (CDN).
  • Det bruger GZIP, HTTP-cache, App-cache, sammenkædet og minificeret JavaScript og CSS
  • Der er ingen annoncer (annoncer sænker alt)
  • Det bruger localStorage som et ekstra niveau af caching for nogle aktiver
  • Det bruger en hukommelsescache til ting som øjeblikkelig baglæns og fremadgående navigation
  • Det bruger IndexedDB til at cache hele sæt dokumentation lokalt på din computer
  • Dokumentationen fjernes fra alle eksterne aktiver og unødvendig markering, hvilket resulterer i mindre filer
  • Det bruger optimeret søgning på klientsiden
  • Det har en ikke-blokerende og asynkron brugergrænseflade
  • Den har et optimeret DOM-træ med en pagineret sidebjælkeliste, så det ikke behøver at gengive 1.000'ere noder med det samme
  • Det har en simpel brugergrænseflade, der undgår dikkedarer som skygger eller animationer

Endelig bruger DevDocs ikke nogen jQuery eller nogen JavaScript-rammer. Alle DOM-operationer implementeres manuelt, hvilket gør dem så hurtigt som de kan komme. (Thibaut siger, at han ikke vil anbefale denne no-framework-tilgang til de fleste apps, men det fungerer godt for DevDocs.)

Hvordan du kan blive involveret

Lige nu leder vi efter en lidenskabelig og erfaren Ruby-udvikler, der er interesseret i at blive en langsigtet bidragyder til DevDocs.

Vi leder også efter folk, der er interesserede i at gøre DevDocs lettere at bidrage til ved at skrive dokumentation og refactoring-kode.

Du kan også hjælpe ved at rapportere eventuelle fejl eller funktionsanmodninger, du har i udgivelsessporeren, og hjælpe med at triage eller rette dem.

Du kan tilmelde dig DevDocs-chatrummet på Gitter og introducere dig selv.

Endelig kan du hjælpe ved at bruge DevDocs og dele det med dine venner og kolleger. Næste gang du skal slå dokumentation op, skal du gå til DevDocs.io.

Du kan også søge DevDocs med ved at skrive "devdocs" i Chromes adresselinje og trykke på fanen. Og DuckDuckGo har også en særlig !ddkommando til at søge i DevDocs.

Deltag i mig i at byde Thibaut og DevDocs velkommen til freeCodeCamp-samfundet ved at tweet på ham.

Hav det sjovt og glad kodning!