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




Сейчас я вижу на рынке две модели:
Я думаю, что мы собираемся перейти ко второй модели, потому что это означает, что вам не нужно отслеживать состояние пользовательского интерфейса на сервере, что значительно упрощает архитектуру. Я играл с ExtJS и Flex, и опыт разработки очень похож на создание настольного приложения, только без причудливых IDE с перетаскиванием. Таким образом, трудно представить себе большие различия между трехуровневым настольным приложением и веб-приложением.
Итак, мой совет: перестаньте думать, что вы создаете веб-приложения, всегда сомневайтесь, принадлежит ли что-то серверу, потому что в новой модели этого часто не будет. Кроме того, эффективно используйте шестеренки или кеш браузера, потому что, если ваше приложение является клиентским, загрузка всего этого кода каждый раз будет слишком медленной.
Хороший момент по поводу воздуха, я думаю, он отличается от передач с точки зрения обзора. Air стремится вытащить приложение из браузера, Gears - улучшить браузер. Вопрос в том, хотите ли вы использовать браузер?
Правда. Но в долгосрочной перспективе этот вопрос будет иметь меньшее значение. Я не считаю Chrome еще одним браузером. Я считаю Chrome (плюс встроенный Gears) средой выполнения для таких приложений, как AIR. Итак, вопрос в том, какую среду выполнения вы используете: AIR или Chrome + Gears.
Два совета:
Спасибо. Конечно, проверка сервера обязательна; RIA не предназначены для избавления от этого. Фактически, если вы посмотрите на SOFEA, все дело в проверке данных вплоть до обмена данными через XML. RIA - это передача всей логики представления клиенту, например экранный поток.
Спасибо. Хороший момент по поводу того, что Gears имеет LocalServer по сравнению с Flex. Но я думаю, что здесь на помощь приходит AIR - тогда вам не нужно загружать приложение каждый раз. Gears - это действительно эквивалент AIR, а не Flex. И AIR, и Gears требуют загрузки среды выполнения, а затем запускают загруженные приложения.