Dmitry67 wrote:Вообще
Я думаю - не все так просто.
Я вижу следующие требования к современному распределенному приложению.
1. Наличие серверной части (middleware), которая выполняет основную работу по виниманию данных и их обработке (вопрос как хранить данные оставляем за скобками).
На выходе данные должны быть представлены полно, но без излишеств в ХМЛ, или другом древовидном формате. Без етого компонента реализация понастоящему масштабируемого приложения физически невозможна.
2. Далее надо предоставить клиенту возможность работать с етими данными через гибкий, функциональный и угобный ГУЙ. Причем желательно предоставить выбор уровня детализации етого гуя (толстый клиент, браузер, мобила). Правда в мне трудно с ходу придумать приложение, для которого бы понадобулись все уровни детализации, но наверное такие есть...
Здесь намечаются 2 пути:
2.1 Продолжение дела HTML, раздутие его до чего-то типа XUL, чтобы меть возможнисть описывать мощные гуи чисто декларативно. Однако опыт показывает что без кода на стороне клиента не обойтись.
А там где код - встает вопрос на чем его писать? Язык должен быть переносимым, чтобы не мучаться с многообразием клиентов, и в то же время достаточно еффективным на всех платформах. XUL позволяет выбирать язык для клиентской части, но по большомы с чету ето не помогает, а превращает приложение в лоскутное одеяло, особенно когда надо синхронизировать изменения в серверной и клиентской части кода.
2.2 Написание самого обычного гуевого приложения и запуск его на клиенте. Для обеспечения переносимости можно просто иметь версии под разные платформы, выжимая максимум из каждой из них, или иметь виртуальную машину на манер ява.
3. Чтобы избавить клиента от необходимости устанавливать софт на звоем компьютере, необходим механизм доставки кода с сервера на клиента и поддержки актуальной версии Вобщем то что делает Java Web Start.