Что выбрать в качестве бэкэнд технологии для обучения?
Немного заблудился в веб разработке, если вы необычайно язвительны и прагматичны, то лучше не читайте дальше. Но если хотите дать пару советов, то буду вам благодарен. Понимаю, что начинаю прыгать с одного на другое, не выстраивать четкий план и при этом с вредящим чувством перфекционизма и прокрастинации в обучении.
Бэкграунд: учил js по сайту кантора, а php по книге быстро прошелся, параллельно учил верстать, но еще понимания как сделать сайт не было, только основы программирования, ооп и различия между js, php. Потом поднял на линуксе локальный сервер, начал php фреймворки смотреть. Из опыта 3-4 сверстанных сайта, на laracast по курсам делал несколько сайтов учебных, из коммерческого были правки на laravel и натяжка сайта, но работа была максимально простая, которую сделает любой зная документацию. Последнее что учил - это был vue, другие фреймворки не пробовал.
Спустя перерыв долгий, решил начать с чего то попроще. Начал с верстки, только с нормальной сборкой галп+вебпак, чтобы все было семантично и кроссбраузерно, также используя флексы, гриды? svg symbol и т.д Посмотрел вордпресс, так как никогда раньше не пользовался cms, но с версткой часто упоминался. Повторил js, es-* новые возможности, потом порешал задачи на sql-ex.ru и думал снова laravel подучить. Но недавно спрашивал вопрос примерно о том же и определился, что сразу фронтом и бэком лучше не заниматься. Но так как был некий опыт с ларавел и php мне был удобнее синхронностью и вменяемым ооп, то поэтому и думал снова повторить. Но сейчас поставив акцент на верстку, дизайн и vue, плюс новые возможности es-* делают javascript вполне привлекательным, понимаю что лучше забыть начинания в качестве бэкэнд разработчика, а сфокусироваться на фронтэнде и использовать firebase, fake restfull, пока не почувствую себя уверенно в этом направлении прежде чем двигаться на фулстэка.
Тем не менее все равно мучают вопросы, если двигаться на сторону бэкэндщика. То какой путь выбирать, laravel привлекает хорошим обучающим порталом, интеграцией с vue, хотел также посмотреть елисеева где он собирает свой мини фреймворк из сторонних библиотек, чтобы не быть завязанным на laravel, а понимать немного больше, но понимаю что на это уйдет не один день. Ведь желание не только научиться пользоваться технологией, но и понять что за ней стоит и по возможности повторить подобие, как лучший способ лучше понять то, что используешь умножает потраченное время в разы, а польза не такая большая, кроме как внутреннего удовлетворения. Но с другой стороны, если сосредоточиться на фронтэнд разработке, где от сервера по большей части нужен будет только рест сервис, то не стоит ли остановиться на ноде + koa например или express, чтобы разрабатывать в одной экосистеме.
Если прочитали этот бред сумасшедшего, то помогите выстроить себе план. Убегать от проблемы не хочется. Стоит обдумать и решить как действовать. Пока что сделал себе на вордпрессе портфолио, где есть пару выполненных работ с версткой с фриланса. Но так как брал работы не со своего профиля, знакомый подкинул, то подработка редко появлялась, пока хожу по собеседованиям, чтобы поработать в офисе. Параллельно пытаюсь верстать сразу с vue и делать больше приложения, чем верстку с интерактивом. Желание после разобраться с сервером, но не могу определиться с технологией, так как знания во всем и поверхностны.
Добрый день. Если нужен простой ответ, по шагам, то я бы посоветовал примерно вот так:
1) Находите себе хостинг VPS, облако, как угодно. Можно reg.ru, или DigitalOcean Взять можно в аренду на пару месяцев, это стоит недорого, пару пачек сигарет. Да, Вам могут порекомендовать "использовать старый комп", но лучше тренироваться в условиях приближенных к боевым.
2) Поднимаете на хостинге Linux, любой какой нравится, рекомендую Ubuntu. Как это сделать - читаем доки.
3) Поднимаете nginx (веб-сервер). Если вы по жизни максималист - то на другом порту поднимите еще и Apache2. Как это сделать - читаем доки.
4) Поднимаем субд mysql. Как это сделать - читаем доки.
5) Дальше уже по Вашим предпочтениям. Хотите laravel - ставьте его. Хотите Yii2 - его тоже ставьте. Только это должна быть не установка на "попробовать", а вполне с конкретной целью - Вы должны научится работать с REST - грубо говоря через этот сервис происходит обмен данными между фронтендом и бэкендом. Как это сделать - читаем доки.
В итоге - у Вас должен быть четко отработан навык по быстрому разворачиванию полноценного бэкенда, способного хранить и отдавать данные. Удачи!
Попробуй все варианты, на твоем месте реализовал микросервисную архетектуру, как вариант обернуть в докер контейнеры.. начал бы с java и spring возможно hibernate еще, не сложнее чем на node + express или что-то еще, java очень легок в понимании если был опыт на плюсах или другом ооп, есть различия конечно, больше времени уйдет на изучение фреймворка и кучи аннотаций