ТОП 5 фичей Angular. Как Angular превзошел VueJS и ReactJS. История фронта

  Рет қаралды 7,043

Максим Гром

Максим Гром

Күн бұрын

Пікірлер: 74
@Kulibins1
@Kulibins1 2 жыл бұрын
Классное видео 👍Полность поддерживаю, люблю Angular.
@alexzinkevych3596
@alexzinkevych3596 2 жыл бұрын
5:49 Material UI не разрабатывали в гугле. Это библиотека material компонентов для реакта, которую разработала международная команда через open-source. Material Design - это спецификация, разработанная в гугле. Angular Material - это имплементация этой спецификации для ангуляра.
@MrVIPKent
@MrVIPKent Жыл бұрын
Пам'ятаю, як тільки почав вчити ангуляр, думав не осилю :)
@МаксимВеснин-и6э
@МаксимВеснин-и6э 2 жыл бұрын
Angular - Хорошая обратная совместимость! На этом моменте взгрустнули разработчики легаси проектов на AngularJS :) Шутка, конечно Angular 2+ хорошая работа над ошибками. TS + подход фреймворка нежели библиотек (как React и Vue), из коробки вся инфраструктура, в том числе DI, что очень важно. Гугл молоды, тут сложно спорить. Что бы хейтеры не говорили, но сделать такой продукт и отдать его пользователя "задарма" это дорогого стоит
@grommaks
@grommaks 2 жыл бұрын
Привет всем, если Вы пропустили прошлое видео, то обязательно посмотрите его пока ждете этот выпуск :) kzbin.info/www/bejne/f6PInYWMn66nqqM В этом выпуске вас ждет история развития фронтенда и как ангулар стал тем чем он есть. И в этом видео я даю топ 5 список того, что нужно хорошо знать и понимать в Angular, чтобы решать свои задачи качественно
@АртёмПиврик
@АртёмПиврик 2 жыл бұрын
Круть, ещё больше Angular
@derek_james
@derek_james 2 жыл бұрын
Очень познавательный видос, спасибо за полную картину сабжа благодаря углублению в историю!
@otto-vector
@otto-vector 2 жыл бұрын
Я верю в тебя. Углубляй контент дальше. Скоро я дорасту до Angular, когда надоест ползать в кустах реакта и отсмотрю весь твой контент :) Желаю больше подписчиков и просмотров
@grommaks
@grommaks 2 жыл бұрын
Договорились)
@realfootball338
@realfootball338 2 жыл бұрын
Та ну, в реакте своя инфраструктура, там тож не плохо, минус правда что все на библиотеках и каждый проект это новая вселенная.
@dmytromedynskyi6179
@dmytromedynskyi6179 2 жыл бұрын
Классное видео! Жалко что мало норм контента по Ангулар в ру сегменте, спасибо что поправляешь это!
@grommaks
@grommaks 2 жыл бұрын
Спасибо за отзыв, работаю над этим)
@realfootball338
@realfootball338 2 жыл бұрын
Та в ру и по реакту не особо)) хорошие русскоговорящие инженеры если пишут книгу или туториал видео то на английском чтоб просмотров больше было
@dmytromedynskyi6179
@dmytromedynskyi6179 2 жыл бұрын
@@realfootball338 по реакту больше контента на 4 из 5. Кого по реакту могу посоветовать, то только kzbin.info ,он заслуженные 5 из 5
@realfootball338
@realfootball338 2 жыл бұрын
@@dmytromedynskyi6179 для новичков однозначно айти камасутра, я вообще друзьям которые новички в ИТ советую идти в реакт, там меньше магии и хоть идет какое то развитие и из реакта проще на бек свалить. А Angular как первая технология это ужас. Под капотом фич ангуляра сплошные слои абстракций, поверх ангуляра, cdk, ivy там тупо ничего не понять если не вариться в теме года, а в реакте щелкнул npm пакет либы а она написана поверх двух простых либ и собственно голого браузера - все ясно и понятно.
@dmytromedynskyi6179
@dmytromedynskyi6179 2 жыл бұрын
@@realfootball338 в этом и обратная сторона, очень много людей хотят войти в айти через реакт. И я был в их числе. Долго не мог найти работу джуном, а в ангулярехоть и вакансий мало, зато и конкуренции нет. С реакта на бекенд проще свалить когда бэкенд на экспресс, пхп или недай бог питон. NestJs и яп типо джавы и с# будут скорее как черная магия. А после ангуляра мне Нест зашёл, увидел видос о несте за час, после денёк документации и отлично на несте кодил. Если бы учил нест когда юзал реакт, то скорее всего сказал бы что г не понятное, напишу ка на экспресс ;)
@ОлександрГерасименко-ы8х
@ОлександрГерасименко-ы8х 2 жыл бұрын
Максим, отличное видео, супер канал.
@RageBerry_
@RageBerry_ 2 жыл бұрын
Люблю этот канал и ангуляр)
@nouchance
@nouchance 2 жыл бұрын
Angular это как комбайн :D Спасибо Максим
@bromptonhorsing8597
@bromptonhorsing8597 2 жыл бұрын
Лучше бы ангуляр превзошел реакт по возможностям hot module reload и типизацию форм допилили бы, а то только обещания по future и все. Больше 6 лет уже без поддержки form types из коробки :/
@grommaks
@grommaks 2 жыл бұрын
Плозо знаком с проблемами о которых говорится в комменте Hot Module Reload в первой же ссылке боль того что оно еще не работало нормально в 2019 году, как дела сейчас обстоят? Фича которая работает на половину требует доп усилий чтобы понимать когда ее использовать, а когда нет form types, не нашел нормальной инфы ни у react ни у angular что это и кто это и кому обещал
@bromptonhorsing8597
@bromptonhorsing8597 2 жыл бұрын
@@grommaks form types - это поддержка типизации для форм ангуляровских (@angular/form), до сих пор нет, приходится явно использовать type assertion. А это не очень хорошо и в тимплейте подсказок все равно нет. > как обстоят дела сейчас так же. Команда ангуляра занимается аутизмом вместо реально полезных и практических задач. Ну естественно, ведь про добавление типизации для форм на конференции потом не засветишься.
@grommaks
@grommaks 2 жыл бұрын
@@bromptonhorsing8597 > как обстоят дела сейчас Я про реакт) я писал что про реакт небыло норм рабочего функционала. > А это не очень хорошо и в тимплейте подсказок все равно нет В каком редакторе работаете? Пока не испытывал боли при работе с формами, может пример есть?
@Brinzovik
@Brinzovik 2 жыл бұрын
спасибо!
@nexgenua
@nexgenua 2 жыл бұрын
Постер топ :) п.с. пол видео смотрел на жёлтую точку справа вверху -_*
@grommaks
@grommaks 2 жыл бұрын
Хорошее замечание...буду внимательнее в следующий раз при монтаже
@grommaks
@grommaks 2 жыл бұрын
Оказывается это новая фича MacOS...таким образом MacOS показывает, что идет запись звука на ПК. Убрать это невозможно.
@user-san-chous
@user-san-chous 2 жыл бұрын
Это в чем и когда Angular превзошел Реакт?) Жду премьеру. Почему-то думал сразу, что это будет стрим)
@grommaks
@grommaks 2 жыл бұрын
Это вводное видео к курсу, там будет более давняя история и список технологий и подходов которые, по моему мнению являются сильной стороной angular, по сравнению с двумя другими Лишняя порция мотивации к изучению) надеюсь не демотивации :)
@Kulibins1
@Kulibins1 2 жыл бұрын
Думаю почти во всем 😉
@user-san-chous
@user-san-chous 2 жыл бұрын
@@Kulibins1 помимо уровня и вакансий на рынке и популярности)
@Kulibins1
@Kulibins1 2 жыл бұрын
@@user-san-chous вот и ответ 😋
@dmytromedynskyi6179
@dmytromedynskyi6179 2 жыл бұрын
В принципе этими фитчами что описанны в видео. Ангуляр воспринимается новичками как что-то большое и страшное, а отличии от реакта, который стал популярен тем что его можно быстро выучить и в бой. Проблема в том, что реакта знать мало, нужно выучить минимум ещё редакс, форм валидатор и ТД. А это в сумме и будет тот же объем обучения что и ангуляр. Проблема в том что в ангуляре это все с коробки, а в реакте зоопарк этих библиотек. Я это все знаю не по наслышке, сам с реакта начинал.
@iromashko
@iromashko 2 жыл бұрын
Возможно в Ангуляре и не всё сделано идеально, но однозначно у него отличный подход к созданию фреймворков. А ведер с болтами в разработке и так хватает.
@grommaks
@grommaks 2 жыл бұрын
Идеального ничего нет) И часто то что кажется не идеальным, оказывается просто не работает в чужой парадигме Яркий пример PHP и .NET .NET пропитан о том как не создать новый процесс, PHP весь построен на новых процессах... Оказывается В винде процесс это дорого, в линуксе это очень дешево... PHP в винде создает безопасные потоки, а не процессы. В интернете еще можно найти кучу холиваров на тему потоков и процессов, без контекста использования винды или линукса :) что не имеет вообще смысла. Так и многие технологии в реакт или ангулар, когда используют редакс без иммутабельности в ангулар, то делают очень плохо Вот я и хочу дать более широкую и комплесную инфу в своих будущих видосах) и одновременно доступную для начинающих
@iromashko
@iromashko 2 жыл бұрын
​@@grommaks Когда передо мной стоял выбор фреймворка, заметил что больше всего против Ангуляра кричат те кто им не пользуется, а те кто его хорошо знают, очень даже хвалят. Его плюсы являются его же минусами, как говорят классики "большие возможности - большая ответственность")) не каждому разработчику нужна большая ответственность, многим нужно просто сделать что-то и идти дальше.
@grommaks
@grommaks 2 жыл бұрын
​@@iromashko согласен 100% со всем)
@acd2377
@acd2377 2 жыл бұрын
@@iromashko Смотря что подразумевать под ответственностью. Мне кажется, ангуляр наоборот как будто говорит: "не беспокойся, мужик. вот тебе готовая архитектура, вот тебе все необходимые инструменты. просто делай свою роботу, а обо всем остальном я позабочусь сам. расслабся и получай удовольствие."
@iromashko
@iromashko 2 жыл бұрын
@@acd2377 даже если тебе дали ящик с блестящими инструментами, ты всё равно должен знать как ими пользоваться и ты же отвечаешь за результат работы и его качество
@romankotenko7
@romankotenko7 2 жыл бұрын
Кто-то помнится утверждал что в Реакт есть di)) Или я ошибаюсь?
@grommaks
@grommaks 2 жыл бұрын
Может мог такое ляпнуть) Там внедрение зависимостей происходит через пропсы, а пропсы можно прокидывать разными способами. Через HOC, через Context или установить пакет для DI Но по функциональности это немного не то и требует гибридизации подхода с официальных. И новички к такому с трудом придут, а если увидят на проекте такое, то жизнь их станет сложнее чем с Ангуларом)
@realfootball338
@realfootball338 2 жыл бұрын
Я кстати писал функционально в NG без проблем используя ramda. Правда ФП хорошо встраивается в редюссери и селекторы NGRX но в проекте на NGRX вся логика фактический в редюсерах и селекторах. То есть это не принципиально думаю что компоненты и сервисы будут классами. В реакте еще по лучше с этим там можно ФП компоненты прямо встраивать в функцию пайп и функциональность практический на 100% - правда не знаю какой от этого профит.
@grommaks
@grommaks 2 жыл бұрын
Мне стало казаться последнее время, что NGRX в подходах Redux сильно ограничивает angular. Местами стал подмешивать сервисы, как это делает ngrx/data...но только свои, полиморфные...это когда одно хранилище отвечает за несколько клиентов...все таблицы сайта хранятся в одной сторе, а сервис выполняет роль фасада над этим хранилищем. Понравился такой подход, очень лакончен и гибкий...и не нужно писать много лишнего шаблонного кода...но еще откатываю подход на этапе поддержки такого кода
@realfootball338
@realfootball338 2 жыл бұрын
@@grommaks я вообще за отказ от ngrx есть ведь ngxs и akita. Но там нужно все по другому делать чтоб не наделать макаронов хуже чем без применения стора. Минус ООП сторов в том что много инжекшенов так как сторы дробленые. С Акитой я думаю правильно будет разделить сторы на два типа шаред и не шаред(которые от модулей) и запретить разработчикам индектить не шаред кроме как в своем модулк, остальные пометить как шаред даже в названи. Типа sharedAuthQuery/sharedAuthQctions/State.
@realfootball338
@realfootball338 2 жыл бұрын
@@grommaks а имутабельность стора вообще никак не вписывается в императивное программирование, просто мутабельные операции должны быть в отдельных методах с красивым названием что оно делает, и стараться не изменять одни и те же поля из различных методов, еще лучше это сделать экшенами. Производительность будет только лучше, чем если бы перезатирать весь стор на каждый чих
@realfootball338
@realfootball338 2 жыл бұрын
Я за год разработки на ngrx в ФП стиле с рамдой так и не понял прелести имутабельности стора, ФП, и ngrx вцелом. Проэкт был очень крупным, да еще было разделение сторов на случай запуска гибридки на моб iOS/Android или веб. То есть на мелком проекте понятное дело ngrx это лишняя писанина, на крупном у нас был доступ ко всем данным из каждого из ста модулей при инжекте одного стора и передачи ему селектора. Что удобно, но я думаю что с акитой было бы не хуже.
@grommaks
@grommaks 2 жыл бұрын
@@realfootball338 иммутабельность в работе мне нравится, считаю что это сильная сторона JS :) сервисы фасады они не для того, чтобы внести мутабельность в стору, а для того, чтобы инкапсулировать логику общего хранилища и не вынуждать постоянно дублировать описание хранилища для однотипных стор...как это делает ngrx/data
@SergioUkrAr
@SergioUkrAr 2 жыл бұрын
Супер, спасибо, я тоже поклоник Ангуляр, а вот имею вопрос насчет анимации Ангуляр стоит ли ее знать?, или же css может справится со всем необходимым для анимации?.
@grommaks
@grommaks 2 жыл бұрын
Анимации ангулар как минимум могут быть добавлены к процессу навигации На практике не использовал анимацию ангулар для чего либо другого, но часто не использую потому что еще не разобрался) Вывод, для большинства сайтов достаточно чисто css. Для специфичных проектов со сложной анимацией будет полезным
@dmytromedynskyi6179
@dmytromedynskyi6179 2 жыл бұрын
@@grommaks поддержую. Ангуляр анимации часто полезны там где показуем элементы через нгИф. Правда давно не юзал ангуляр анимацию, но стоит о ней знать
@realfootball338
@realfootball338 2 жыл бұрын
Мощная штука анимации NG и ими владеть лучше чем через изменения класса что то делать. Все что есть в ангуляре лучше задействовать по максимуму, и при этом соблюдать принципы SOLID нужно всегда. Каждый день будут ситуации когда можно их нарушить
@SergioUkrAr
@SergioUkrAr 2 жыл бұрын
@@realfootball338 Спасибо за совет)
@LRXAORLOV
@LRXAORLOV 2 жыл бұрын
А где команда react навязывала flow ?
@grommaks
@grommaks 2 жыл бұрын
У меня реакт === Климов, вот он навязывал его агрессивно Возможно не только он его продвигал в массы, было уйма докладов на тему как использовать Flow и почему он лучше TS... фраза о навязывании - на субъективном ощущении, не на объектинвых фактах
@indigosay
@indigosay 2 жыл бұрын
Экосистема меньше Реакта значительно, говорят)
@grommaks
@grommaks 2 жыл бұрын
Есть такое дело, comunity фреймворк должно написать на база реакт. Angular из коробки или из официальных пакетов перекрывает все наработки комьюнити и работает стабильно даже при обновлениях
@mykhailosmirnov
@mykhailosmirnov 2 жыл бұрын
Достаточно поверхностно прошёлся по фичам, в частности по rxjs и DI и в итоге складывается ощущение что у тебя нету большого опыта в разработке. Хотелось бы больше историй уникального опыта, если он конечно есть
@grommaks
@grommaks 2 жыл бұрын
Хронометраж не резиновый) зачем уникальный опыт если нужны хорошие знания фреймворка?)
@mykhailosmirnov
@mykhailosmirnov 2 жыл бұрын
@@grommaks согласен, предполагаю что тема видео «обо всем и ничего конкретного». В целом, я понимаю, что это лишь мои ожидание увидеть на канале уникальный контент по ангуляру, но сейчас он не отличается от сухой документации. Очень мало годного контента в ютубе по Ангуляру, будет круто если здесь его можно будет найти.
@grommaks
@grommaks 2 жыл бұрын
@@mykhailosmirnov На канале более 100 видео, и более 70 из них по агулар...есть более менее уникальные решения в джедай веб разработки, или анализ фичи, как DI в Angular, а есть еще SOLID на примере angular, что не является документацией, а мои выкладки Этот курс нацелен на новичков и бэкендеров которым приходится работать с angular, или на джунов и мидлов которым нужно овежить свои знания и узнать немного новой информации для них
@ИгорьШироков-ц1т
@ИгорьШироков-ц1т 2 жыл бұрын
релиз jquery был в январе 2006 года. ООП в Ангуляре реализовано криво (простой пример : при наследовании от компонента нельзя унаследовать его теймплейт)
@grommaks
@grommaks 2 жыл бұрын
Спасибо за дополнение Проверил, действительно в августе 2006 года...верил что в 2008 году) Так можно сослаться на тот же файл темплейта...темплейт это не часть класса ангулар. ООП реализован в контексте фронта. И есть отдельное мнение по поводу наследования, что оно нужно никогда, кроме когда пытаемся реализовать API & SPI, и то, сейчас даже в этом случае наследование не используется. (это я про наследование сервисов). Остается наследование актуально лишь для однотипных моделей по типу DTO...
@ИгорьШироков-ц1т
@ИгорьШироков-ц1т 2 жыл бұрын
@@grommaks я с тобой не согласен , что значит наследование не нужно ? если оно не нужно тогда смысл говорить про ООП , за одним и полиморфизм потеряешь . Если я правильно понял слово "сослаться на тот же файл" , насколько я понимаю ты предлагаешь в декораторе templateUrl писать путь до шаблона , самое худшее решение
@grommaks
@grommaks 2 жыл бұрын
@@ИгорьШироков-ц1т Если нужно переиспользовать шаблон другого класса, то указать путь к нему. Но как я и говорил что наследовать, а темболее наследовать компоненты это не очень затея ООП это о композиции и агрегации, а не о наследовании. Наследование только и нужно для обеспечении полиморфизма, и то в редких случаях. Имплементация интерфейса используется для этого. Функционал переиспользуется за счет композиции, как я и говорил ранее, DI в помощь Наследование показывает себя плохо при необходимости расширения функционала. И наличие цепочки из 10+ цепочки наследования это типичное не правильное использование наследования. Но есть фреймворки которые базируются на наследовании. В ангулар наследование практически не нужно, как и реакт...во вью через миксины делается "наследование"... P.S. все относится к наследованию классов, а не наследованию интерфейсов
@ИгорьШироков-ц1т
@ИгорьШироков-ц1т 2 жыл бұрын
@@grommaks композиции и агрегации очень хорошо живут и в функциональном программирование . Я тебе про Фому , а ты мне про Ерему . Ну наверное ты какое своё ООП изобрел , и еще момент , если ты активно используешь RXJS в своем приложении , то как вообще можно заикаться об ООП в Ангуляре , это библиотека функционального программирования (ты жестко привязываешься к структуре данных)
@grommaks
@grommaks 2 жыл бұрын
@@ИгорьШироков-ц1т RxJS это паттерн Observable. И передав Observable как результат метода, interseptor может вносить свои правки. RxJS хорошо сочетается и с той и с той парадигмой. Не свой ООП изобрел, а декларирую современное отношение к расширяемым системам на ООП языках программирования Но пожалуй не стоит продолжать рассуждение, это холиварная тема и сильно привязана к тому какую архитектуру закладывают архитекторы проекта...
@realfootball338
@realfootball338 2 жыл бұрын
6:25 - Ибо Они зачастую даже не учат NG и им даже не предоставляется на это время. С такими даже дня лучше не работать на одном проекте.
@grommaks
@grommaks 2 жыл бұрын
По поводу времени, даже если дадут время, то многие учить не будут...а есть такие кто будут учить самостоятельно, даже если время не выделить... Если человек не хочет углубляться в JS, то лучше его не насиловать 😄
@slavkapiyavka
@slavkapiyavka 2 жыл бұрын
От многих разрабов слышал, мол, Angular это говна, на нём никто не пишёт и вообще он умирает. И чем больше я слышу про сравнение Angular с React / Vue, тем меньше людей могут привести какие-либо аргументы своим плевкам в сторону angular %) Я думаю что разрабы в начале попробовали angularJS, поплевались с него и переехали на react, а молва про "плохой angular" пошла и идёт до сих. И вот те люди что пробовали только angularJS так и остались с негативным мнением, вбрасывая его в массы тем, кто сейчас просто повторяет как попугай "angular плохой, angular фу", но аргументировать это не может. По факту же - Angular очень вырос и развивается семимильными шагами. Из плюсов могу выделить модульность, огромные возможности кастомизации, а ещё то, что он из коробки содержит в себе все библиотеки, что остальные тащат каждый раз по новому в свои пустые react проекты - тс, роутинг, библиотеки, реактивность. Нужно больше контента по angular! :)
@grommaks
@grommaks 2 жыл бұрын
На 100% поддерживаю
@oleksandrvoron_ko580
@oleksandrvoron_ko580 Жыл бұрын
Я спочатку пробував Реакт як самий модний і популярний але так сталося, що почав вчити Ангуляр і зараз розумію, що роблю правильно! Згідний з тобою, що всі хто критикував раніше, можливо мали досвід з Ангуляр 1.0. І дальше пішло поїхали стереотипи розробників, що 2.0 такий же )
@slavkapiyavka
@slavkapiyavka Жыл бұрын
@@oleksandrvoron_ko580 желаю удачи в изучении angular :) И большое спасибо Максиму что записал столько драгоценных видео по angular. Могу уверенно сказать что его видео для меня одни из самых полезных.
@ВаноВано-л6р
@ВаноВано-л6р 2 жыл бұрын
палишь контору...
Как работает WEB. Место и задачи Angular на Frontend.
17:18
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 7 МЛН
She's very CREATIVE💡💦 #camping #survival #bushcraft #outdoors #lifehack
00:26
小天使和小丑太会演了!#小丑#天使#家庭#搞笑
00:25
家庭搞笑日记
Рет қаралды 44 МЛН
The selfish The Joker was taught a lesson by Officer Rabbit. #funny #supersiblings
00:12
ngOnChanges vs ngDoCheck. ChangeDetectionStrategy OnPush в Angular
18:49
Максим Гром
Рет қаралды 9 М.
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 7 МЛН