Какое-то время у меня в голове была идея - создать приложение на Электроне. Это часть моей попытки создавать приложения с помощью JavaScript на любой платформе, которая каким-либо образом может быть реализована: в браузере (daa), мобильном устройстве (React Native), сервере (NodeJS) и настольном компьютере (Electron).
Что я сделал с этой идеей? Ничего такого! Должно быть больше мотивации, чтобы заставить меня что-то делать, а не просто изучать новую технологию.
Однажды ночью моя жена пожаловалась мне, что ей нужно скачать аудио с YouTube, но она не хочет скачивать их по отдельности, а загружает целый плейлист. Поэтому я сказал ей: «Нет проблем! зачем у вас в доме девелопер, если не для таких случаев »? И я сделал то, что сделал бы каждый разработчик ... поискал в Goggle. Возможно, в Интернете полно таких приложений, но я не мог найти того, что мне понравилось бы. Итак, я вспомнил свою идею и знал, что напишу ее сам.
Прежде всего, я установил для себя несколько правил:
- Никаких шаблонов! Вообще! Все должно быть с нуля.
- Совместимость с открытым исходным кодом (Не только с открытым исходным кодом, но и дружественная), все это.
Руководства« Как внести свой вклад не будет. Делайте вклад, как хотите! » - CI-CD (travis-ci и appveyor), поэтому
commit
запустит сборку и тесты, аrelease
развернет артефакты (windows, mac и ubuntu) вreleases
. - Приложение будет распространяться на Электронном рынке приложений.
- Сервер никоим образом не будет задействован, весь процесс будет в приложении, поэтому использование в приложении не будет отслеживаться (за исключением, конечно, сети для самого YouTube). Это важно: приложение не будет отслеживать никакую активность, ни Google Analytics, ни что-то еще, ни какое-либо кеширование на сервере.
- В конечном итоге стек будет включать:
- React и MobX, не потому, что это было необходимо, а потому, что я хотел попрактиковаться (React) и изучить (MobX).
- Библиотека тестов - Jest.
- Конечно, TypeScript.
- Webpack - Я использовал его раньше, но хотел научиться создавать его с нуля, а не просто использовать шаблон. - Бесплатно - без рекламы.
- Архитектура будет максимально простой - небольшие компоненты, чтобы люди могли легко понять и изучить.
- Скачивание непубличных видеороликов запрещено!
- Продолжает делать это для удовольствия! Никакого давления.
Шаг 1 - Начало проекта
- Откройте репозиторий Github с именем, о котором я очень скоро пожалею - ✓.
- Прочтите и примените Быстрый старт Electron - ✓.
Без ничего, кроме Electron и JavaScript, и с помощью двух пакетов:
* Https://github.com/CodeDotJS/youtube-playlist.
* https://github.com/ytb2mp3/youtube-mp3-downloader.
"Исходный код"
Короче говоря, он извлекает идентификаторы видео (youtube-playlist) и добавляет запрос на загрузку и конвертирует их в mp3 в очередь (youtube-mp3-downloader).
В следующих эпизодах сериала я буду придерживаться 10 правил. Быть в курсе!