Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/210: Рейтинг темы: голосов - 210, средняя оценка - 4.56
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482

Стоит ли менять JS фреймворки на Blazor?

23.03.2019, 17:13. Показов 46397. Ответов 264

Студворк — интернет-сервис помощи студентам
Стоит задача - сделать SPA приложение.Буквально на днях узнал про Blazor от Microsoft, как аналог front-end на JS.Кто работал с ним или знает тонкости, подскажите, стоит ли на нём сейчас делать SPA.Насколько он удобнее и быстрее, например Vue?
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2019, 17:13
Ответы с готовыми решениями:

Где стоит использовать bootstrap и стоит ли вообще использовать CSS фреймворки?
Здравствуйте. Лично я ужасаюсь ковырять стили, когда к сайту подключен bootstrap и мало понимаю, чем он хорош вообще. В данной теме я бы...

Вот стоит ща на компе ХР,стоит ли менять на 7?
Вот стоит ща на компе ХР,стоит ли менять на 7?

СтОит или не стОит менять
Система: 1 процессор-amd phenom ii x4 925 processor 2.80 ghz 2 видеокарта-Sapphire Radeon HD 4850 625Mhz PCI-E 2.0 512Mb 2000Mhz 256...

264
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,855
07.04.2022, 12:34
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
такой монстр, как React, просто растопчет Blazor своими, регулярно появляющимися новыми, фичами. Blazor нужны нехилые вложения и время, много времени, чтобы достичь уровня React.
Вот хз кто тут ещё монстр... Блазор представляет из себя больше, чем Реакт. Я не в плане презрения к Реакту. Просто Реакт - весьма небольшая библиотечка для работы с компонентами и всё. Т.е. очень специализированная. А не фреймворк, как Блазор.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
07.04.2022, 12:49
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
Всему этому уже есть замена - Avalonia UI.
Даже близко не замена. Т.е. для простеньких UI или для демонстрации факта кроссплатформенности да, подойдёт. Но для полноценного десктопного приложения его не получится использовать, т.к. под него попросту нет развитых UI-компонентов. Например, Telerik/DevExpress, где огромное количество удобных и красивых компонентов и где для WPF есть очень многофункциональный DataGrid, вокруг которого много функционала выстраивается.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 12:56  [ТС]
Usaga, ты просто не разобрался в экосистеме React. Это Blazor "косит" под React, а не наоборот. А что тебе ещё нужно от браузера, кроме как UI? Blazor - это лишь прослойка между wasm и UI. Для чего тебе wasm? Математику можно на сервере посчитать. Графика в браузере через JS работает. Всё через JS. Сложные реактивные приложения с графикой и анимацией на Blazor не построить. Точнее, через огромные "костыли" это возможно. Смешно! А вот теперь попробуй на Blazor реализовать сложный UI, который будет подгружать асинхронно данные, одновременно анимировать с помощью JS графики компоненты и реактивно валидировать в этот момент форму пользователя. И всё это без перерисовки всего компонента и обновления всего состояния.

Добавлено через 1 минуту
Usaga, да, и не забудь, что всё это нужно делать без использования JS. На C#.))
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
07.04.2022, 13:27
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
Хорош для разработки на одном языке. Но бизнесу плевать на это. Ему важнее, чтобы в браузере всё летало и анимировалось. А тут уже с React нет смысла тягаться.
От задачи зависит. Для внешнего сайта да, важна скорость загрузки. Для внутренней учётной системы, с доступом через браузер, лишние несколько секунд на начальную загрузку никакого значения иметь не будут, т.к. это, по сути, приложение, оно запускает один раз, тратит какое-то время на загрузку/инициализацию и далее всё так же "летает в браузере".

Добавлено через 29 минут
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
да, и не забудь, что всё это нужно делать без использования JS. На C#
Вроде нет. На C# - ViewModel, состояние, общение с API, подготовка данных и прочая логика. На HTML/JS/CSS - все нюансы UI.

Попробовал сейчас? из blazor-компонента JS-скрипты вполне корректно вызываются:
HTML5
1
2
3
4
5
6
7
8
9
10
11
@page "/counter/{num}"
 
<PageTitle>Counter</PageTitle>
 
<h1>Counter</h1>
 
<p role="status">Current count: @CounterViewModel.CurrentCount</p>
 
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
 
<button onclick="showLocalAlert()">Alert</button>
JavaScript
1
2
3
4
5
    <script>
        function showLocalAlert() {
            alert("sample");
        }
    </script>
Хотя, конечно, я всех нюансов (в т.ч. грядущих) Blazor и JS пока не знаю, так что не уверен, что вы именно про это.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 14:56  [ТС]
kotelok,
Цитата Сообщение от kotelok Посмотреть сообщение
и далее всё так же "летает в браузере"
не летает, так как wasm код дёргает JS для изменения DOM дерева. А React сразу меняет часть DOM через virtual DOM. Только JS меняет ВСЁ в DOM. C# не может напрямую менять DOM.

Добавлено через 1 час 23 минуты
kotelok,
Цитата Сообщение от kotelok Посмотреть сообщение
Даже близко не замена. Т.е. для простеньких UI или для демонстрации факта кроссплатформенности да, подойдёт. Но для полноценного десктопного приложения его не получится использовать, т.к. под него попросту нет развитых UI-компонентов. Например, Telerik/DevExpress, где огромное количество удобных и красивых компонентов и где для WPF есть очень многофункциональный DataGrid, вокруг которого много функционала выстраивается.
Вот список, а котором есть ВСЁ для десктопа.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
07.04.2022, 15:22
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
Вот список, а котором есть ВСЁ для десктопа
По названиям да, многое есть. По функционалу - у DevExpress/Telerik DataGrid предоставляет больше возможностей (группировка, фильтры, бэнды).
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 15:38  [ТС]
kotelok, что мешает тебе создать свой контрол? Тот же фильтр.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
07.04.2022, 15:54
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
что мешает тебе создать свой контрол? Тот же фильтр
То же, что мешает создавать свои фреймворки/библиотеки при наличии уже существующих - ограничения по срокам проектов. Иногда приходится, да, но по этому критерию нынешняя Avalonia не подходит для быстрого создания богатого UI (хотя для простых интерфейсов вполне).

Т.е. даже при использовании DevExpress/Telerik изредка приходится разрабатывать какие-то свои очень специфичные контролы (типа выбора диапазона месяцев в пару кликов), но это не часто. Когда же ты берёшь UI-грид, один из ключевых контролов, и тебе нужно до начала использования либо сделать свой грид с нуля, либо допилить существующий, добавив туда львиную долю функционала, то это не совсем то, что ожидается от используемой библиотеки.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 16:20  [ТС]
kotelok, ты словно зациклился на DevExpress/Telerik. А если клиент скажет, мне вот это не нравится и то, что тогда? Будешь ковыряться в контроле? В любом случае нужно уметь создавать свой.
0
 Аватар для sau
2875 / 2080 / 386
Регистрация: 22.07.2011
Сообщений: 7,837
07.04.2022, 18:34
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
А если клиент скажет, мне вот это не нравится и то, что тогда?
sergeyilyin1984, когда заказчику говоришь , что вот это на блазоре делается за 5 минут и будет стоить 5копеек , а вот эта хотелка потребует разработки полноценного компонента и стоить будет в 10х раз больше , то это помогает найти общий язык. Основной критерий - скорость разработки и дешевизна , и блазор тут рулит , анимации на клиенте это не для блейзора , там можно и css заюзать и прочее , а блейзор это про mvvm и обновление формочек , только вместо ajax юзается сокет , т.е более корректно его сравнивать в контексте привязки и обновления данных.

И вот когда Вы сопоставите кол-во телодвижений , кучу каких-то приблуд нужно поставить , кучу настроек провести . веб.паки там всякие , тайпскрипты , хотрелоадинги , все это вместе склеить , что бы не конфликтовало, нормально отлаживалось и собиралось , и все это не родное для NET платформы и не из коробки , а еще нужно за версиями следить . новые фичи учитывать и т.п. , короче , становится очевидно , что проще и удобнее заюзать просто блейзор на своей родной платформе без всяких яких.
1
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 21:16  [ТС]
sau, опять же - это для какой - нибудь дешёвой CRM внутри компании сойдёт. Такие CRM сейчас пачками печатают. И Blazor тут вообще не выделяется, ну никак. Он выделяется только среди лентяев - разрабов, которых достал JS и писанина на нём.
0
 Аватар для sau
2875 / 2080 / 386
Регистрация: 22.07.2011
Сообщений: 7,837
07.04.2022, 21:47
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
И Blazor тут вообще не выделяется, ну никак.
ну как не выделяется , задач , где нужно какие-то поля динамически отрендерить или табличку отрисовать без перезагрузки страницы , калькуляторы и расчетные формы - хватает даже в CRM , и фактически это единственное спасение для таких случаев , избавляющее от необходимости изучать vue/angular/react., особенно для фуллстэк разработчика т.к ему не нужно слишком глубоко во фронт.зоопарк залазить. У блазора задача облегчить работу , а не обогнать по скорости рендеринга.
Ну а ежели вы только на фронте сидите . ну да , тогда зачем вам c# и блазор , там своя атмосфера и свой инструментарий.

У вас какого плана сайты то вообще ? - сейчас на рынке вроде как либо шаблонные визитки , где и программировать то не нужно , либо интернет магазины и crm-ки разного рода , остальное почти и не встречается , во всяком случае я уже и не припомню где нужно было бы настолько активно js использовать, что бы блазором нельзя было заменить , обычно не больше чем дернуть api_шку какую нибудь.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 21:50  [ТС]
sau, сайты по типу SPA и набор микросервисов. SPA с анимациями, графикой и кучей асинхронных подгрузок данных.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,775
07.04.2022, 22:06
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
разрабов, которых достал JS и писанина на нём
Ещё раз подчеркну - дело НЕ в JS. Дело исключительно в хаотичной непредсказуемой и недружелюбной экосистеме.

Сейчас, вот, в очередной раз пытаюсь. Взял за основу Vue, и снова второй вечер трачу не на JS/HTML/CSS и архитектуру/основы самого Vue, а на попытки настроить/осознать окружение разработчика и конфиги/окружение минимального Vue-проекта. Понятно, что с набором опыта и набиванием тысячи шишок оно уже не будет выглядить настолько пугающе, но порог вхождения просто запредельный именно в этом аспекте.
0
 Аватар для sau
2875 / 2080 / 386
Регистрация: 22.07.2011
Сообщений: 7,837
07.04.2022, 22:27
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
Стоит ли менять JS фреймворки на Blazor?
Если уже владеете каким либо и вас все устраивает, то не стоит , ибо в блазоре нет каких либо технических преимуществ - если вы их ищите , и скорее даже наоборот.
Это просто вариант для c# разработчиков немного залезть на фронт , с комфортом , в привычном им стиле и привычной среде , пусть и с некоторыми недостатками "производительности" , а лично для меня комфорт в разработке приоритетен , по этому я перешел сперва с ангуляра на vue , а потом c vue на блазор , и с облегчением забыл про первые два , т.к последний вполне покрывает мой обычный круг задач.
1
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
07.04.2022, 22:43  [ТС]
kotelok, это так кажется. Там всё просто на самом деле. Говорю же, используй Vue CLI.

sau, использую Vue + TS. Для SPA, что я описал, лучше варианта нет. Может только React. Если бы я делал CRM внутри компании, то выбрал бы Blazor.

Добавлено через 6 минут
sau, кстати, что там в будущем с .NET вообще будет? Майкрософт не прикроет лавочку в России?
1
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,855
08.04.2022, 02:02
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
ты просто не разобрался в экосистеме React.
Да вроде как разобрался и мне не очень понравилось) Коллегам тоже) А вот Ангуляр понравился. Хотя там тоже есть пара моментов неудачных. Но это уже к Блазору не относится)
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
08.04.2022, 09:02  [ТС]
Usaga, Angular переусложнили. Vue - баланс между Angular и React.
0
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,855
08.04.2022, 16:31
sergeyilyin1984, я не согласен, что ангуляр переусложнили. Просто это большой фреймворк для больших проектов. Я это уже оценил. Конечно же, такая штука будет сложной.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
11.04.2022, 16:55  [ТС]
Usaga, если брать Blazor vs Angualr, то Angular в несколько раз сложнее Blazor. Сам ангуляр мало выучить. Нужно ещё state management прикрутить и знания RX.js подтянуть. Ну и кроме самого JS, ещё и TS придётся хорошенько выучить. В итоге получается, что нужно учить 3 языка + библиотеки. И самое главное. Есть старый AngularJS. Переводить проекты с него на новую версию - это тот ещё ад (со слов фронтендеров). Учитывай, что новые прокты продолжают писать на AngularJS. Вот и придётся тебе по итогу учить 3 языка, 2 фреймворка и библиотеки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2022, 16:55

Стоит ли менять ?
Диогональ - 15.6 Проц i3 ОЗУ -4 гб Видео нвидиа гт 525м Хард - 460 Диагональ экрана 14 &quot; Разрешение дисплея ...

Стоит ли менять OC?
Здравствуйте! Поставил Ubuntu на компьютер с Windows. Теперь имею 2 операционные системы. Начал работать в Ubuntu, очень наделся на...

Стоит ли менять?
Здравствуйте! У меня стоит проц core i3 530, материнская плата Asrock H55DE3. Есть возможность приобрести Xenon х3430.стоит ли менять или...

Стоит ли менять
День добрый форумчане:yahoo: ну помогите, подскажите советом. Моя система: мать- asus p5g41c-m lx Проц-...

Стоит ли менять БП?
Здравствуйте. После покупки новой видеокарты пк стал перезагружаться, иногда не мог перейти на стадию включения (не загружался биос),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
240
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru