Какие основные изменения в мышлении необходимы, чтобы стать хорошим разработчиком Rich Internet Application (RIA)?

Я недавно экспериментировал с Adobe Flex. Как давний разработчик серверных веб-приложений, я столкнулся с трудностями, с которыми я в последний раз сталкивался, когда давным-давно баловался разработкой Java Swing. В основном он вращается вокруг поток управления между моим кодом и кодом фреймворка. Большинство вещей асинхронны, чтобы не замораживать пользовательский интерфейс.

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

Обновлять: Переместил отвлекающие части на Другой вопрос.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
292
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сейчас я вижу на рынке две модели:

  • Смешанный интерфейс. Сервер по-прежнему участвует в создании пользовательского интерфейса, но большая его часть выгружается на javascript. Так работают многие инструменты javascript (кроме dojo, extjs, ...).
  • Отдельные опасения. Сервер рассматривается только как способ хранения и синхронизации данных. Приложение работает полностью на стороне клиента, возможно, даже с локальным хранилищем. Вот как работает flex.

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

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

Спасибо. Хороший момент по поводу того, что Gears имеет LocalServer по сравнению с Flex. Но я думаю, что здесь на помощь приходит AIR - тогда вам не нужно загружать приложение каждый раз. Gears - это действительно эквивалент AIR, а не Flex. И AIR, и Gears требуют загрузки среды выполнения, а затем запускают загруженные приложения.

thvo 07.10.2008 17:56

Хороший момент по поводу воздуха, я думаю, он отличается от передач с точки зрения обзора. Air стремится вытащить приложение из браузера, Gears - улучшить браузер. Вопрос в том, хотите ли вы использовать браузер?

Joeri Sebrechts 07.10.2008 19:04

Правда. Но в долгосрочной перспективе этот вопрос будет иметь меньшее значение. Я не считаю Chrome еще одним браузером. Я считаю Chrome (плюс встроенный Gears) средой выполнения для таких приложений, как AIR. Итак, вопрос в том, какую среду выполнения вы используете: AIR или Chrome + Gears.

thvo 07.10.2008 21:36

Два совета:

  • Ваш сервер никогда не должен доверять тому, что ему дает клиент. Как и любое веб-приложение, данные, исходящие от клиента, могут быть скомпрометированы.
  • Визуализируйте. Это реальное (возможно, единственное) преимущество RIA: возможность предоставлять богатые интерактивные визуализации данных, которые можно смешивать интересными способами. Сделать большинство из этого.

Спасибо. Конечно, проверка сервера обязательна; RIA не предназначены для избавления от этого. Фактически, если вы посмотрите на SOFEA, все дело в проверке данных вплоть до обмена данными через XML. RIA - это передача всей логики представления клиенту, например экранный поток.

thvo 07.10.2008 17:53

Другие вопросы по теме