Какой код начать писать на JS?

Друзья, у меня довольно странный вопрос.

В целом занимаюсь версткой, работаю с HTML и СSS, решил вырасти до front-end разработчика. Программированием до этого не занимался.
Я прошел базовый курс JS на codeschool, читаю learn.javascript.ru и "эксперементирую" в редакторе после каждой статьи.
И хочется уже не просто выполнять упражнения, а действительно писать что-то нужное и имеющее смысл.

И здесь у меня большая проблема.
Я не знаю какие программы начать писать, чтобы двигаться от простого к сложному.
И мне тяжело поставить самому себе задачу, чтобы она еще и была реально полезной.
В HTML все было проще - у тебя есть макет сайта (или уже работающий чей-то сайт), далее ты пытаешься сверстать макет или повторить какие-то реализованные фичи.

С JS у меня не получается действовать аналогично.
У меня есть какой-то набор знаний, в стиле "Вот так работают IIFE, модули, прототипы в JS". Теперь мне надо использовать эти элементы при написании кода, и я понятия не имею, почему, например, для осуществления конкретных фич в коде, нужно использовать именно такой метод и так далее....
То есть, существует обучающее видео "Делаем веб-приложение для подсчета расходов и доходов, оно принимает у пользователя данные и располагает их в двух соответствующих колонках с суммой и названием расхода\дохода." Все что я могу - это повторить за автором видео его код, местами даже понять что нужно писать дальше. Но мне непонятно почему использовался именно такой подход, методы и тд. Я не могу написать нечто подобное на просмотренной основе.

Буду рад вашей помощи, если сможете подсказать мне:
Какие программы начать писать, приминительно к front-end и развитию в этом направлении, от простого к сложному.
  • Вопрос задан
  • 19229 просмотров
Решения вопроса 1
theobroma
@theobroma
javascript developer (ReactJS)
Был в похожей ситуации чуть более года назад. Очень помогло вот это видео. После него меня "прорвало" в JS и смог уже что-то сам писать-сочинять...Попробуйте вдумчиво посмотреть это видео и написать обычный TodoList используя jquery, только сделать это самостоятельно. Потом конечно можно подглядеть в TodoMVC jquery и vanilla версии.(сначала jq- она легче). Дальше можно смотреть фрейморки( todolist делаем обязательно уже используя их), а потом уже думать про более-менее полезные приложения...Считаю, что такой путь самый гладкий вариант кривой обучения. Попытки сделать сразу нужный и полезный продукт, да еще и качественно, да еще и за деньги - это верный способ захлебнутся и не выплыть. Для подобных задач нужно окрепнуть и прокачать скилл. Всему свое время.
Ответ написан
Пригласить эксперта
Ответы на вопрос 10
Stalker_RED
@Stalker_RED
Вот здесь каждый день появляются задачки по javascript, от самых примитивных, ответы на которые сводятся к "открой уже учебник, и не тупи" до довольно сложных. Подберите такую, которая покажется вам полезной и доступной по скиллу и попробуйте решить самостоятельно. Если не получается - смотрите ответы других людей.

А вообще, делайте хоть как нибудь. Хоть в процедурном стиле, хоть с использованием GOTO, хоть называя переменные сМиЩнЫмИ названиями. Главное начните уже писать хоть что-нибудь, если упражнения вы уже переросли. Перед тем как вы напишете что-то полезное вам ПРИДЕТСЯ прокачивать скилл на чем-то простом.

Подавляющее большинство всей литературы о программировании не о том как сделать 2+2 а о том, как сделать некий кусок работы более простым/быстрым/надежным/дешевым способом. Но никакого смысла нет в это вникать, если вы не можете написать вообще никаким.
Ответ написан
@cluberr
Советую прочитать вот эту книгу :
1011395255.jpg
там классно изложены все темы и идет последовательное построение Игры Морской Бой от простого к сложному
постепенно изучаешь новые фишки и внедряешь их с пониманием того, для чего это нужно.

Вот этот сайт очень мощный в плане прокачки практики: https://ru.hexlet.io/professions/frontend

А еще очень советую решить весь список: ЗАДАЧИ ПО JAVASCRIPT ИЗ КНИГИ "ВЫРАЗИТЕЛЬНЫЙ JAVA...

плюс сайт www.codewars.com - это отличный сайт на котором собрано огромное количество задач для оттачивания навыков программирования его используют для подготовки к собеседованиям в ведущие компании.

