Реализовываете скучные концепции, потому что так советуют в учебниках? Чтобы такого не было, мы сайт proglib.io собрал несколько идей для создания проекта.
Программирование − это навык, который развивается благодаря напряженной работе и страсти к делу. Но! Важно работать над теми вещами, которые вам интересны, иначе это превратиться в рутину. Более того, если ваш проект не интересен ни вам, ни другим, то зачем тратить на него время? Лучше посмотрите наши идеи, реализовывать которые так же интересно, как и сложно.
Текстовый редактор
Цель такого текстового редактора с возможностями для форматирования − упростить взаимодействие между пользователем и компьютером. Понятно, что таких уже достаточно много, но здесь можно реализовать функции, о которых чаще всего просят пользователи.
Клон Reddit
Reddit − это в некоторой степени агрегатор новостей, набирающего популярность веб-контента и просто форум.
Многие проводят часы, читая Reddit, потому что находят это полезным. Создание Reddit-клона − крутой способ практиковать навыки программирования и одновременно изучать содержимое сайта.
Reddit предоставляет возможность поиграться со шрифтами широкий набор API. Главное, чтобы каждое нововведение в вашем клоне было доведено до ума, иначе зачем начинать?
Open-source NPM-пакет
Если вы программируете на Javascript, то вы, скорее всего, знаете, что такое менеджер пакетов: он позволяет использовать ранее написанный другими участниками код.
Понимание того, как это устроено, помогает представить, что происходит под капотом. При публикации кода NPM нужно подумать о безопасности, управлении версиями, масштабируемости, условностях, обновлении и о многом другом.
Сам пакет может быть любым. Например, можно реализовать Lodash.
Кстати, вот несколько полезных инструкций по теме:
Создайте свой HTTP-сервер
Протокол HTTP является одним из часто используемых в современном интернете. HTTP-серверы нужны для обработки статического контента − HTML, CSS и JS.
Возможность реализовать протокол HTTP с нуля даёт картину того, как связаны эти три технологии между собой.
Проверьте себя:
- Настройте сервер без использования библиотек.
- Сделайте так, чтобы поддерживался и HTML, и CSS, и JS.
- Настройте подключение к сети с нуля.
- Проверьте ошибки и устраните их (а они будут).
Если идей, с чего начать, нет, то возьмите за основу язык Go и сделайте сервер Caddy
Приложение с заметками для ПК
Мы все пишем заметки, не так ли?
Давайте создадим своё приложение для компьютера. Основная задача в том, чтобы приложение синхронизировало заметки с базой данных мгновенно. При создании нативного приложения используйте Electron, Swift или другие вещи, к которым вы привыкли.
Кстати, это можно доработать, реализовав функционал из идеи с текстовым редактором. Если на этом этапе приложение ещё не надоест, запилите веб-версию.
Приложение с подкастами
Кажется, подкасты становятся всё популярнее. Если решитесь сделать свой проигрыватель подкастов, не забудьте добавить следующие функции:
- Создание аккаунта
- Поиск подкастов
- Подписка на подкасты
- Остановка и воспроизведение
- Изменение скорости
- Прокрутка вперед и назад
В качестве отправной точки попробуйте использовать iTunes API. Если вы знаете какие-либо другие удобные ресурсы, пишите в комментариях.
Скриншот-мейкер
Создайте настольное или веб-приложение, которое позволит вам захватить ваш экран и сохранить файл в разных форматах. Вот несколько советов, как это сделать.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]