Как новичку влиться в мир современного фронт-енда?

Всем привет. Примерно год назад начал "для себя" учить HTML/CSS, сверстал с десяток PSD шаблонов, ознакомился с Bootstrap, jQuery. Сейчас задался вопросом ознакомления с одним из современных JS фреймворков и здесь у меня возникли некоторые фундаментальные не понимания куда всё идет. Начал ознакомление с Angular 1, почитав немного форумы, понял что знания jQuery для работы с ангуляром мало того, что ненужны, так еще и некоторые считают их "вредными". Пошел дальше, почитал про ангуляр2, здесь теперь сталкиваюсь с мнениями, что знания ангуляр1 "вредны".
Посоветуйте, как здесь лучше поступить?
1) Стоит ли тратить время дальше на jQuery?
2) Стоит ли тратить время сейчас на Backbone?
3) На сколько экосистема ReactJS стремительно изменяющаяся по сравнению с angular1-> angular2 ?
Всё упирается в то, что времени/сил после работы на учебу не много остается и не хочется тратить их на то, что в последствии окажется "вредным".

Upd:
Спасибо всем, кто откликнулся. Не скажу, что мысли выучить досконально js, es2015 меня не посещали. Проблема у меня в том, что мне легче учиться по принципу "learn by doing". Когда я учил основы html, я после просмотра нескольких туториалов, взял psd шаблон и начал пробовать верстать. Сначала получалась каша, я гуглил stackoverflow, смотрел видео (в том числе не безизвестного Джедая верстки), с каждым шаблоном мое понимание становилось все лучше. С jQuery примерно так же, сначала я просто подключал плагины, потом прочел доку по этой библиотеке и в след. макете уже начал по немногу сам писать код для мелкого функционала. Дальше попробовал верстать макет без использования плагинов вообще, прочитал про модульную организацию jQuery кода и вперед писать велосипеды. Не скажу, что получилась конфетка, но мое внутр. понимание от этого только улучшилось.
А сейчас мне хочется ступить на более высокую ступень и взять курс на понимание тех вещей которые отличают "верстальщика" от фронт-енд программиста. Но как это делать постепенно, да еще и постоянно практикуясь? Честно признаюсь сухое чтение learn.javascript.ru быстро убивает интерес и вызывает желание пойти вздремнуть.
Были мысли написать плагин на чистом js, или сверстать макет не подключая jQuery вообще. Отчасти потому я и хотел взять сразу какой-то фреймворк и начать велосипедить на нем.
  • Вопрос задан
  • 1675 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
с мнениями, что знания ангуляр1 "вредны".


тут проблема в том, что если мы берем среднестатистического ангулярщика, он пишет в стиле angular1.0, во всю использует скоупы в контроллере и т.д. Причина этому - отсутствие обновления документации к ангуляру. Ну то есть в пул реквестах на гитхабе валяются исправленные доки но они почему-то до сих пор там висят не принятыми по каким-то странным причинам.

Например вот то как я готовлю ангуляр, а вот как другие. Последнее считается вредным. Скажем если вы используете $scope в ангуляр приложении версии 1.5+ то вы уже готовите ангуляр не правильно. Если у вас бизнес логика вытекает в компоненты - тоже что-то странное и тд. Но последнее уже никак к ангуляру не привязано.

Стоит ли тратить время дальше на jQuery?

Учите javascript. и так и так понадобится. Причем серьезно учите. И не только основы, надо еще общие вещи, не привязанные к js знать. Типа ооп, функциональное программирование, принципы solid, grasp, dry и другие аббривиатуры. Короче именно серьезно так подойти к этим вопросам. Паралельно разобраться с HTTP, уметь не только пользоваться API но и проектировать их и т.д. Короче это огромный пласт знаний который формируется не один год.

Стоит ли тратить время сейчас на Backbone?

Нет, не стоит. Backbone это низкоуровневая библиотека для тех кто знает как все делать. Человеку который не отличает MVC от MVVM оно только навредит (у меня есть парочка проектов доставшихся от других разработчиков которые демонстрируют проблему).

На сколько экосистема ReactJS стремительно изменяющаяся по сравнению с angular1-> angular2 ?


С учетом того что с моммента выхода angular 1.x до момента выхода angular2 (а он еще в бэте) прошло 4 года... мегабыстро.

Всё упирается в то, что времени/сил после работы на учебу не много остается и не хочется тратить их на то, что в последствии окажется "вредным".


Просто учить нужно не фреймворк, а принципы на которых все это основано. Понимать идею. И тогда ничего не будет вредно. Большинство же разработчиков втупую копипастит код и радуется этому.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@dolgo
JS-программист
1) Селекторы знать обязательно, остальное можно изучить по мере необходимости.
2) Backbone - стоит.
Он довольно простой, на его изучение нужно совсем немного времени.
Но оно того стоит, новичку будет очень полезно для ознакомления с MV*-архитектурой на фронте.
3) Может неправильно понял вопрос.
Лучше потратить время на Angular, причем на 2-й, и на TypeScript.
Даст больше развития, но рекомендую после первых 2-х пунктов.
React можно подучить при необходимости.
Ответ написан
Комментировать
@rinatoptimus
Соглашусь, что надо учить нативный JS. После этого фреймворки будете усваивать проще. При появлении любой новинки будете пробегаться по документации и уже иметь представление как все это реализовано и где лучше всего это применить.
Ответ написан
Комментировать
@WapGeaR
Программист
1 и 2 - конечно потратьте время, ознакомьтесь с ними - лишними такие знания точно не будут.
3 - React как и Angular 2 очень изменчив, да весь JS сейчас бурно развивается и каждый день вываливают кучи всего полезного и не очень, так что посмотрите на ангуляр, посмотрите на реакт и выберите для себя лучшее.
Но учтите, что Angular - фреймворк, React - библиотека.
Ответ написан
Комментировать
@lasmaster
Вся сила в самообразовании
Я бы посоветовал начать с чистого JS, посмотреть как реализуются в нем основные принципы ООП, прототипы, фабрики, замыкания и т.д. Эти знания лишними не будут. А потом уже переходить на JS фреймворки. А по поводу jQuery, достаточно проглянуть основные методы/свойства/плагины, не вижу смысла много тратить времени на специальное изучение. Я в компании провожу собеседования и code review для юниоров и как показывает практика лучшие результаты показывают те, кто изучал нативный JS, им и в изучении фреймворков полегче, нежели тем, кто писал изначально на jQuery.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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