Создали бы компонент для этого и в нем обратились бы на добавление к openLayers?

|
oligarhe 2022-06-27 16:10:27
Как бы вы написали след.код в стиле ангуляр?
Код создает кнопку и добавляет на страницу?

var button = document.createElement(‘button’);
button.innerHTML = ‘N’;

var handleRotateNorth = function(e) {
map.getView().setRotation(0);
};

button.addEventListener(‘click’, handleRotateNorth, false);

var element = document.createElement(‘div’);
element.className = ‘rotate-north ol-unselectable ol-control’;
element.appendChild(button);

var RotateNorthControl = new ol.control.Control({
element: element
});
map.addControl(RotateNorthControl);

Создали бы компонент для этого и в нем обратились бы на добавление к openLayers?

Rommaniel 2022-06-27 16:10:35
и на проекте в одной команде может быть программист хорошо владеющий вёрсткой, а другой хорошо владеющий тайпскриптом и они могут работать параллельно.
mrDoode 2022-06-27 16:28:25
Короче парни переписываем резюме, мы тут все фуллстеки, если смотреть под определенным углом
Rommaniel 2022-06-27 16:31:05
mrDoode 2022-06-27 16:28:25
Короче парни переписываем резюме, мы тут все фуллстеки, если смотреть под определенным углом

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

definitelyfakename 2022-06-27 16:31:30
mrDoode 2022-06-27 16:28:25
Короче парни переписываем резюме, мы тут все фуллстеки, если смотреть под определенным углом

под определенным углом — это все должны смотреть на нас снизу вверх

Rommaniel 2022-06-27 16:32:53
Ангуляр прекрасен. Его делали инженеры с высоким уровнем знаний и опыта…
saidov 2022-06-27 16:33:08
mrDoode 2022-06-27 16:28:25
Короче парни переписываем резюме, мы тут все фуллстеки, если смотреть под определенным углом

angular_ru-568929.jpg

ichursin 2022-06-27 16:36:20
Rommaniel 2022-06-27 16:32:53
Ангуляр прекрасен. Его делали инженеры с высоким уровнем знаний и опыта…

есть куча мест, где angular ужасен

xoxol4uk22 2022-06-27 16:36:42
angular_ru-568931.jpg
подскажите, пожалуйста, что я тут не так делаю с рендерер 2, почему не могу дать стиль left и top?
они просто не применяются (их нет в хтмл)

А если пишу background, то работает нор

