FORUMS
MEMBERS
RECENT POSTS
LOG IN
Search Forums
Featured Threads Archive
Recent Posts
Notable Members
Registered Members
Current Visitors
Recent Activity
New Profile Posts
×
Авторизация
Имя пользователя:
Пароль:
Запомнить меня
Нет аккаунта?
Регистрация
ВЫЕЗД ИЗ УКРАИНЫ • ОФОРМЛЕНИЕ ДОКУМЕНТОВ • БРОНИРОВАНИЕ • ПОМОЩЬ С ТЦК
УСТРАНЕНИЕ КОНКУРЕНТОВ.
БЛОКИРОВКА ДОМЕНОВ,
БЛОКИРОВКА ИНСТАГРАМ/ТЕЛЕГРАМ И ДРУГОЕ.
ПРОВЕРЕННЫЙ СЕЛЛЕР.
НОВЫЕ
ТОРГОВАЯ
НОВОСТИ
ЧАТ
loading...
Скрыть
ANTICHAT
>
ИНФО
>
Мировые новости. Обсуждения.
Сравнение методов исключения разработки на JavaScript для веб технологий
Поиск по форуму
Расширенный поиск
Опции темы
Поиск в этой теме
Опции просмотра
#
1
10.12.2021, 01:19
Suicide
Познавший АНТИЧАТ
Регистрация: 24.04.2009
Сообщений: 1,732
С нами:
8973026
Репутация:
3256
Преамбула
К
статье
о публикации
фрэймворка Pusa
авторы получили полезные для
дальнейшей работы над проектом отклики. Наиболее важным нам показалась беседа с
создателем проекта
Korolev
, реализующего аналогичную парадигму но
принципиально иными методами.
Так как, у нас была возможность не только познакомится с исходным кодом
Korolev, но и пообщаться с его создателем, считаем возможным показать
принципиальное отличие концепции Pusa, именно на примере Korolev.
Задача
Оба проекта реализуют разработку web-приложений без необходимости написания
клиентского кода JavaScript конечным разработчиком.
Решение Korolev
Реализация scala. При открытии страница браузер клиента скачивает базовый
JavaScript-код приложения. Тот открывает WebSocket-соединение с сервером
Korolev. На стороне сервера формируется DOM-структура. Клиентские события
направляются через websocket на сервер. Получив очередное событие Korolev
выполняет необходимую бизнес логику, вносит изменения в DOM на стороне сервера,
далее выполняется построение дифференциального обновления которое направляется
на клиент. Благодаря оптимизированному механизму построения дифов,
эффективность обработки DOM на стороне Korolev высока. Клиентское приложение
получив изменения, отражает их в DOM браузера. Пользователь получает
необходимый контент.
Решение Pusa
Реализация PHP. При старте приложения браузер скачивает базовый JavaScript-код
приложения Pusa (6кб). Приложение выполняет AJAX запросы на основе событий
браузера. Каждый запрос содержит данные о событийном DOM-элементе и служебную
информацию. Сервер Pusa получая очередное событие, определяет и выполняет
контроллер с бизнес логикой, и возвращает набор инструкций согласно протоколу
Pusa (
https://gitlab.com/catlair/pusa/-/bl...sa_protocol.md
),
как результат AJAX запроса. JavaScript-клиент отрабатывает полученные
инструкции, внося изменения в клиентский DOM. Пользователь получает необходимый контент.
Общее в концепциях
Клиентские приложения требуют JavaScript как основу работы приложения.
От разработчика не требуется работа над клиентским кодом JavaScript ни в каком виде.
Бизнес логика и работа с DOM выполняется на стороне сервера на имеющихся средствах разработки.
Клиент получает необходимый контент.
Код приложения находится в безопасном серверном окружении и не присутствует на стороне клиента.
Клиентский код JavaScript минималистичен и стабилен.
С разработчика снимается проблема сериализации при передаче данных.
Особенности Korolev
Сервер обладает отражением DOM-объекта для каждого клиентского соединения.
Korolev направляет клиенту дифференциальный, хорошо оптимизированный контент.
Korolev использует WebSocket, как основной высокопроизводительный метод взаимодействия.
В силу архитектуры сервер Korolev имеет возможность инициировать изменение клиентского контента.
Особенности Pusa
Сервер не требует и не подразумевает хранение состояния клиента, те
реализуется чистый
REST
.
Pusa направляет клиенту команды в ответе AJAX через XMLHttpRequest, что
значительно снижает требования к браузеру.
Pusa относится к клиенту как удаленному конечному автомату без обратной связи.
Технология Pusa не имеет возможности инициировать событие со стороны
сервера. Инициатором событий является исключительно клиент (таймер возможен).
Выводы.
Технологии, основывающиеся на необходимости хранения состояния клиента
потенциально ограничены ростом клиентских подключений, и как следствие
предполагают централизацию аппаратных ресурсов. Возможность инициации событий
со стороны сервера является необходимой опцией для внутренних решений. Три
перечисленных фактора определяет рынок корпоративных решений, как наиболее
привлекательный для технологий, аналогичных Korolev. Качественная оптимизация
Korolev явно демонстрируют стремление к минимизации накладных расходов на
хранение клиентских состояний, но не устраняет их.
Pusa, принципиально следуя парадигме чистого REST, нацелена на рынок открытых
решений, со значительным количеством клиентских подключений. Pusa предполагает
использование множества независимых инстансов, с минимальными требования, без
необходимости их общего взаимодействия. Запросы одного и того же пользователя к
Pusa могут обрабатываться различными инстансами в рамках одной сессии, что
позволяет использовать решение под значительными нагрузками.
Ссылки
Korolev
Pusa
сравнительная схема
Анонс публикации Pusa
06.12.2021 ,
Автор:
Still Swamp
https://www.opennet.ru/tips/3197_fro..._korolev.shtml
𝕏 Twitter
Reddit
Telegram
Копировать ссылку
Suicide
Посмотреть профиль
Репутация
Отправить личное сообщение для Suicide
Найти все сообщения от Suicide
Добавить в друзья
Предыдущая тема
Следующая тема
Здесь присутствуют: 1
(пользователей: 0 , гостей: 1)
Опции темы
Версия для печати
Отправить по электронной почте
Опции просмотра
Линейный вид
Комбинированный вид
Древовидный вид
Поиск в этой теме
Расширенный поиск
Оценка этой темы
Вы уже оценили эту тему
Быстрый переход
Мой кабинет
Личные сообщения
Подписки
Кто на форуме
Поиск по форуму
Главная страница форума
ИНФО
Мировые новости. Обсуждения.
Статьи
Избранное
РАЗРАБОТКА
Ваши проекты
SЕО - тонкости, методы раскрутки
Услуги, Покупка и Продажа в SEO
Хостинги - Hostings
Хостинг, Dedicated, VDS, Сервера - покупка, продажа
Для Администратора
Apple: Mac, OS X, iOS
AntiDDos - АнтиДДОС
Windows
Linux, Freebsd, *nix
ПРОГРАММИРОВАНИЕ
Общие вопросы программирования
ПО для Web разработчика
PHP
Python
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
Реверсинг
ТЕХНОЛОГИИ И AI
Искусственный интеллект (AI)
Нейросети и промптинг
AI автоматизация
Разработка AI-агентов
Технологические новости
Стартапы, бизнес и инвестиции
Программирование с AI
ФИНАНСОВЫЕ ЗАДАЧИ/СОЦИАЛЬНЫЕ СЕТИ
Покупка, Продажа, Обмен
Разное - Покупка, продажа, обмен
Услуги, Покупка и Продажа в SEO
Электронные валюты: Обмен, Вывод, Ввод
VPN, Proxy, Socks - Покупка, продажа
Хостинг, Dedicated, VDS, Сервера - Покупка, продажа
Мобильная связь, СМС - Покупка, продажа
Трафик, инсталлы, загрузки - Покупка, продажа
Покупка, продажа, услуги в Соц. Сетях
Партнерки
Freelance - О Работе
Предложения работы, услуг
Социальные сети
Покупка, продажа, услуги в Соц. Сетях
Платежные системы
Электронные валюты: Обмен, Вывод, Ввод
Blockchain, Криптовалюты, смарт-контракты
ТЕНЕВОЙ РЫНОК
Пробив информации
Карты, кошельки, биржи
Документы готовые и под заказ
Способы и схемы заработка
Арбитраж трафика
Барахолка
ОФФТОП
Болталка
Forum for discussion of ANTICHAT
Video.Antichat
Комментарии к видео
Архив
ICQ - Покупка, продажа
Home
Contact Us
Help
Terms and Rules
Privacy Policy
ANTICHAT ™ © 2001- Antichat Kft.