ну и https://www.freecodecamp.org/
Ответ написан
thousandsoulz
@thousandsoulz
lil frontie
Пару месяцев назад был в подобном положении, тоже только html+css, по образованию далеко не программист. Начал штудировать learn.javascript.ru/. Затем начал работать в живых проектах, писать для них легкие скрипты типа плавных якорей, модалок, табов и т.п. Почти каждый день решал задачи на https://www.codewars.com для развития мышления и практики. А месяц назад в лоб получил задание: напиши калькулятор на чистом JS. Я был в ступоре, но начал писать. Правда, главное – начать. 6 дней работы и вот, выкатил, в продакшн, чего сам не ожидал. Попробуй тоже. Только чур не подглядывать.
Ответ написан
y0u
@y0u Куратор тега JavaScript
dev
"Но мне непонятно почему использовался именно такой подход, методы и тд. Я не могу написать нечто подобное на просмотренной основе."

Начните решать задачи. Много задач. Решайте так, как знаете. Не знаете совсем - гуглите. Со временем сами поймете почему так, а не иначе. Другого ответа просто нет, заявляю со 100% ответственностью.
Ответ написан
@Kirill-Gorelov
С ума с IT
Конечно писать на чистом js сложно, я считаю. Лучше использовать angularjs. Как вариант. И на нем писать приложения.
Или писать в связке с серверными языками php/python.

из идей я бы предложил сделать
-todo лист
-напоминалку
-чеклисты
-календарь
-часы

Да, больно, но как вариант. И тем более если хочешь научиться и сделать полезное. То это кому нибудь до подойдет.
Если я хочу написать приложение, в моем случае php, то я решаю свою проблему, которая у меня возникает по жизни.
Найди у себя такую проблему и сделай это. Это самый лучший вариант обучения. И каждый раз улучшай свое приложение. Применяй не только нативный js, а jquery, сокращает код в несколько раз)
сonsole.log('Было бы желание, найдутся и возможности!');
Ответ написан
nexmean
@nexmean
погромист
Для того, чтобы понять почему именно так сделано нужно понять - а к чему стремится программист, кроме того, чтобы программа работала, да и какими вещами достигается её работа. В большинстве случаев проблемой в программировании - является постоянно растущая вместе с проектом сложность. И все эти модули и прототипы как правила используются для того, чтобы уменьшить сложность. Для того чтобы это понять, нужно начать писать сложные вещи, либо читать книги повествующие о проблемах и их решениях.

Могу посоветовать Хекслет, как платформу для обучения, там как раз таки используется проблемно-ориентированный подход в обучении. Ещё можно читать блоги о разработке, тот же хабр. Так же полезно на тостере переодически читать вопросы (проблемы) и их решения.

UPD. Также советую почитать "Совершенный код" Стива Макконнелла, там очень много информации по этому поводу.
Ответ написан
Комментировать
Если хотите вырасти до фронт-енд разработчика, нужно знать не только js, но и фреймворки, бандлеры и другое.
Ответ написан
@komuroe
Когда у меня была похожая проблема, для меня находкой оказался сайт js30, это бесплатный курс с задачами на каждый день, созданный как раз для людей в такой ситуации - когда книги уже прочитаны, основы есть, но как дальше развиваться - непонятно. Для меня оказался эффективным и полезным такой подход - сначала смотреть видео где чувак рассказывает и показывает решение задачи, а потом пробовать решить ту же задачу уже самостоятельно, не переписывая код, а только подсматривая в случае затруднений.
Ответ написан
Комментировать
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
Начните делать игрушки. Сначала не сложные: флип-флоп, крестики-нолики, дак хант.
Потом более сложные - аркады-ходилки-стрелялки.
А потом портаните какой-нибудь хит из девяностых на js.
Ответ написан
Комментировать
yurakostin
@yurakostin
Front-end developer
Не покупайте пока никаких книг. Завершите две основные части learn.javascript.ru.

Среди ответов была интересная мысль про морской бой.
Вот пусть это будет вам первая задача.
Задача интересная.
Сделайте очень простую реализацию. Без бэкенда и прочего, чтобы всё было максимально просто.
Пусть будет видно сразу два игровых поля - ничего страшного.

Пусть каждый игрок заполнит свои поля. А дальше пусть стреляют по обычным правилам, и не важно, что видно корабли друг друга. Главное чтобы один стреляет - другой получает урон на своём поле, и т д.

Потом всегда можно допилить, чем вы скорее всего не займётесь, но уже приобретёте хороший опыт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект