Open aurusov opened 9 years ago
@k-alexandrovsky Помнишь, ты показывал работу с эклипсом через браузер ? Но там нужна была старая версия swt или еще какой-то либы. Подскажи где посмотреть и есть ли возможность запустить текущее РДО на этой базе ?
Кажется, что надо встраивать сервер прямо в РДО. Это позволит во время прогона по сокету отдавать анимацию, трассировку и графики. В Эклипсе для этого есть инструментарий.
Мне кажется, что интерфейс придётся делать самим, запускать в качестве сервера jetty, а там уже любой фреймворк, либо spring, либо gwt. Анимация вроде более-менее абстрагирована, так что html5 canvas нарисует не хуже swt. Естественно, все будет на ajax'e. А редактор можно встроить их родной - http://www.eclipse.org/Xtext/documentation/330_web_support.html
Не понял про spring/gwt.
Ну насколько я понимаю, в любом случае придется писать фронтэнд. На любой из технологий. Можно хоть на чистом JSP.
Эклипс вроде как не дает полноценную IDE в браузере. У них было это в качестве эксперимента несколько лет назад, но загнулось (видимо, за ненадобностью). Из современного я нашел вот такое - https://www.eclipse.org/che/technology/, но оно скорее всего еще очень сырое, плюс икстекст с ним вряд ли сам подружится.
Мне самый безболезненный вариант видится таким - в эклипсе на удаленном компьютере запускается сервер (составляющий вместе с эклипсом бэкэнд), который управляет прогоном, и отдает актуальную информацию на фронтэнд. Там уже рисуются джаваскриптом графики, им же анимация (SWTAnimationContext
превращается в какой-нибудь JavascriptCallbackAnimationContext
). А в качестве редактора моделей прикручивается Orion. Это не будет полноценная IDE для всего на свете, какой является эклипс, но возможности РДО ей покрыть можно, мне кажется.
Мне самый безболезненный вариант видится таким - в эклипсе на удаленном компьютере запускается сервер (составляющий вместе с эклипсом бэкэнд), который управляет прогоном, и отдает актуальную информацию на фронтэнд.
Тут понятно, согласен
Там уже рисуются джаваскриптом графики, им же анимация (SWTAnimationContext превращается в какой-нибудь JavascriptCallbackAnimationContext).
Что значит там же ? Понятно, что надо попросить анимацию генерить команды отрисоки для клиента. Но рисоваться они должны же на клиенте. Что-то не понимаю твою мысль.
А в качестве редактора моделей прикручивается Orion. Это не будет полноценная IDE для всего на свете, какой является эклипс, но возможности РДО ей покрыть можно, мне кажется.
Редактор не нужен. Пока просто запуск + состояние прогона + анимация.
Что значит там же ? Понятно, что надо попросить анимацию генерить команды отрисоки для клиента. Но рисоваться они должны же на клиенте. Что-то не понимаю твою мысль.
Я не знаю, как на текущий момент устроены результаты с точки зрения архитектуры, но с анимацией можно сделать следующим образом -- какой-нибудь BackendAnimationContext
вместо отрисовки фрейма переводит его в сериализованный вид (JSON/BSON/что-угодно) и начинает его хранить, чтобы потом отдать на клиент. Клиент, соответственно, рисует. Можно делать не полный фрейм каждый раз, а вычислять диффы на сервере и отдавать их. Если сервер мощный, то замедления не будет, а применять дифф дешево.
То есть идея такая, нужен еще один уровень абстракции:
RAO Frame (xbase) => Сцена (примитивы) => Отрисовка или сериализация (т.е. текущие контексты)
Да, именно так и я себе представляю. Когда ты начал говорить непонятные слова, думал у тебя есть готовый стек технологий для этого. Велосипедить не хочется.
ping
, добиться ответа. Пример простейшего сервера.currentTime
, которая будет возвращать константу 12345.сервер недоступен
.@bogachev-pa Паша, где в коде место, которое отрабатывает один после загрузки Эклипса с РДО ? Нужно дописать код в момент запуска и выгрузки Эклипса.
Добавить javasript, который сам ходит за /currentTime
и выводит на экран через html.
Хочется научиться запускать модель через браузер. Как минимум
Следующий левел, с понижением приоритета