Обновление: Часть вторая была опубликована!
Меня зовут Фред, И я создал Снежный покров. Если вы не знакомы, SnowPack – это инструмент веб-сборки, который принципиально разблокировал «Разработанная веб-разработка» Движение, который SnowPack, Vite, SVELTEKIT и другие современные инструменты разработчики используются сегодня.
В этом посте я хочу поделиться 5 вещами, которые я узнал растущий снежный покров от первоначального коммитария до почти 20 000 звезд GitHub и более 1 000 000+ загрузок.
Этот пост предназначен для тех, кто заинтересован в программном обеспечении с открытым исходным кодом. Выделенные уроки направлены на тех, кто заинтересован в начале своего собственного проекта с открытым исходным кодом или способствует существующему проекту.
Это будет 2-часть серии: В этом первом посте я фокусируюсь на уроках, извлеченных созданием снежного пола с нуля и нахождение нашего первого набора пользователей. В первую очередь я сосредоточусь, что он хотел поддерживать популярный проект с открытым исходным кодом, в масштабе.
Фон
Пару лет назад я начал экспериментальный проект JavaScript. Кодовое имя: Пика. У него был симпатичный, синий мышливый талисман и веселая атмосфера, в которой можно жить кучу меньших экспериментальных проектов. Его объединяющая миссия может быть лучше всего подвески, как, «ESM – это прохладно новая технология, давайте сделаем больше вещей с ним».
Этот первый год Пика, возможно, был самым продуктивным годом моей жизни. Я создал @ pika/pack (инструмент издательства для авторов пакета NPM), pika ci (действие github, которое позволяет вам npm установить или даже Импорт () Любой github pr), неудачный редактор кода в браузере и CDN Next-Gen JavaScript, который продолжал стать Скайп
Самая большая остановка букета была @ Pika/Web, которые позволяют установить любой пакет NPM, чтобы запустить непосредственно в браузере без Bundler (Ex: React ->/reaCt.js ). Вы, вероятно, знаете этот проект лучше под своим новым именем: SnowPack.
Ниже приведены пять уроков, которые я узнал, растущий снежный покрова от своего первого коммитария к официальному выпуску V1.0 и как мы нашли наш первый набор пользователей.
Урок 1: Начните с личного разочарования
Снежный покров начался в качестве инструмента для преобразования любого пакета NPM в один файл JavaScript, который вы можете запустить в браузере. Звучит скучно, верно? Неправильный!
Этот небольшой простой инструмент разблокирует Совершенно новый режим разработки веб-сайта теперь теперь называют «Разработанная веб-разработка» Отказ Разработанные разработки введены функции, такие как мгновенные перезагрузки и время запуска ближнего мгновения во время разработки, используя бы процесс, который не замедляется, так как ваш проект растет до 1000 или даже 10 000 файлов. Сравните это с более традиционными вкладываемыми средами Dev, где несколько времен Startup и Reload и Reload по-прежнему является нормой.
Оригинальная идея для снежного покида вышла из простого личного разочарования, которые я имел на работе. Я работал над командой полимеров в Google, где я помог создать некоторые альтернативные инструменты сборки для (теперь Dead) HTML импорт спецификация Сам инструмент был прекрасным, но он не работал хорошо с NPM, а очень немногие люди когда-либо использовали его.
В конце концов я покинул команду полимера, но эта проблема все еще застряла в моей голове: почему бабки, как WebPack становятся единственным способом использования пакетов NPM в браузере? Что-то должен решить проблему получения пакетов NPM, чтобы запустить в браузере, но это должно было включить в комплект вашего сайта? Снежник был моей попыткой выяснить, можно ли возможен другой путь.
Урок для сопровождающих открытых источников: Сделайте для себя, сначала. Если вы расстроены чем-то, шансы тоже другие разработчики. Вопрос все.
Урок 2: Переместить быстро, оставайся маленьким
Когда вы работаете над новым проектом, вы редко знаете, какой код будет важен долгосрочный и какой код собирается удалить. Я выбросил достаточно кода в своей карьере, чтобы узнать, что иногда есть значение быстро, грязное кодирование. Когда вы начинаете новый проект, все в порядке быть немного грязным.
Внутренне, почти все сложности снежного покида обрабатывались свернутой. Снегопад был действительно просто обертком вокруг свертывания, который будет объединять только ваши пакеты NPM вместо всего вашего веб-сайта. Понимая, что снежный покров может использовать рулонов, внутренне спасал меня недели (или, может быть, даже месяцы) времени развития.
Если честно, снежный покрова был просто Один index.js Файл для большинства его жизни.
Чтобы сохранить проект на треке, я сосредоточился на одной особенности: «Дайте мне имя пакета, и я буду преобразовывать его в ESM». Это было бы слишком низким уровнем для большинства веб-разработчиков. В справедливости снежный покров действительно не снял с большой аудиторией, пока мы не добавили встроенную команду dev server и confign в v2.0. Но даже без сервера DEV Server, маленький фокус SnowPack V1.0 был достаточно для определенного вида низкой инструментальной/без инструментального веб-разработчика.
Моя рекомендация ovellyl – проверить вашу идею и получить совместную демонстрацию как можно быстрее. На практике это означает четыре вещи:
- Используйте существующие инструменты! Вилка аналогичный проект с открытым исходным кодом или использовать существующий инструмент внутри, если он может сэкономить ваше время.
- Напишите грязный код! На самым ранней стадии вы, вероятно, не знаете, точно знаете, что вы строите. Преждевременный рефакторинг иногда может быть хуже, чем вообще никогда не решающуюся, поэтому держите свой код гибким как можно дольше.
- Держите масштаб малышки! Не строя половину запеченных, половину труда. Вместо этого сосредоточиться на том, чтобы сделать одно очень хорошо.
- Пропустить тесты! Подтвердите, что вы строите что-то полезное, прежде чем тратить бесплатное написание времени для него. Нет ничего хуже, чем писать тесты на то, что вы в конечном итоге, никогда не используете.
Я знаю, что некоторые из этого можно считать горячим/противоречивым. ” Нет тестирования ??? Богохульство! ” Все, что я могу сказать, это то, что эта стратегия хорошо работала для меня в течение нескольких популярных проектов и бесчисленные непопулярные проекты, которые никуда пошли.
Очевидным недостатком к этому «Переместить быструю» консультировать, что это не устойчивый долгосрочный. Перемещение быстрых означает, что принять техническую задолженность, что вы будете абсолютно надо погасить в какой-то момент Если ваш проект становится успешным. Как только у вас есть некоторые пользователи, которые любят то, что вы делаете, вы должны начать переопределить стабильность, рефакторинг и тестирование. Больше на этом в следующем посте.
Оплата технического долга может быть ударом. Но серебряная подкладка: если ваш проект никогда не взлетает, потом поздравляю! Вы не тратили время, тестируя то, что никто не хотел:)
Урок для сопровождающих открытых источников: Напишите грязный код, сохраняйте масштабы малого и пропустить любую ненужную работу, пока вы не знаете, что вы строите что-то полезное.
Урок 3: быстро исправить
Вы только что получили свой первый отчет об ошибке. О нет, кто-то попробовал ваш проект, и он сломал! Но что имеет значение что они забили достаточно, чтобы рассказать вам об этом.
Одна из лучших вещей, которые вы можете сделать в новом проекте с открытым исходным кодом, это исправить отчеты об ошибках, как они приходят. Приоритеты исправления над всем остальным становится намного сложнее, когда проект растет, поэтому наслаждайтесь свободой быстро двигаться, пока вы все еще можете.
Себастьян МакКензи (Создатель Вавила, пряжа и сейчас Рим) обобщает эту теорию хорошо:
Одна из причин, по которой Babel был успешным, так это то, как быстро я смог быстро исправить ошибки и выпустить новые версии. Я бы регулярно выпускал несколько минут после отчета об ошибках. Это было критично в первые дни, когда усыновление было низким. Возможность разблокировать пользователей быстро, часто заставляют их более взволнованными, чтобы использовать Бабела, хотя они бежали в ошибку. — Себастьян МакКензи, Рим
Урок для сопровождающих открытых источников: Ваши первые пользователи необходимы. Расставлять приоритеты исправления их вопросов над всем остальным.
Урок 4: Практикуйте хорошие рассказывание историй
Что-то о маркетинге всегда, кажется, делает разработчики брезгивать. К сожалению, если вы хотите, чтобы люди использовали ваш проект, вам в конечном итоге нужно рассказать им об этом. Даже органические, вирусные ощущения во рту рта, как правило, имеют болельщик, действующих за сцены.
Чтобы начать, просто поделитесь своим проектом с другом или коллегой и попросите их своих мыслей. Все в порядке, если вы не попадаете на первую страницу News Hacker News в день, все, что вы ищете, – это раннее обратную связь, и, возможно, ваши первые пользователи.
Когда вы готовы поделиться своим проектом с большей аудиторией, у вас есть несколько вариантов для того, как это сделать. Один популярный выбор – рассказать свою историю небольшими визуальными частями со временем. Вот как Себастьян построил волнение для Рима почти за 2 года до его запуска. Марк Dalgleish Также сделал большую работу по продвижению ванильного экстракта в Twitter таким образом.
Вы также можете получить творчество и сделать что-то уникальное. Бен Холмс Имеет тонну забавных видеозаписи видео Перед доской Для его нового проекта Смешанство.
С снежным подом я решил рассказать нашу историю в Один большой пост блога. Это потребовалось серьезное время, чтобы написать, но дал нам пространство, чтобы действительно объяснить «почему» проекта. Я подумал, что мы должны были сделать связь эмоции с нашей большей целью изменить сеть. Несмотря на то, что это был всего лишь один пост, он сделал большой всплеск, когда он был выпущен, а затем получил повторно поделиться и ссылаться в течение следующего года.
Урок для сопровождающих открытых источников: Продвигать свою работу. Найдите стиль рассказывания историй, который подходит вам и ваш проект.
Урок 5: Игнорируйте своих ненавистников, слушайте своих пользователей
Если ваша работа когда-либо опубликована для хакерских новостей, ожидайте, что ненавистники.
Если вам повезет, вы можете сказать разницу между Невежественная критика и конструктивная критика. Игнорируйте невежественные вещи (ненавистники aka), но слушайте конструктивную обратную связь, если можете. Если кто-то показывает, что они нашли время, чтобы хотя бы попытаться понять ваш проект добросовестно Их обратная связь обычно будет иметь некоторую ценность, если вы можете определить.
Обычная конструктивная критика, когда кто-то ясно Пробовал Поймите свою работу, но все же неправильно поняли некоторую ключевую часть этого. Легко позвонить этому человеку тупой и двигаться дальше, но помните, что четкое общение – ваша ответственность. Когда кто-то неправильно понимает вашу работу, это обычно означает, что вы можете улучшить свою README или Documentation или General StoreTelling.
Урок для сопровождающих открытых источников: Ненавистники ненавидят, игнорируют их. Узнайте, как обнаружить добросовестную, конструктивную критику.
Основная вынос: Поддержите ваших ранних пользователей
Если вы начинаете новый проект с открытым исходным кодом, лучшее, что вы можете сделать, это убедиться, что ваши первые 10 пользователей счастливы. Все выше количество уроков действительно находятся в некотором роде находки и поддержки этих первых пользователей. Если вы сделаете правильно их, то вы уже построили что-то значимое.
И если это все звучит как слишком много работы, помните, что программное обеспечение с открытым исходным кодом не имеет правил. Это должно быть весело. Здание для себя или меньшую аудиторию совершенно нормально, в этом случае вы можете пойти дальше и игнорировать большую часть этого совета.
Оригинал: “https://dev.to/fredkschott/5-things-i-learned-while-building-snowpack-to-20-000-stars-b9d”