Связь двух или более вкладок браузера, что может быть лучшим способом?

0

Я хочу разработать небольшую (по крайней мере, самую основную для настоящего времени) IDE, чтобы создавать веб-сайты и приложения с помощью HTML, CSS, Javascript и полного стека LAMP.

Одна из вещей, которые я хотел бы сделать, - открыть окно предварительного просмотра на другой вкладке браузера (вместо того, чтобы иметь ее на вкладке с кодировкой HTML (элемент <div> или аналогичный), например Dreamweaver) или даже, в режиме источника, имея возможность отображать набор инструментов на другой вкладке браузера и вытеснять эту вкладку на второй дисплей (или даже третий, хотя у меня есть только один дисплей, но это для иллюстрации моей ситуации).

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

Например, если у меня есть представление источника на одном дисплее и откройте сетку свойств в другом, и я изменяю значение входного цвета, я хочу, чтобы выходное представление отражало это изменение цвета для того, какой компонент получает обновление.

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

У меня нет такой ясности, как эффективно сообщать вкладки между ними. Одна из идей - использовать комбинацию запросов AJAX и передаваемых сервером событий (SSE) для общения, но, даже если это может сработать, выглядит грубо для меня.

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

У меня очень много опыта с websockets, хотя... поэтому я сомневаюсь. Можете ли вы дать мне подсказку о том, что может быть самым эффективным методом здесь?

Теги:
websocket
ide
tabs

1 ответ

1

Недавно я экспериментировал с WebSockets в сочетании Java на сервере и JavaScript на стороне клиента. Сначала хотелось пойти с простым Java SE, был кошмар, не удалось заставить его работать и в конце нашел этот учебник:

https://blog.idrsolutions.com/2013/12/websockets-an-introduction/

Работает как шарм. Просто придерживайтесь упомянутой там среды - Java EE, GlassFish, NetBeans... Не говоря о том, что NetBeans - лучшая среда разработки или что-то в этом роде...

Конечно, есть опция NodeJS для back-end, если вы предпочитаете JavaScript. Но, вообще говоря, WebSockets работает... и работает хорошо. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню