Обращение к веб-разработчикам, почти веб-разработчикам и тем, кто хочет стать веб-разработчиком:Вы знаете React.js? А Redux.js? Зачем они вообще нужны? Почему я должен их учить? И, что важнее, как вообще их учить? Смотрю в интернете гайды, видео, но все слишком быстро, показывают, что да как делать, но не отвечают на вопрос - зачем? Если вы знаете хорошие книги и статьи по этим технологиям, буду рад их прочитать.Я плохо знаю JavaScript. Вернее, я его вообще не знаю. Я могу писать программы на Java, Python, я могу составлять алгоритмы и расщеплять большую и сложную задачу на элементарные частицы. Нужно ли мне целенаправленно учить JavaScript? Из книг у меня на заметке стоит учебник Ильи Кантора, состоящий из трех томов. Я прочитал пару десятков страниц и считаю его отличным примером учебника по программированию.А теперь менее важное: что за Angular.js и Vue.js? Те же вопросы: зачем их учить, зачем они нужны, что они делают лучше, чем голый JavaScript? Что еще требуют работодатели от фронт-энд разработчика в 2018 году?
Я читал и смотрел много материала по этой теме, но ни один автор не ответил мне на самый важный вопрос - зачем я это делаю? Я уже изучил основные трюки в работе с React Component и State, но все еще не понял, нахуя я все это делал.
Мне нравится JavaScript. Круто то, что на нем создают серверы, CMS, компиляторы, пре- и пост-процессоры, системы управления пакетами, нативные приложения для настольных и мобильных операционных систем и многие другие штуки.
>>177186960Главное процесс, а не результат :3
>>177187168А чему я научусь, если я понятия не имею, что и зачем сделал?(Для ясности: работал в Webpack)
Чтобы одностраничные приложения пилить (Single Page Application, SPA). Гугли плюсы/минусы подхода.Мессенджеры, вроде Slack, Discord, написаны по этому принципу.
https://pastebin.com/PbhEtPAB вот те гайд животворящий
Ну что мне нравится в реакте - так это компоненты. Вместо кучи однотипного говнокода у тебя приятные глазу инкапсулированные шняги.
>>177186960Тебя кто-то заставляет? Не хочешь — не учи.
>>177187693>https://pastebin.com/PbhEtPABЯ это видел. Я и раньше интересовался этими фреймворками (как только увидел запросы работодателей), но, увидев эту пасту, захотелось сильнее.
>>177187924Очевидно, что я хочу ее учить, но не знаю, как и что это вообще.
>>177187800Что помимо инкапсуляции дает React.js? Почему многие вместе с ним используют Redux.js?
>>177186619 (OP)я не программист, но вот первая ссылка с гуглаhttps://habr.com/post/249107/
Суть всех фреймворков: тебе никто не запрещает делать веб-приложения на vanilla js, но оно тебе надо? Это долго дорого и не удобно, нужно заранее думать о поддержки разными браузерами/устройствами, писать полифиллы и фоллбеки. Фреймворки же лишены этих недочётов и дают гарантию работоспособности на всех девайсах и браузерах, что указаны в доках. За поддерживаемость отвечает сам разработчик фреймворка, а это их работа - чтобы продукт был готов к продакшену на любой машине. В фреймворках уже реализованы все фишки js. По типу работы с dom, сохранения состояния, роутинг( если шо за роутинг отвечает HTML history API ) и тд и тп, по-сути являются синтаксическим сахаром к нативным методам, ну и плюс фичи отдельно взятого фреймворка. Прочитал доки реакта, считай готов писать приложения (если уже имеешь представление как работает веб). Хочешь на чистом js - земля пухом.
Сейчас бы фреймворки вместо языка учить. Вот нуфаги. А вообще jq, на хую все ваши ангуляры проворачивал, элементарный синтаксис, огромная мощь в простом $, покрывает все потребности веб разработки.
>>177188623Что, кроме человеческого представления DOM, дает jQuery?
>>177188753А что тебе еще от веба нужно? А так человеческие реализация циклов, промисов, анимаций и тд.
>>177188623Я тоже так думал, но уже поработал считай на каждом фреймворке. И это реально удобно, особо кончаю от vue с их клмпонентами. Ну и скорость по сравнению с jq, конечно.
>>177188837Статическую типизацию, например.
>>177188837Реакт избавляет тебя от необходимости манипулировать домом и позволяет писать компоненты декларативно. Это гораздо удобнее.
>>177186619 (OP)А зачем вообще фреймворки нужны? Зачем все эти спринги с плеями в жаве и джанги с фласками в путоне? Или ты под "знаю язык" подразумеваешь знание исключительно синтаксиса? Если так, то земля тебе пухом, братан. Успехов с YetAnotherMyCalcWithLogV5А вообще вот этот >>177188609 правильно написал. А вот этого >>177188623 не слушай, он говно жрёт да причмокивает.
Бутстрап + жыквера = никакого бугурта.
>>177189227Подразумеваю то, что могу работать с Vanilla JS и запилить SPA с отвратительным кодом
>>177189329В бустрапе не самая удобная сетка. Ебаные сука флексы. неосилятор закукарекал
>>177189491PureCSS.io
>>177188036Документацию почитать не судьба https://redux.js.org/introduction
>>177186619 (OP)>Нужно ли мне целенаправленно учить JavaScript?Примерно настолько же нужно, как целенаправленно учить Delphi. Wasm уже на пороге.
>>177186619 (OP)>Зачем они вообще нужны?Делать SPA.
>>177190756Плевать, что на пороге, пока 1/3 коропоративного сегмента все еще IE юзает. Тут es6 то использовать нельзя.
>>177190756Пока только пощупать. Года так через 3-4 можно будет юзать, я думаю
>>177190756Долбаёб? Каким образом Wasm помешает JSу?
>>177191205Хуууууй знает, пока об этом кукарекают только тут. Вообще не представляю как инструмент, созданный для удобства разработчикам на других языках, чтобы те быстро вкатывались в веб, должен конкурировать с жс
>>177187935так блят ьсуть пасты в том что фреймворки нинужны!
>>177190756Ага, сразу после dart.
>>177186619 (OP)короче, слушай нахуй, вот те кто выше писал про ЖКВЕРИ ПАКРЫВАИТ РАБОТУ С ДОМ - долбоебы, которые сложнее хелоуворлда по копипасте с онлайн курсов не делали.фреймворки под капотом реализуют кучу полезных вещей, освобождая тебя от возможности писать свои велосипеды, которые при разрастании кода повесят к хуям страницу браузера еще на загрузке.компонентный подход - очень удобно, например, по структуре файлов в дереве проекта, проще разобраться что где лежит и что где поправить. использование jsx(react), html template (angular) так же упрощает жизнь, связывая твои модели с dom, чтобы на каждый пук не писать $('селектор-пиздатого-погромиста').......(200 строк колбеков)плюс фреймворки не долбоебами писаны, очень много внимания уделяется оптимизации, делается упор на производительность, shadow dom и все такое (жуквери так не умеет)нахуя нужен redux? эта либа берет на себя управление состоянием приложения, что так же делает код более понятным и структурированным. почитай в общих чертах про паттерн flux, вот redux его реализует с некоторыми отступлениями (кококо redux не flux идит нахуй)если хочешь оставаться опущенкой версталой с зп 10к и создавать треды "как вы получаете 300к/наносек?", то не еби мозг и забуть про реакты ангуляры.
>>177191955анон подскажи, молюмне нужно небольшое задание сделать на реакте вывести таблицу из массива обьектов и дать возможность фильтровать обьекты нажимая на кнопочки как лучше реализовать ?
>>177192313создаешь компонент, у которого в конструкторе инициализируешь this.state = {items: [массив элементов]};создаешь компонент для отображения строки таблицы. в основном компоненте в render в том месте где будешь рисовать строки пишешь {this.state.items.map(item => <RowComponent data={item}/>}на onClick фильтров вешаешь функции обработчики, которые фильтруют массив this.state.items и вызывают this.setState({items: filteredItems})
>>177192478благодарю буду пробовать
>>177192313Можешь посмотреть, как это тут сделано https://material-ui.com/demos/tables/
>>177192670>https://material-ui.com/demos/tables/я еще фильтрую по ебанутому пропускаю через фильтр массив потом если нужно еще один фильтр применить то этот же массив пропускаю еще раз
>>177192820храни значения фильтров в стейте. и фильтруй один раз. тупо делай проверки в коллбеке const newItems = this.state.items.filter(item => проверки);