Напрямок розвитку на основі JavaScript

Всім привіт.
Досвід роботи програмістом відсутній, з it сферою знайомий через курси java у недалекому минулому.
Недавно в мене виникла необхідність створити невеличкий сайт, ну власне і зацікавився трохи front-end розробкою. Пройшов HTML, CSS зараз потрохи вчу JavaScript.

Недавно вислухав пораду знайомого, що на базі JavaScript можна продуктивно рухатись у напрямку вивчення двох фреймів: AngularJs та ReactJs. Цікавить Ваша думка.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

Чувак, учи core. Фреймворки приходят и уходят (только на моей памяти 4 волны было — ExtJS, Backbone, Angular, React), а ядро языка остается.

Для старта нужно этот самый JavaScript выучить, а потом не составит труда определить куда двигаться

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Если был опыт с Java думаю понятнее будет Angular.
Сам пробовал и React и Angular и остановился на Angular и очень доволен.
Видел что кто-то советуем по книгам учится — это не очень удобно.
Можете учится по курсам и по статьям, так на много удобнее.
и мой список уроков: weburoki.pro/learn-angular тоже полезен будет наверное.
а если дружите с английским то доступно уже куча материалов

Нещодавно відкрив один з американських сайтів пошуку роботи, і звичайно був дещо здивований побачити за запитом «javascript developer» в одному Ню-Йорку близько 4000 вакансій (в Сан-Франциско близько 2000), це вам не 150 в цілій Україні) я не кажу же про традиційні .net, java і т.п. Зрозуміло це ще зовсім про ніщо не говорить, але все таки. Хто знає, поділіться наскільки просто знайти роботу в сфері it по візі B1/B2 і чи це взагалі реально.

У нас сейчас проекты на React JS больше и Angular JS. A еще Ruby on Rails появился проект.
Советовать ничего не могу, смотрю на вакансии, которые есть.

Воу-воу, полегче. ReactJS, Angular и тут Ruby on Rails.
Это как: яблоко, груша... дятел.

Ну с последним я загнула :) И это разные проекты.

Думаю варто зауважити, що Angular, Javascript використовуєтсься на 10%, а в ReactJs на цілих 80%.

що Angular, Javascript використовуєтсься на 10%
если ваше приложение ToDo List — то можеть быть около того

Думаю все зависит от того как вы используете angular. У нас на проекте (с ES6) vs стараемся плодить как можно меньше зависимостей от ангуляр 1.x (так сказать готовимся к ангуляр 2.0) и соответственно чистого JS я бы сказал порядка 40-50% (субъективная оценка) процентов 10-20% это ангуляр синтаксис (в основном это темплейты и контроллеры файлы) и 30% использование API 3rd party библиотек.

Это как?
В Ангуляре просто все прикручено из коробки — это полноценный фреймверк с определенными подходами к структурированию приложения, с определенной архитектурой. Другими словами — это монолитный фреймверк.
React — это библиотека, которая дает возможность делать UI компоненты и инклюдить их друг в друга. Ее конечно юзают саму по себе, прикручивая костыли для создания архитектуры, но на самом деле логичней использовать реакт с Flux/Redux.
Согласен, что в React знание JS желательно иметь по-глубже, да и идти он будет посложней.
Если цель — просто войти в IT, то определенно jQuery + Angular, а если заботят дальнейшие перспективы, то нужно основательно разобраться в особенностях нативного JS, тогда вам прийдется по душе React или Polymer.

Кароч чувак тебе совет. Берешь игру крестики-нолики и реализовываешь на топ-3 фреймворках которые сейчас модные ну к примеру react angular и jquery и так чтоб оно не очень уродски выглядело и можно было играть. Реализовал? Следующее берешь и реализовываешь многопользовательскую игру какую то типа морской бой например но с websocket тоже чтоб не выглядело уродски.
И так еще пару игр по мере возрастания сложности. Через месяца 3-4 (а это у тебя столько должно занять иначе программирование — не твоя стезя) ты открываешь двери на javascript собеседования ногами.

Я могу быть не прав, но все чего он научится при таком подходе,это делать такие игры на разных фрейморках. Я не говорю,что это плохо,как минимум это хорошо прокачает логику, но с нынешним веб-девелопментом,это мало что общего имеет.

А что же есть такого в нынешнем вебдевелопменте, что не используется в несложной игре с регистрацией, счетом и несколькими пользователями?

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

А мне кажется если человек знает JS и может реализовать не очень сложный функционал, как собрать на нем решение с помощью какого то там gulp и написать тесты с Jasmine и может доказать что он это сам сделал его возьмут на 80% открытых позиций. Былые заслуги с ООП не очень прокатят а могут даже помешать. «Фундаментальные» знания тоже как бы не очень катят — нужны люди сейчас на проект который использует такой вот фреймворк. Ну и надо соображать быстро чтоб например посчитать пересечения двух матриц, замапить разные проекции, их отфильтровать и проч. потому что таких тасков много надо решать.

Не очень сочетается

«Фундаментальные» знания тоже как бы не очень катят
и
надо соображать быстро чтоб например посчитать пересечения двух матриц, замапить разные проекции, их отфильтровать и проч.
Без вменяемого опыта — перформанс такого программиста будет 3 месяца на одной задаче, не думаю что 80% открытых позиций об этом.

Очень даже сочетается. Посмотреть как наимплементировать алгоритм можно в стаковерфло за 10 мин, тут не надо быть победителем олимпиад или доктором компьютерных наук. Применять его разные вариации каждый день по несколько раз удерживая много вещей в памяти — совсем другое, тут надо быстро мыслить и не утомляться долго.
Перфоманс программиста вещь очень субъективная. Он зависит не только от предыдущего опыта. Программист не работает в изоляции — ему постоянно нужно что то от других — ДБА, сисадмина, дизайнера. Он может не поладить с кем-то, ему могут завидовать, не помогать, игнорить его. Тут возможны затыки. А если есть таски которые можно аккуратно и точно заэстимейтить — например намалевать 20 форм с валидацией и байндингом — так тут скорее всего и не надо "

вменяемого опыта
", а можно справиться по аналогии.

Окей, если для проектов написали и забыли — люди без опыта — это супер. Но найти начинающего, который при написании фичи не заложил парочки отложенных бомб во фронтэнд — таких нужно поискать.
Тут все упирается в то насколько лид хочет учить новичков. Начинающие обычно даже привычки гуглить не имеют (а про наличие навыка «гуглить правильно» — вообще молчу), что уж говорить о тренированном уме.

Для отложенных бомб есть код ревью. Слыхали про такое ?

Конечно слыхали — и возвращаемся ко времени решения задачи и обучению начинающих. Толку от кодревью, если задача будет сильно тормозиться просто потому что человек не знает множества подводных камней и особенностей.
Да и для код-ревью нужно достаточное количество специалистов, которые эти бомбы могут видеть в коде.

зараз потрохи вчу JavaScript
...на базі JavaScript можна продуктивно рухатись у напрямку вивчення...
До чого поради вчити ядро/основи, якщо ТС саме цим і займається, а запитує що йому вивчати далі? Давайте я доповню: що має бути в резюме, щоб просто запросили на співбесіду? Що надасть перевагу?
Що надасть перевагу?
по состоянию на сейчас: Angular. Оторвут с руками и ногами.

Занятно, что тролли с «учи core, фреймворки не нужны» имеют столь большую поддержку. Да, знать основы языка хорошо. Да, уметь применять их на практике — еще лучше. Но серьезно, без какого-то опыта с angular 1 (которого у нас на рынке ≈ 80%), или react/redux (который займет свою нишу чуть позже, преследуемый angular 2), что-либо выше джуниорской позиции найти будет проблематично. Учитывая специфику рынка аутсорса, самих джуниор похиций у нас тоже не шибко много.

Да, знать основы языка хорошо необходимо и жизненно важно. Да, уметь применять их на практике — еще лучше тем более необходимо.
У вас там пару опечаток было. Я поправил.

Покажите мне, как вы ежедневно используете генераторы, и моя шляпа у ваших ног, сударь.

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

Что куда ближе к уровню ТС, чем к хорошему знанию core и умению его применять.
Если говорить о собеседованиях, то единственное из основ языка, что попадается — всплытие, и все вопросы по нему снабжены примерами, за которые в реальном проекте руки надо отрывать по локоть. Мерджить такое в мастер — самоубийство. Ну, области видимости еще немного. Всё остальное будет касаться фреймворка, на который человек идет.

.. а уж когда пройдет — стековерфлоу решит любые вопросы по основам, которые могут возникнуть.

это всё до первого серьезного дебага, когда какое-нибудь копирование объекта по ссылке, а не по значению не там где надо запросто съест целый рабочий день такого «специалиста по фреймворкам».

это всё до первого серьезного дебага
Мы все еще про Javascript говорим?

Простите, у меня на всех приборах отмечается зашкаливающий уровень высокомерия и снобизма по отношению к джаваскрипту. Я сливаюсь из треда.

У меня нет высокомерия по отношению к джаваскрипту. Это не вина языка, что его разработали за 1 вечер и по результатам написали спеку, которая спустя 15 лет сделала жизнь миллионов фронтендщиков болью.

не все так плохо как вы думаете.
для своих целей очень эффективный интсрумент

Ну почему же, далеко не самый плохой язык (если не пытаться на нем писать в точности как на Java\C# etc.) .... мне даже стал нравиться, даже придерживаюсь сторонников не использования классов в скрипте (ES2015 хорош и без них ) ... ну а плохо сделать можно на любом языке (где проще, где сложнее) ... то такое

Генератори — основа? Як тоді розробники жили до es6? Це ж лише «сахарок».

То что эта конструкция добавлена недавно, не исключает её из языка. К слову, «Plain old JS» ТС и без подсказок уже учит, о чем он в топике и написал.

ну вот был лидом без знание ангуляра, в том году ушел в другую контору с даунггрейдом на сеньора, на проект полностью написанный на ангуляре, ноя был без реальных знаний ангуляра (только понимания концепции).

не питайте иллюзий

Він звісно загнув з ангуларом, але ж ванілли явно було недостатньо?

ну в основном vanila + общее понимания проектирования систем (паттерны + модели архитектур + умение проектировать системы). если есть последнее, то любой фреймворк изучается очень быстро

Цілком логічно вчити в порядку від загального до детального. Головне, щоб не виникало запитань на зразок: жарт на stackoverflow (зображення).
Взагалі є ще canvas як альтернатива. Проте тут все сумно.

думаю було б дивно коли по версії google, більш трендовим виявився не angular, а скажімо backbone чи react)

вопрос того что больше всего ищут в гугле, а других поисковиков столь популярных и нема

Відмічаю «Порівняти з категорією»: react показує приріст зацікавленості на 186% проти 39% ангулара. А так як ти лише плануєш вивчати, то це важливіший показник: не поспішай з висновками.
Я ось думав, що вивчатиму те, з чим прийдеться працювати. А по факту (повний ігнор) буду опановувати обидва — для загального розвитку. А далі просто що більше сподобається.

обрати внимание на Vue.js, а также на Meteor.js они тоже используют выборочное обновление DOM, В мире много неизведанного, а вокруг реакта пошел временный ажиотаж

По зрозумілим причинам мені якраз і потрібні мейнстрімові речі. Реакт — лише ліба і ніщо не заважатиме мені використовувати її з тим же метеором (на скільки мені відомо, метеор не просто фреймворк, це платформа).

Мода на JS фреймворки изменчива и непредсказуема. Пробовал разное, самый положительный опыт с Backbone.js. В чистом виде у него нет стольких плюшек как в остальном зверинце, но он прост в освоении/понимании и его легко расширять. Для маленького проекта — самое то. Для большого можно использовать разные дополнения или расширять самостоятельно. Предсказуем и гибкий для разных задач.

Но, как уже упоминалось, если работать с js, то нужно его знать. Ни один фреймворк не заменит базы языка. Плюс web api.

Вы почти правы. Отличие, как ни парадоксально, в использовании framework.
И без фундаментальных знаний нужного — будь вы 10 пядей во лбу — вас не возьмут на должность Senior, так как вам все пяди придется познавать за деньги заказчика.

Чувак, учи core. Фреймворки приходят и уходят (только на моей памяти 4 волны было — ExtJS, Backbone, Angular, React), а ядро языка остается.

И щито там учить? 5 страниц печатного текста гарантируют чуваку успешную карьеру?

там проблема. многие эти 5 страниц печатного текста могут запомнить. а вот понять, тут уже намного сложнее, людям надо несколько лет обычно чтобы понять

А шо, Backbone и Angular уже все?

Ну, это с какой стороны посмотреть. У некоторых и GWT еще живее всех живых

Любой фреймворк — это 2-4 недели потраченного на учебу времени для софт старта с первым небольшим проектом. Какая проблема в том, что они приходят и уходят? Вы на свои неработающие велосипеды (нет, я не имею ввиду лично вас) гораздо больше времени тратите. А потом, учить язык программирования без знакомства с лучшими практиками его применения — это, не знаю, как играть в футбол со стеной. Да, прикольно, но зачем? Когда можно с другими ребятами.

Основные фреймворки на рынке это Angular, Ember и React (он только развивается — хайпа много, но работы не так много и как сказал Dmytro Shchurov нужно знать что ты хочеш от реакт что бы получить изящное решение), все остальное не так распространено и соответственно работы очень мало. Ангуляр 1.x гибкий и что бы писать хорошо нужно следовать строким правилам (очень хорошей отправной точкой является Angular Style Guide). Ember, менее распространен чем Angular, но это зрелый фреймворк с полной инфраструктурой. Backbone (и все что построено вокруг него) — было хорошо 3-4 года назад. По поводу JS или Python — в любом языке, в данный момен, хороший специалист будет пользоваться спросом.

Доречі не поганий сайт початківцям для знайомства з технологіями необхідними у веб розробці. www.w3schools.com

Так і є, сам по ньому вивчав основи. Також рекомендую серію книг You don’t know JS, коли на неї натрапив, зрозумів, шо я реально don’t know JS.

От за рекомендацію просто неземне дякую!!!

У него бывают проколы. Если говорить о JS, то MDN сейчас выглядит серьезнее и удобнее всего.

да MDN очень полезен

Заради цікавості зареєструвався на Upwork. Промоніторив ситуацію з frnont-end розробкою, та можу сказати що в середньому на кожну пропозицію від замовників вже за декілька годин назбирується більше десятка пакистано-індусів які пропонують свої послуги по вебу. Куди скромніша ситуація наприклад по Python.

більше десятка пакистано-індусів які пропонують свої послуги
Такая ситуация не только конкретно с фронт ендом, веба, но и с мобайл разработкой, веб бек ендом. И конкурировать с ними в их демпинговой ценовой вилке нереально — всегда найдется жлоб, который купится за “о да, мой господин” за 5$ пучок. А вот если поставить рейт повыше, норм заполнить профиль, и не полениться в портфолио закинуть несколько норм работ, вполне можно работать, тем более что фрилансеры из Украины имеют хорошую репутацию.

дякую, що повідомив
нам важливо це знати

React — специфичный фреймворк. Даже не фреймворк, а библиотека конструирования фронтенда на основе множества компонентов. Оно Вам не нужно. Понятно, что поддерживается модульное расширение, превращающее React в полноценный фреймворк, но это будет такой монстр!!! ФБшники сами пишут в первых строчках: если ты не гугу, тебе реакт не нужен. Не тратьте на него свое время от слова «вообще».
1.х Ангулара Вам хватит еще долгое время. И себе сайт сделать, и пофрилансить, если будет такое желание. При достаточном опыте существующая свобода манипуляций с js приносит больше профита, чем постоянное отвлечение на разбирательство с тем, как блин в вашем TypeScript нужно написать эту штуку, а как — эту. Понятно, что по мере изучения, и TypeScript+Angular будет «отскакивать».
Backbone+Marionette не учите. Не начинайте смешивать вью с контроллером и моделью ))) Это был переходной фреймворк.
PS Я даже больше скажу: пока node.js не будет переписан на TypeScript, 2-й Ангулар будет пробираться не спеша. Не то, чтобы они там сильно связаны были, но JS зоопарк уже всем начинает надоедать конкретно.
PSS Не обратил внимание на язык топискартера, так шо препачте, наступного разу -)

Как Вы себе представляете переписывание nodejs на TypeScript?))

по факту — никто не мешает писать на TypeScript в nodejs...

почитай ваш коментар і так і не зрозумів за що ж все вчити — це не потрібно, те те не вчіть. Здається ви мали на увазі що потрібно вчити лише перший Ангуляр, але не можу з цим погодитися оскільки: 1) варто написати todo app на backbone-і щоб зрозуміти на практиці що таке MVC, для початківця буде дуже корисним. 2) хочемо ми того чи ні але React-у навколо нас стає все більше і ігнорувтаи цього не можна. Оскільки сама бібліотека не така вже й складна то написати декілька компонентів не завадить.
Той чи інший фрейморк в деталях вже краще вчити на постійній роботі. Але потрібно все-таки вибирати між 1xАнгуляром та Ректом.

Реакт — высококачественный продукт с такой же качественной коммьюнити по сравнению с адским ангуляром I и бандой укурышей хипстеров воинствующих на stack overflow через вой которых невозможно пробиться здравому голосу шарящих людей.

Я работаю достаточно давно как фроненд всегда на корпоративных заказчиков, которые дают 95% всего аутсорсинга, и ни разу не видел выбор ReactJS как средства разработки, ангулар рулит в корпоративном секторе

Корпоративные заказчики отдают на аутсорс, когда там «большие белые господа» наигрались, надо суппортить. Че там у нас было, когда «там» начинал расти Angular? — jQuery, underscore, и «прогрессивный» backbone? Ну и отдельные хипстеры, которые могли выбирать какую каку тащить в проект — могли выбрать Angular. Примерно тоже самое с node.js — два-три года назад большой бум принятия ноды «там», теперь поток вакансий здесь. Примерно на том же пути сейчас ReactJS, и где-то вначале пути «наше будущее фсьо» Angular 2(если конечно он не превратится в Perl 6).

На счет 95%, я не уверен. На мой взгляд цифра в 80% — более реальна. Ну а по поводу реакта — его чаще можно встертить в продуктовых компаниях.

Сейчас в корпоративном секторе реакт уже начали активно использовать, по крайней мере я видела уже довольно много проектов с реактом, некоторые просто огромные. Думаю, год-полтора реакт будет еще «взлетать» в популярности, особенно в аутсорсе, т.к. к нам доходит с запозданием))

То есть учить 1.х — это прямой путь к поддержке легаси продукта
Вы очень сильно преувеличиваете.

Для старта нужно этот самый JavaScript выучить, а потом не составит труда определить куда двигаться

Джаваскрипт на 90% учится за неделю при наличие опыта в ООП программировании и / или умении мыслить технически и логически.
Вот собственно и все: developer.mozilla.org/...ntroduction_to_JavaScript
Остальные 10% я отношу к знанию диалектов, поддержке тех или иных фич в разных браузерах и проч. Это можно конечно учить безконечно.

Но понимание чем == отличается от === не поможет вам определиться куда двигаться. Как?

Если было бы так все просто, то наверно за это не платили деньги

Если даже что-то сделать просто, это не значит что этого делать не нужно :)

Абсолютно верно.
А также верно то, что если для кого то это очень сложно то может не надо браться за программирование.

Что просто?

наличие опыта в ООП программировании
или
умении мыслить технически и логически
Если бы или то или то было просто, то мы имели бы программистов больше чем в Индии.
С другой стороны, может быть за само знание JavaScript где то и платят деньги, но это отдельные случаи. Обычно платят за работу требующую знания JavaScript. А также знание DOM, разных систем сборок, фреймворков типа Angular JQuery React. За сам JS может быть платят только преподавателям разных курсов.

Підписатись на коментарі