уже понял — единицы измерения((

Rommaniel 2022-06-27 16:36:54
ichursin 2022-06-27 16:36:20
есть куча мест, где angular ужасен

Есть ли ему замена в тех местах?

ichursin 2022-06-27 16:37:00
Rommaniel 2022-06-27 16:36:54
Есть ли ему замена в тех местах?

конечно

mrDoode 2022-06-27 16:37:05
saidov 2022-06-27 16:33:08

angular_ru-568934.jpg

ichursin 2022-06-27 16:37:10
React / Vue
Rommaniel 2022-06-27 16:37:29
ichursin 2022-06-27 16:37:10
React / Vue

Но это библиотеки, а не полные фреймворки.

ichursin 2022-06-27 16:38:01
Rommaniel 2022-06-27 16:37:29
Но это библиотеки, а не полные фреймворки.

и тем не менее, есть куча мест, где они лучше применяются

kalita_kseniya 2022-06-27 16:39:01
всем привет! Может быть, кто-то деплоил ангуляровское приложение с i18n на Azure? Не находит файлы локализации и выкидывает 404. Буду рада любым советам и ссылкам
dopusteam 2022-06-27 16:41:32
ichursin 2022-06-27 16:36:20
есть куча мест, где angular ужасен

Например?

ichursin 2022-06-27 16:42:23
dopusteam 2022-06-27 16:41:32
Например?

если нужно очень много динамически создавать компоненты, by design — это тихий ужас, плюс Input декораторы сразу идут лесом

нельзя сделать работу с fetch стримами (потому что http client в такое не умеет, от слова совсем)

ichursin 2022-06-27 16:42:49
Это если чисто технические вещи рассматривать
ichursin 2022-06-27 16:45:32
из личного опыта — у меня была таблица с пациентами, которая может динамически настраиваться в зависимости от конкретных настроек клиники и… сами иконки еще для отображения динамически настраиваются в зависимости от состояния

На angular писать подобное доставляло отдельную боль (хотя тот же лис сделал Либу, которая отчасти прилично сглаживает боль)

ichursin 2022-06-27 16:46:16
и тем не менее, имхо, но динамические компоненты в angular — это скорее жопаболь
thekiba 2022-06-27 16:47:49
ichursin 2022-06-27 16:46:16
и тем не менее, имхо, но динамические компоненты в angular — это скорее жопаболь

поэтому и есть ngxd, который снимает всю боль с динамических компонентов https://github.com/indigosoft/ngxd

ichursin 2022-06-27 16:47:58
thekiba 2022-06-27 16:47:49
поэтому и есть ngxd, который снимает всю боль с динамических компонентов https://github.com/indigosoft/ngxd

я про эту либу и говорю 🙂

ichursin 2022-06-27 16:48:19
Но опять же таки — это либа, а хочется нормальной и вменяемой работой с динамически штуками из коробки
ichursin 2022-06-27 16:48:30
в React такой проблемы нет 🙂
thekiba 2022-06-27 16:48:34
ichursin 2022-06-27 16:47:58
я про эту либу и говорю 🙂

читаю между строк

вижу “динамические компоненты” и “боль” в одном предложении, отправляю ссылку на ngxd)

waterplea 2022-06-27 16:49:54
xoxol4uk22 2022-06-27 16:36:42
подскажите, пожалуйста, что я тут не так делаю с рендерер 2, почему не могу дать стиль left и top?
они просто не применяются (их нет в хтмл)

А если пишу background, то работает нор

уже понял — единицы измерения((

Советую переписать на геттер с хост байндингом, там можно и единицы измерения докинуть в декораторе 😉

zigzag_ua 2022-06-27 16:55:26
@SergeiVakhrushev Я понял как надо делать. MatDialogModule работает так, что если прописать его в AppModule, а потом использовать в дочерних модулях, то при вызове модалки будет использоваться рутовый контекст, но если импортнуть MatDialogModule из чилда, то у него будет свой инстанс сервиса, и не будет проблем с импортами. Соответственно когда наследуешь MatDialog надо делать через providers модуля и использовать также как MatDialog, импортируя модуль, там где рутовый контекст не подходит.
Rommaniel 2022-06-27 16:57:42
thekiba 2022-06-27 16:48:34
читаю между строк

вижу “динамические компоненты” и “боль” в одном предложении, отправляю ссылку на ngxd)

Можно ли обойтись статикой, но с использованием «*ngif» ?

Rommaniel 2022-06-27 16:59:13
Вот автор указанной вами библиотеки показывает как можно использовать динамику:
class AppComponent {
ngOnChanges(changes: SimpleChanges): void {
if (‘type’ in changes) {
switch (this.type) {
case ‘number’:
this.component = NumberComponent;
break;
case ‘text’:
this.component = TextComponent;
break;
default:
this.component = DefaultComponent;
}
}
}
}

Но возможно можно использовать статику, если использовать в связке с ngif

dopusteam 2022-06-27 16:59:20
ichursin 2022-06-27 16:48:19
Но опять же таки — это либа, а хочется нормальной и вменяемой работой с динамически штуками из коробки

Ну так в реакте вообще нихера нет, т.к. это либа, значит, судя по этой логике, он ещё хуже 🤔

thekiba 2022-06-27 16:59:23
Rommaniel 2022-06-27 16:57:42
Можно ли обойтись статикой, но с использованием «*ngif» ?

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

thekiba 2022-06-27 17:00:21
На каждый *ngIf создается DOM нода со своим обработчиком в виде директивы, view и остальных сопустсвующих элементов. Все это будет перегружать браузер по CPU и по памяти.
ichursin 2022-06-27 17:00:27
dopusteam 2022-06-27 16:59:20
Ну так в реакте вообще нихера нет, т.к. это либа, значит, судя по этой логике, он ещё хуже 🤔

нет, в react изначально такой проблемы нет, там можно строить ui любой сложности и динамичности

ichursin 2022-06-27 17:00:51
thekiba 2022-06-27 17:00:21
На каждый *ngIf создается DOM нода со своим обработчиком в виде директивы, view и остальных сопустсвующих элементов. Все это будет перегружать браузер по CPU и по памяти.

еще и дестрой нод будет весело влиять на производительность в целом 🙂

dopusteam 2022-06-27 17:01:21
ichursin 2022-06-27 17:00:27
нет, в react изначально такой проблемы нет, там можно строить ui любой сложности и динамичности

Да, только там кроме ui нихера нельзя делать без либ других

Rommaniel 2022-06-27 17:01:43
thekiba 2022-06-27 16:59:23
Можно, но это решение будет требовательно к ресурсам. Причем количество требуемых ресурсов будет увеличиваться в геометрической прогрессии.

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

ichursin 2022-06-27 17:02:36
dopusteam 2022-06-27 17:01:21
Да, только там кроме ui нихера нельзя делать без либ других

так это и есть чистая ui либа, дальше строй свою экосистему как угодно

Никто не говорит, что React — это серебряная пуля, но… ты спрашивал в чем Angular плох — я ответил

ichursin 2022-06-27 17:02:57
несогласен?
Я готов выслушать аргументы
dopusteam 2022-06-27 17:03:19
ichursin 2022-06-27 17:02:57
несогласен?
Я готов выслушать аргументы

Ну собственно аргумент «нельзя без либы» несостоятелен немного, имхо

ichursin 2022-06-27 17:05:26
dopusteam 2022-06-27 17:03:19
Ну собственно аргумент «нельзя без либы» несостоятелен немного, имхо

Нет, оно вполне состоятельно, в плане того, что фреймворк обязуется снять с тебя часть ответственности

И конкретно ui часть в динамике — откровенная боль, сделать боль «приятнее» не равно — убрать её совсем

Rommaniel 2022-06-27 17:05:31
В случае, создания приложения, на годы вперед количество рисков увеличивается также в геометрической прогрессии, если собирать свой стек библиотек самостоятельно, а не использовать все в одном из одной коробки. Но здесь конечно нужно смотреть на проект, на его жизненный цикл. В случае ангуляра у меня есть ощущение что на нем можно делать огромные проекты уровня предприятия и все будет сопровождаемо через 10 лет.
reactangular 2022-06-27 17:06:56
Rommaniel 2022-06-27 17:05:31
В случае, создания приложения, на годы вперед количество рисков увеличивается также в геометрической прогрессии, если собирать свой стек библиотек самостоятельно, а не использовать все в одном из одной коробки. Но здесь конечно нужно смотреть на проект, на его жизненный цикл. В случае ангуляра у меня есть ощущение что на нем можно делать огромные проекты уровня предприятия и все будет сопровождаемо через 10 лет.

крупные проекты делают свою библиотеку компонентов с блекджеком и поддержкой.
Мелкие проекты берут опенсорс и радуются

reactangular 2022-06-27 17:07:10
страдающие — страдают)
igorfilippov3 2022-06-27 17:07:13
mrDoode 2022-06-27 15:28:03
Бэкендное приложение нельзя запустить в браузере

Phoenix_liveview вон умеет

wiistriker 2022-06-27 17:08:50
Можно ли как-то реализовать подключение дополнительного кода в angular? Есть необходимость сделать так, чтобы пользователи могли свои виджеты дописывать в существующий проект.
Rommaniel 2022-06-27 17:36:55
wiistriker 2022-06-27 17:08:50
Можно ли как-то реализовать подключение дополнительного кода в angular? Есть необходимость сделать так, чтобы пользователи могли свои виджеты дописывать в существующий проект.

можно сделать интерпретатор, новые виджеты на основе ваших

wiistriker 2022-06-27 17:48:21
я так понимаю динамические импорты мне не помогут?

import(‘http://…/some.js’)

?

igorfilippov3 2022-06-27 17:49:40
wiistriker 2022-06-27 17:48:21
я так понимаю динамические импорты мне не помогут?

import(‘http://…/some.js’)

?

Туда нельзя будет подставить переменную с именем виджета. Они статические

igorfilippov3 2022-06-27 17:51:33
Но вообще код виджета можно сохранить в бд. Потом получить от апи и в рантайме скомпилировать. Ну как стакблитз делает например
|