Как определиться с фреймворком?

Нужна помощь с выбором дальнейшего пути развития в веб разработке. За плечами пока только HTML/CSS/JS.
Выбрать я его смогу, но для этого мне не хватает понимания "полной картины, как все устроено".

Вообщем пока варианты такие:
  1. Клиентская часть с Angular || React || Ember
  2. Серверная часть с ruby и рельсами || node.js с sails и подобные || питон с Django…?


Мне не понятно, это разделение фреймворков на группы, что они делают и для каких задач предназначены фреймворки из первой группы и из второй?
Почему они так разделены?
Используют ли их вместе, или только один?
Какие задачи решают фреймворки из первой и второй группы?
Для какое задачи достаточно будет знать только ангуляр, а для какой только рельсы?

Как большое море, в котором видны островки, но целой карты нету, что даже не приходит в голову как правильно задать вопрос, чтобы понять;
  • Вопрос задан
  • 1140 просмотров
Пригласить эксперта
Ответы на вопрос 6
index0h
@index0h
PHP, Golang. https://github.com/index0h
Мне не понятно, это разделение фреймворков на группы, что они делают и для каких задач предназначены фреймворки из первой группы и из второй?

1-я группа работает на клиенте (в браузере)
2-я группа работает на сервере

Почему они так разделены?

Разные платформы выполнения

Используют ли их вместе, или только один?

Зависит от проекта.

Какие задачи решают фреймворки из первой и второй группы?

1-я БЛ (бизнес логика) отображения и взаимодействия с пользователем
2-я БЛ обработки данных и взаимодействия с клиентом (браузером)

Для какое задачи достаточно будет знать только ангуляр, а для какой только рельсы?

Только Angular - задачи frontend
Только Rails - задачи backend
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Нужна помощь с выбором дальнейшего пути развития в веб разработке.

для начала не зацикливайтесь на фреймворке. Это всего-лишь инструмент, полезный инструмент который стоит использовать, но нужно понимать зачем каждый из них нужен. В идеальном мире основная часть вашего приложения отделена от фреймворка, но... это в идеальном мире...

Мне не понятно, это разделение фреймворков на группы

разделение по языку программирования и задачах, которые решает этот фреймворк. Допустим RoR, Sails, Laravel, Symfony, Drango - это фреймворки для организации WEB интерфейса к вашему приложению. И не более.

Angular, Ember, React, etc - это фреймворки для организации интерактивных WEB приложений на клиенте, на сервере им делать нечего (если не учитывать server-side рендринг для укорения отображения страницы).

Используют ли их вместе, или только один?

если вам надо написать интерактивное приложение и API к нему, то логично взять два фреймворка, которые реализуют то что нужно. Так что да.

Как большое море, в котором видны островки, но целой карты нету

нарисуйте. В центре ставим WEB, от него ответвляем клиент и сервер, и соединяем все... википедия в этом нам может помочь.
Ответ написан
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
можно разделить по технологиям php фремворки, javascript фремворки и css фреймворки и т.д. Традиционно серверная часть пишется на php, а клиентская на javascript, украшено все это css.
Но можно обойтись одним, можно использовать несколько. Выбор кол-ва и типов зависит от проекта. Я например большую часть проектов делаю php фреймворке yii2 и css фремворке bootstrap3, который там подключен из коробки. Вполне самодостаточная связка. И хотя yii2- это php, bootstrap3- это css , они одержат кучу фишек на javascript (на jquery, если быть точным). Так что четких правил и границ тут нет. Лучший способ понять - начать делать. Возьмите yii2 и попробуйте.
Ответ написан
HoHsi
@HoHsi
Мне не понятно, это разделение фреймворков на группы, что они делают и для каких задач предназначены фреймворки из первой группы и из второй?

Какие задачи решают фреймворки из первой и второй группы?

Первая группа - фронтэнд - фреймворки работающие на стороне клиента. Т.е. в браузере
Вторая группа - языки + фреймворки для бекэнда - серверной стороны.
Общего между ними 0, это абсолютно разные вещи для разных задач.

Используют ли их вместе, или только один?

Если вы имеете ввиду, использовать ли Angular и Ember (или Ruby on Rails + node.js), то ответ 100% нет. Это взаимозаменяемые вещи.

Какие задачи решают фреймворки из первой и второй группы?

Первая группа занимается пользовательской частью. Рендарит Dom, выполняет клиентские вычисления, Ajax
Вторая - серверные фреймы. На их основе пишется сам сайт, его основа. Или же REST.

Для какое задачи достаточно будет знать только ангуляр, а для какой только рельсы?

Это не взаимоисключающие вещи. Ангуляр рендарит клиента, обновляет поля, html, сортирует таблицы. RoR отвечает на post/get, выступает в роли REST.

Подведя итог, если знаний 0, начните либо с фронтэнда (1 группа) или с бекэнда (2 группа). За частую это разный подход к мышлению.

Если нет знаний даже в JQ, но сайтик хочется берите для начала JS+PHP (но быстро бросайте, как только появятся скиллы). После этого переключайтесь на Coffee (замена JS) + Node.js

Ссыли в Сибире:
PHP
node.js
jquery.com
coffeescript
Ответ написан
ruddy22
@ruddy22
Спасение утопающих — дело рук самих утопающих
К в одном циничном и непристойном анекдоте про официанта: "возьмите 'старый мельник'...".
Перефразирую - метеор жс - ваш выбор.
Ответ написан
Комментировать
@CapeRatel
Ситуация такая: "Пока мы лошадей запрягали, мир придумал ракеты и улетел на марс".
Всегда нужно использовать ту технологию, которой вы владеете очень хорошо. И точка.

Фронтэнд фреймы примерно равны разделять их не нужно. Любой подойдет.
Насчет бекенда можно делить на 2 группы:
- Обычный сайт или спа(Тут подойдет все, и руби и питон и нода и чехотите.)
- Там где нужна жесткая реальная многопоточность(для стриминга всякой фигни в стиле видео или музыки) - здесь вопрос к мастерам эрланга или го и прочих "танков".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы