Pull to refresh

Comments 16

Имхо, начать стоило с того, что это за фреймворк, кому он нужен, что в нём хорошего, что лучше, чем в других…
А то как-то скучно и грустно смотреть на очередную стандартную демку, которая ничем не способна заинтересовать.
+1. У меня чисто один вопрос зачем это нужно? что бы писать SPA на C# без JavaScript? В смысле DotVVM это замена использованию JavaScript на фронт энде?
Простите за неопытность)
Именно так. Фреймворк разрабатывался для того, чтобы за счет большого количества готовых элементов управления и понятного синтаксиса создавать бизнес-приложения и SPA без JavaScript кода.
Говоря «SPA без JavaScript кода» вы имеете ввиду отсутствие js в клиентском коде или то, что программисту не нужно его писать?
Да и чем ваш фреймворк лучше какой0нибуль библиотеки компонентов, типа devexpress?
И ещё вопрос — вы упоминаете postback, это именно отправка данных через post формы? Из-за которой нельзя пользоваться кнопкой back в браузере?
Devexpress это только элементы управления. DotVVM это готовый фреймворк, который отвечает также за взаимодействия между сервером и клиентом.
Кстати, елементы управления Devexpress можно использовать в DotVVM проекте.
Ну… с компонентами devexpress обмен клиент-сервер тоже работает… примерно сам собой, т.е. не требует особых усилий со стороны программиста.

И да, хочется увидеть ответы и на другие вопросы.
_parent.MarkAsDone

Я правильно понимаю, что вот эта штука приводит к вызову на сервер а ля ASP.NET Web Forms? Что происходит с вью-моделью? Она всё это время на сервере висит в памяти? Что происходит в таком случае при перезапуске сервера?

Вью-модель шлётся с клиента при постбэке. После выполнения команды, модифицированная модель сериализуется и шлётся обратно клиенту.
ViewModel посылается весь не всегда. Существует атрибут Bind и Static command. Разбору взаимодействия между сервером и клиентом будет посвящена отдельная статья.

Меня интересует наличие стейта в памяти сервера, как это происходит в том же Ooui.

В двух словах, ViewModel находящийся на сервере, находится там только на время http запроса. Перезапуск на ViewModel никак не повлияет, так-как в самом ViewModel есть все необходимое для обработки запроса.

То есть в вашем примере весь список ToDo будет летать между сервером и клиентом на каждом запросе?

Нет, только запакованный в JSON ToDoItem, Velidation rules и ещё пара вещей. Подробный разбор выйдет как можно скорее в следующей статье.

А где же хранится список?

Список храниться на клиенте.
Я подробнее просмотрел документецию и понял, что мой ответ выше не совсем правильный.
Посылается на сервер весь список а в качестве ответа сервер возвращает разницу.
Если кому-то интересно, то подробности на английском есть тут.

Ну то есть, как я говорил, весь список летает на каждом запросе. Круто.

Sign up to leave a comment.

Articles