DevDocs приєднується до спільноти freeCodeCamp

DevDocs - це веб-програма з відкритим кодом, яка поєднує документацію для безлічі інструментів розробника в єдиний інтерфейс для пошуку.

Я використовую DevDocs ще до того, як існував freeCodeCamp, і протягом багатьох років співав його хвалу.

Швидкість і простота DevDocs - справжній ковток свіжого повітря. Кожен API викладений в одній і тій же чіткій ієрархії.

Тож, коли минулого літа прийшов час розробити FreeCodeCamp Guide, я вже мав на увазі чіткий шаблон. Ми збиралися створити подібний DevDocs інтерфейс для вивчення концепцій програмування.

Я звернувся до творця DevDocs Тібо Курубля за порадою. Він був корисним у поясненні того, як працював DevDocs, та аргументації деяких його дизайнерських рішень.

Ми з ним підтримували зв’язок. Ми обмінялися ідеями щодо того, як зробити інструменти, які були б більш доступними для розробників у частинах світу без надійних високошвидкісних з’єднань з Інтернетом.

Потім пару місяців тому Тібо звернувся до мене щодо можливості подарувати проект DevDocs спільноті freeCodeCamp, щоб ми могли продовжувати розвивати проект за межі того, що він може робити як самотній супровідник.

І сьогодні - рівно через 5 років після того, як Тібо створив DevDocs - я з радістю повідомляю, що DevDocs зараз офіційно є частиною спільноти freeCodeCamp!

Коротка історія DevDocs

Тібо - французький розробник, який зараз працює старшим керівником відділу розвитку в Shopify в Оттаві, Канада.

Тібо створив DevDocs рівно 5 років тому сьогодні, 26 березня 2013 р. Тоді він просто хотів кращого способу швидкого доступу до документації мережі розробників Mozilla.

Спочатку DevDocs був просто звичайною папкою документації на його жорсткому диску для власного користування - такої, яку багато розробників мали під рукою для довідки. Потім, через кілька місяців розробки, Тібо запустив DevDocs 18 червня 2013 року як безкоштовну веб-програму.

Спочатку Тібо тримав DevDocs закритим. Але 24 жовтня 2013 року він відкрив його.

Відтоді проект DevDocs накопичив понад 17 000 зірок GitHub, а також 66 авторів (хоча Тібо все ще є його найпродуктивнішим автором).

Тібо написав десятки скриптів для виходу та автоматичного завантаження документації з різних проектів, кожен з яких ретельно налаштований, щоб створити послідовний досвід читання та отримати хороші результати пошуку.

Протягом наступних двох років Тібо додав багато вдосконалень, таких як нова документація, комбінації клавіш, кращий пошук, підтримка мобільних пристроїв та можливість переходу на темну тему для нічного перегляду.

Потім, у 2015 році Тібо зробив DevDocs повністю функціональним в автономному режимі. Раптом кожен міг завантажити цілі набори документації для доступу в автономному режимі. Всі ці файли зберігатимуться у браузері завдяки розумному використанню нової технології під назвою IndexedDB.

А на початку 2016 року Тібо додав підтримку версій. Замість того, щоб обмежуватися лише останньою версією документації, DevDocs тепер почав підтримувати кілька версій для кожного проекту та бібліотеки.

Ці дві основні нові функції виявляться точкою перегину в базі користувачів DevDocs. Проект виріс і став одним із найбільш широко використовуваних інструментів у спільноті розробників.

Якщо ви хочете побачити, наскільки далеко зайшов DevDocs за останні п’ять років, порівняйте ці дві теми Hacker News:

  1. Перша тема з червня 2013 р. - переважно люди несприятливо порівнюють DevDocs з іншими документаційними проектами (багато з яких зараз не існують).
  2. Другий потік з кінця 2017 року - в одній з найбільш популярних тем Hacker News, люди хвалять DevDocs - особливо за його швидкість. Повідомлення чітке: ваш проект не повинен бути першим у своєму роді - ви просто повинні дотримуватися його і постійно вдосконалювати його, і ви можете стати лідером.

Сьогодні понад 100 000 розробників використовують DevDocs як еталонний щомісяця.

Як DevDocs працює під капотом

Одне з найпоширеніших питань, які люди задають Тібо: як DevDocs став таким швидким?

Тібо пояснює швидкість роботи DevDocs багатьма факторами:

  • DevDocs - це односторінковий веб-додаток Ruby із крихітною серверною базою.
  • Коли ви відвідуєте DevDocs.io, після початкового завантаження сторінки всі наступні файли (включаючи файли документації) отримуються через блискавичну мережу доставки вмісту (CDN).
  • Він використовує GZIP, кешування HTTP, кеш додатків, об'єднаний та зменшений JavaScript та CSS
  • Оголошень немає (реклами все гальмують)
  • Він використовує localStorage як додатковий рівень кешування для деяких активів
  • Він використовує кеш пам’яті для таких речей, як миттєва навігація назад і вперед
  • Він використовує IndexedDB для кешування цілого набору документації локально на вашому комп'ютері
  • Документація позбавлена ​​всіх віддалених активів та непотрібної розмітки, що призводить до менших файлів
  • Він використовує оптимізований пошук на стороні клієнта
  • Він має неблокуючий та асинхронний користувальницький інтерфейс
  • Він має оптимізоване дерево DOM із переліченим списком бічної панелі, так що йому не потрібно відразу відображати 1000 вузлів
  • Він має простий користувальницький інтерфейс, який ухиляється від надмірностей, таких як тіні або анімація

Нарешті, DevDocs не використовує жодних jQuery чи жодних фреймворків. Всі операції DOM реалізуються вручну, роблячи їх максимально швидкими. (Тібо говорить, що не рекомендував би цей безфреймовий підхід для більшості програм, але він добре працює для DevDocs.)

Як ви можете взяти участь

Зараз ми шукаємо пристрасного та досвідченого розробника Ruby, який зацікавлений у тому, щоб стати довгостроковим співробітником DevDocs.

Ми також шукаємо людей, зацікавлених у спрощенні роботи над DevDocs, шляхом написання документації та рефакторингу коду.

Ви також можете допомогти, повідомивши про будь-які помилки чи запити на функції, які є у вас у програмі відстеження проблем, а також допомогти здійснити їх виправлення або виправити.

Ви можете приєднатися до чату співпраці DevDocs на Gitter і представити себе.

Нарешті, ви можете допомогти, використовуючи DevDocs і ділитися ним із друзями та колегами. Наступного разу, коли вам потрібно буде переглянути документацію, перейдіть на DevDocs.io.

Ви також можете шукати DevDocs, натискаючи “devdocs” в адресному рядку Chrome і натискаючи вкладку. А DuckDuckGo також має спеціальну !ddкоманду для пошуку DevDocs.

Приєднуйтесь до мене, вітаючи Тібо та DevDocs до спільноти freeCodeCamp, пишучи йому.

Веселого та приємного кодування!