Задать вопрос

Чем формошлепство на JavaScript отличается от формошлепства на JAVA, C#, QT?

Под формошлепством я име в виду создание GUI. Спрашиваю потому, что в веб-фронтенде сейчас популярны data binding (two way and one way) фреймворки. А еще есть Dirty checking (пример: Angular) и Change listeners (реализован в Knockout и Backbone). Это помимо AJAX. В desktop'ных gui-приложениях же популярны сигналы и слоты, модель делегирования событий. Очень много всего. Где я могу найти сравнение подходов, чтобы все в одном месте? Ясно, четко и по хардкору чтобы. Твои мысли на этот счет меня тоже интересуют.
  • Вопрос задан
  • 4371 просмотр
Подписаться 7 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@kartio
На самом деле все в кучу в вопросе, задеты разные уровни работы приложений, то есть разные уровни абстракции:
1) обработка событий: сигналы и слоты (как понимаю речь о Qt), очередь сообщений и обработчики событий в MFC и .NET Windows Forms. В джаваскрипте у каждого элемента DOM аналогично можно указать обработчик на каждое событие.
2) Архитектура приложения: обычно это либо MVC либо MVVM (то есть по сути речь о MV* подходах), как раз эти подходы и реализуют фреймворки (ангулар, кнокаут, бэкбон и так далее), также сейчас активно продвигается Flux от фейсбука. В декстопных тоже есть MVVM, например в Microsoft WPF
3) Контроль изменений в моделях: это уже и есть всякие dirty checking, defineProperty, observer и тому подобное, то есть по сути то, как отслеживаются изменения в моделях.
4) AJAX - всего лишь технология общения клиентского джаваскрипта с браузером.
А сравнение нужно начинать с архитектуры приложений, п.2, все что ниже - это уже детали реализации конкретного фреймворка, а уже ниже - конкретной платформы (как работают и обрабатываются события, как обрабатываются данные)
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
Для начала, JavaScript выполняется браузером, и "формошлепство" в конечном счете создает html страницу.

Java, C#, QT создают визуальные элементы другим способом, в котором браузер не нужен, нужна или java-машина, или конкретная платформа (windows с библиотеками, etc)

Это первое и главное отличие.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы