LINUX.ORG.RU

Шаблоны, директивы, MVC, гов^W двухсторонний биндинг, фильтры, фабрики и иже с ними, модульность, тестирование.

orm-i-auga ★★★★★ ()

чтобы не генерировать весь html из жабоскрипта

waker ★★★★★ ()

Через 2-3 года ангуляр, реакт и вуе будут, тряся песком, пыжиться: «мы тоже вебкомпоненты! Оберни нас в customElements.define() и даже не узнаешь, что внутри shadowDOM скрывается virtualDOM!»

makoven ★★★★★ ()

Чтобы избежать js лапши. Я юзал в связке с ts, очень понравилось.

anonymous ()

Да, не нужен. Есть нормальный Vue.

resurtm ★★★ ()

Become_a_Ninja_with_Angular(v1.8)-2017.pdf

sqq ()
Ответ на: комментарий от Deleted

Не знаю как второй и последующие версии, а основная фича оригинального была именно в MVC и двухстороннем биндинге, что в итоге позволяет практически полностью отказаться от прямого ручного манипулирования DOM. Вообще, хорошо это или плохо, но разработчики, похоже, хотели сделать именно фреймворк, и в итоге в ангуляре есть практически всё, чтобы делать приложение только на нём, расширяя его модулями, при необходимости, и особо не используя никаких других библиотек.

orm-i-auga ★★★★★ ()
Последнее исправление: orm-i-auga (всего исправлений: 1)
Ответ на: комментарий от orm-i-auga

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

Я писал проект средних размеров с первым ангуляром, мне показалось, что там из MVC только «V» и «С». Моделей ведь там нет в нормальном виде, только то, что приходит по REST-API.

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

Deleted ()
Ответ на: комментарий от Deleted

А, в этом плане. Возможно, как раз этот bidirectional binding и вносит путаницу, оставляю контроллеру лишь функцию бизнес логики без прямого связывания пользовательского ввода с моделью, как это происходит в обычном MVC. Фактически, наверное, можно считать всё содержимое $scope моделью. А уж «бэкенд», откуда читается эта модель и куда персистится, будь то REST-API или ещё что-то, другой вопрос. По-хорошему за это должны отвечать фабрики и сервисы, оставляя контроллеру лишь реализацию логики.

По поводу react - тоже хотел как-то перейти на него, но в итоге пришёл к выводу что это лишь библиотека для уровня представления. То есть многое из того, что есть в том же ангуляре (в котором view это лишь его часть), там надо реализовывать вручную. Да и отвыкнув от прямого манипулирования DOM-ом уже не хочется к этому возвращаться.

orm-i-auga ★★★★★ ()
Ответ на: комментарий от orm-i-auga

На счет React'a - в общем то, я с тобой согласен, что это лишь либа (по этому только реакт ни кто и не юзает), но один момент не понял - что ты имеешь ввиду под прямым манипулированием DOM'ом?

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

П.С. Возможно, я не очень внятно сформулировал мысли...

Deleted ()
Ответ на: комментарий от Deleted

Я имел в виду, что если, например, открыть первый же hello world по react, там третья строка это поиск в DOM-дереве document.getElementById. Тогда как имея локальный контекст в виде $scope в ангуляре делать там подобное практически не приходится никогда. Не всегда, конечно, охота завязываться на такой довольно большой фреймворк, в последнем проекте после долгих споров вообще отказались и от ангуляра и от реакта.

orm-i-auga ★★★★★ ()

Когда с backend'а прилетают только данные (скажем, в формате JSON), то тебе нужно строить всю логику отображения на клиенте.

И тут у тебя выбор.
1. Ты пишешь HTML, скрываешь элементы (например, через CSS), затем проверяешь данные от бэка и с помощью JS показываешь нужные тебе элементы страницы.
2.Ты просто используешь какой-нибудь JS-фреймворк, который предоставляет тебе наружу всякие рычаги. Дёргаешь за них и получаешь результат.

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

blackst0ne ★★★★★ ()
Ответ на: комментарий от makoven

Твои вебкомпоненты взлетят с такой же вероятностью, с какой всё кругом захватят canvas only приложения.

RedJohn ()

Зачем нужен angular?

Затем, чтобы каждый год мигрировать на новую несовместимую версию.

onetoomany ()
Ответ на: комментарий от Deleted

Немного нетак. У меня rest и модель данных в базе отличаются от модели в ангуляре, например. Может, это пдохо, но в базе модель хранения данных, а в браузере - модель юзера-чайника (и костылей к нечеловечности жс).

Shadow ★★★★★ ()
Ответ на: комментарий от orm-i-auga

По поводу react - тоже хотел как-то перейти на него
Да и отвыкнув от прямого манипулирования DOM-ом уже не хочется к этому возвращаться.

В Реакте не требуется манипулировать DOM-ом напрямую, это декларативная библиотека, императивщина в ней не одобряется.

slmgc ()
Ответ на: комментарий от orm-i-auga

открыть первый же hello world по react, там третья строка это поиск в DOM-дереве document.getElementById

Это же для монтирования реакт-приложения на страницу. В ангуляре этим занимается бутстраппер.

static_lab ★★★★★ ()
Ответ на: комментарий от Deleted

Я писал проект средних размеров с первым ангуляром, мне показалось, что там из MVC только «V» и «С». Моделей ведь там нет в нормальном виде, только то, что приходит по REST-API.

Потому что в ангуляре MVVM, а не MVC.

static_lab ★★★★★ ()
Ответ на: комментарий от static_lab

Потому что в ангуляре MVVM, а не MVC.

Я правильно понимаю, что ViewModel - это $scope?

Deleted ()
Ответ на: комментарий от Deleted

Типк того. Кстати, надо использовать controller as синтаксис по многим причинам.

nikolnik ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.