С чего начать изучение разработки клиент-серверных веб-приложений?
Приветствую! Изучил основы Javascript. Теперь хочу приступить к изучению самой веб-разработки.
В качестве бэкенд технологии 100% выбираю Node.js так как это достойное решение даже для многих ААА проектов. А у меня цель просто прототипирование собственных идей и занятия для себя, и нет смысла тратить время на изучение другого ЯП.
На момент написания этого вопроса, я уже уделил 10 часов node.js. Но в итоге я только запутался. Потому что здесь настолько много плагинов и решений, а их реализация немного отличается что не позволяет мне увидеть какие-то взаимосвязи.
У меня в плане первых двух идей для тренировки:
1) сделать API веб-приложение где будет база ресторанов и их профили, внесение данных в базу через интерфейс приложения, поиск по базе ресторанов и выдача результатов с применением фильтра поиска;
2) типа сайт-знакомств, где можно регистрироваться, авторизоваться, заполнять свой профиль, добавлять аватарку, и общая чат комната со списком пользователей онлайн.
И я вот даже не знаю с чего подступиться. Куча разных примеров с Express, c Restify, с Fastify, с базами данных Mysql Postgres, MongoDB. Также я не понимаю на каком этапе подходить к изучению таких вопросов как кэширование, авторизация, регистрация.
Мне бы хотелось выбрать такой стек инструментов, чтобы там не было лишних наворотов, и чтобы не пришлось потом менять их и учить что-то другое, так как эти инструменты "оказались не очень".
В каком порядке мне подступиться к изучению всех необходимых аспектов, чтобы последовательно реализовать описанные идеи?
Например сначала - понять как делать GET, POST запросы и тд...а дальше?
Может быть мне следует пройти какие-то общие темы по веб-разработке (без привязки к Javascript)?
Я имею ввиду порядок этих тем для самостоятельного изучения.
На момент написания этого вопроса, я уже уделил 10 часов node.js.
Ну это же успех. Еще 10 часов и можно получать сертификат специалиста.
Молодой человек, нет особо важного порядка для этих тем. Просто изучаете и пишете код, и рассчитываете, что пару месяцев может быть хватит, если продолжать тратить хотя бы 20-30 часов в неделю.
Вы изучили основы JS и хотите сразу изучить фреймворк.
Берите готовый рабочий пример любого сервиса, ставьте, пробуйте его поковырять. Потом попробуйте написать свое.
Не нужно выбирать самый самый легкий инструмент. С подходом "можно я буду учить поменьше, мне же все не надо" лучше вообще не идти в ИТ.
Любой инструмент можно просто не использовать на полную, а в начале пути рекомендуется сделать простую вещь двумя или тремя разными инструментами, чтобы была своя возможность их сравнить на основании СВОЕГО опыта, а не с чужих слов. Поскольку в ИТ важен свой опыт, свои знания, а не чужие рейтинги.
выбираю Node.js так как это достойное решение даже для многих ААА проектов
Смелое заявление.
Думаю, вам надо посмотреть пару видео с ютуба о разработке фуллстек-приложения на каком-нибудь React+Node+Mongo. Их там довольно много. Все они плюс-минус об одном и том же. Достаточно, чтобы понять общую концепцию.
Я не претендую на то, чтобы когда либо писать enterprise ) Я просто этим хотел сказать, что node.js может удовлетворить все мои потребности с лихвой и мне нет смысла учить Java или C#. А то поналетят умники, говорить, что Javascript для бэкенда это калище.
А шо ты хотел? Универсальный стандарт? Знаешь сколько за год новых продуктов появляется для js?
Для конкретных задач подходят конкретные инструменты. Для конкретных инструментов нужны конкретные от тебя запросы. Для конкретных запросов нужны конкретные познания фундаментальных основ
Есть еще два варианта: выбирать из того что советуют и выбирать из симпатии к названию/описанию.
А порядок таков: интернет, компьютерные сети, клиент-серверной архитектуры приложения, базы данных, основы системного администрирования, веб разработка (фронт, бэк и обслуживающее это всё ПО), архитектура веб приложений, программирование
Копать инфу по каждой теме из порядка, пока не сможете:
А)сами ответить на свой топик
или
Б)вести монолог на любую из этих тем хотя бы 5 минут
Ну это все структурированный вариант. А если простыми словами - видосы, статьи, читать все самоуроки и самоучители, и, дай бог, недели через две что-то да из задуманного накидаете в виде приемлимого прототипа.
Мне бы хотелось выбрать такой стек инструментов, чтобы там не было лишних наворотов, и чтобы не пришлось потом менять их и учить что-то другое, так как эти инструменты "оказались не очень".
А это единственный правильный путь в данной ситуации, если Вы хотите стать разработчиком, а не "пилилкиным на пол ставки"
Ты узнаешь технологии и начинаешь в них разбираться. Главное не "перепрыгивать" с одной технологии прежде Вы на 100% не убедитесь в том, что функционал не реализуем в ней.