2012-01-15 2 views
0

Какую веб-платформу вы бы использовали для реализации интерфейса следующего настольного приложения, которое выполняет параллельное сравнение текста. Более точно, что в пользовательском интерфейсе: зрительКакую веб-платформу использовать для реализации интерфейса, подобного diff?

  • документа с разветвителем и выделением
  • отложенной загрузки, а документы могут быть очень большими (10Мбы каждый)
  • левой навигационной панели с цветными метками и окно прокрутки
  • синхронизированные прокрутки
  • горячих клавиш для навигации (например, Alt + СТРЕЛКА ВНИЗ = следующий дифференциал)

Пожалуйста, один каркаса за ответ. Обеспечьте плюсы и минусы подхода.

Примечание: этот вопрос является разделом от Vaadin alternative for heavily loaded UI, где сообщество попыталось решить мои проблемы с Ваадином, но я не слышал реального анализа.

Screenshot of WinMerge

+0

Пути без комментариев не вежливы. –

ответ

2

В вашем случае у вас мало выбора. Независимо от того, какой формат/язык/компилятор и т. Д. Вы возьмете, вы будете кодировать много материалов низкого уровня. Итак, вашим оружием выбора будет JavaScript или GWT (выбор зависит от того, что вы предпочитаете/имеете больше опыта). Но в любом случае вы будете работать с DOM сами по себе, использование какой-либо структуры компонентов не может быть и речи, вы не сможете получить какую-либо производительность из высокоуровневой инфраструктуры компонентов.

Так что я предлагаю использовать JavaScript (с Google Closure для некоторых общих частей) или что-то еще, что компилируется в JS (GWT, CoffeScript).

+0

Спасибо за комментарий. Как GWT поможет мне здесь? Нужно ли мне писать собственные компоненты каждый раз, думая о совместимости между браузерами? –

+0

GWT даст вам возможность писать код с синтаксисом Java (полная поддержка IDE с рефакторингом, упрощает управление большими кодовыми базами), плюс GWT имеет отложенную функцию привязки, которая чрезвычайно эффективна и очень полезна для создания конкретных реализаций браузера. Что касается вашего второго вопроса, это зависит от того, что вы делаете. Некоторые вещи могут быть построены с использованием некоторых компонентов кросс-браузера, некоторые из них должны быть построены с нуля.В большинстве случаев вам не нужно делать низкоуровневое кодирование. – jusio

0

Для такого применения, WebApp (включительно с каркасом) не является хорошим кандидатом. Это обычно настольное приложение!

+0

Извините, это требование к проекту, которое я не могу изменить. Я не думаю, что это невозможно сделать в веб-приложении. –

1

Я думаю, что Wicket может сделать трюк, используя его для повторного использования компонента, используемого для просмотра двух версий ввода. Вам придется написать компонент для каждого элемента, вы можете описать и написать достаточно Javascript, чтобы связать вещи:

  • синхронизированной прокрутки
  • Клавиатурный поддержки

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

Надеюсь, что это может помочь ...

+0

Спасибо за мнение. –

Смежные вопросы