Здравствуйте, Mamut, Вы писали:
M>>>Подумалось... Все же люди начинают делать веб-приложения с упором на слово приложение, несмотря на всю кривизну HTML+CSS+Javascript. Предстоит нам бум таких приложений или все же нет?
PD>>Пока в основе будет лежать HTML и броузер, все останется как есть. Попытка с негодными средствами.
M>Пока не видно годных средств
На самом деле Java Applet концептуально это то что нужно для UI productive application. Или близко к тому.
Я бы сделал ревизию AWT, принципы security policy пересмотрел бы и/или сделал бы local storage.
Базовые идеи Java Applet работали и работают. [network]ClassLoader как концепт, это вообще замечательная идея.
В принципе Silverlight v.2.0 это по большому счету реинкарнация идеи Java Applet. Может быть с другим акцентом/креном но представляется сходной конструкцией.
Здравствуйте, c-smile, Вы писали:
CS>В принципе Silverlight v.2.0 это по большому счету реинкарнация идеи Java Applet.
Ни в коем разе. реинкарнация джавовских аплетов в дотнете была с самой первой версии (правда в 1.0 были проблемы с CAS), просто она не имела своего отдельного имени, но UserControl спокойно можно было втыкать внутрь странички навроде апплета.
Silverlight это несколько иное, это скорее закос в сторону Flash/Flex, но круче и изначально с рассчетом на построение UI.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Silverlight это несколько иное, это скорее закос в сторону Flash/Flex, но круче и изначально с рассчетом на построение UI.
Flash/Flex это тоже в принципе такой applet. applet c точки зрения host page это embeddable конструкция которая "исполняет" "активные" документы — т.е. некий код и имеет свой markup (optional).
К сожалению для полномасштабных UI существует изначальная проблема browser — проблема наличия "back button". Это суровое ограничение которое ни Java Applet ни Silverlight в приниципе победить не могут.
Здравствуйте, c-smile, Вы писали:
CS>Flash/Flex это тоже в принципе такой applet. applet c точки зрения host page это embeddable конструкция которая "исполняет" "активные" документы — т.е. некий код и имеет свой markup (optional).
Ну знаешь, если все внедряемые конструкции апплетами называть, то тогда конечно.
CS>К сожалению для полномасштабных UI существует изначальная проблема browser — проблема наличия "back button". Это суровое ограничение которое ни Java Applet ни Silverlight в приниципе победить не могут.
В silverlight могут (в xbap тоже), там есть специальное API для этого.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
CS>>К сожалению для полномасштабных UI существует изначальная проблема browser — проблема наличия "back button". Это суровое ограничение которое ни Java Applet ни Silverlight в приниципе победить не могут. AVK>В silverlight могут (в xbap тоже), там есть специальное API для этого.
Flex/Flash тоже могут, кстати.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, c-smile, Вы писали:
CS>>Flash/Flex это тоже в принципе такой applet. applet c точки зрения host page это embeddable конструкция которая "исполняет" "активные" документы — т.е. некий код и имеет свой markup (optional).
AVK>Ну знаешь, если все внедряемые конструкции апплетами называть, то тогда конечно.
define: Applet
A program, intended for delivery over the Internet, which can be included in an HTML page, just as an image can be included.
Most often refers to a small Java program designed to run in a Web browser. Java applets run in a sandbox, so they can't perform unauthorized functions like file reading or opening Net connections to other computer from your computer.
Ключевые и принципиальные слова: "included in an HTML page" и "applets run in a sandbox".
CS>>К сожалению для полномасштабных UI существует изначальная проблема browser — проблема наличия "back button". Это суровое ограничение которое ни Java Applet ни Silverlight в приниципе победить не могут.
AVK>В silverlight могут (в xbap тоже), там есть специальное API для этого.
Сомневаюсь я по поводу Mozilla например. В gecko такое в общем-то безобидное действо как изменение CSS атрибута display приводит к пересозданию окна и соответсвенно к потере состояния. Я уже не говорю о тыканием мышой в back button. SetWindowHook — не предлагать ибо хак вульгарный.
Здравствуйте, c-smile, Вы писали:
CS>Сомневаюсь я по поводу Mozilla например.
Не сомневайся. В WPF поддержка браузерного стиля встроена изначально. Более того, даже если такое приложение (полноценный WPF, а не SL) запустить без браузера, оно таки все равно отрисует окошко с кнопками Back и Forward.
CS> В gecko такое в общем-то безобидное действо как изменение CSS атрибута display приводит к пересозданию окна и соответсвенно к потере состояния.
Состояние в SL независимо от состояния страницы.
CS> Я уже не говорю о тыканием мышой в back button. SetWindowHook — не предлагать ибо хак вульгарный.
Interop все равно запрещен для всего кроме Full Trust сборок.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, c-smile, Вы писали:
CS>>Сомневаюсь я по поводу Mozilla например.
AVK>Не сомневайся. В WPF поддержка браузерного стиля встроена изначально. Более того, даже если такое приложение (полноценный WPF, а не SL) запустить без браузера, оно таки все равно отрисует окошко с кнопками Back и Forward.
CS>> В gecko такое в общем-то безобидное действо как изменение CSS атрибута display приводит к пересозданию окна и соответсвенно к потере состояния.
AVK>Состояние в SL независимо от состояния страницы.
CS>> Я уже не говорю о тыканием мышой в back button. SetWindowHook — не предлагать ибо хак вульгарный.
AVK>Interop все равно запрещен для всего кроме Full Trust сборок.
Мы наверное говорим о разных вещах.
Представь себе скажем некий applet (Java, SL — неважно), скажем редактор, и ситуацию когда пользователь жмет на host странице гиперлинк.
Текущая страница замещается — уходит в стек history (или на новый tab) и новая появляется в том же view. Ты утверждаешь следующее:
1) Applet получает нотификацию от том что page goes out of view but not destroyed.
2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться?
Здравствуйте, c-smile, Вы писали:
CS>Представь себе скажем некий applet (Java, SL — неважно), скажем редактор, и ситуацию когда пользователь жмет на host странице гиперлинк. CS>Текущая страница замещается — уходит в стек history (или на новый tab) и новая появляется в том же view. Ты утверждаешь следующее: CS> 1) Applet получает нотификацию от том что page goes out of view but not destroyed. CS> 2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться?
Я тебе еще раз повторяю — проблема эта решена в WPF/SL изначально, оно там сразу закладывалось. Продробно — кури соответствующую документацию и примеры. Начать можно с класса Page. Еще раз повторю — SL, а уж тем паче XBAP приложение совершенно не обязано встраиваться в HTML, это не апплет.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, c-smile, Вы писали:
CS>>Представь себе скажем некий applet (Java, SL — неважно), скажем редактор, и ситуацию когда пользователь жмет на host странице гиперлинк. CS>>Текущая страница замещается — уходит в стек history (или на новый tab) и новая появляется в том же view. Ты утверждаешь следующее: CS>> 1) Applet получает нотификацию от том что page goes out of view but not destroyed. CS>> 2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться?
AVK>Я тебе еще раз повторяю — проблема эта решена в WPF/SL изначально, оно там сразу закладывалось. Продробно — кури соответствующую документацию и примеры. Начать можно с класса Page. Еще раз повторю — SL, а уж тем паче XBAP приложение совершенно не обязано встраиваться в HTML, это не апплет.
Я ему про Фому, а он мне про Ерему. Я говорю исключительно про Silverlight и web browser based UI. При чем здесь XBAP?
Так какая из перечисленных мной проблем решена в Silverlight (котрый встраивается на страницу через <object> или <embed>?
Еще раз: забудь о [большом]WPF и XBAP которые предполагают наличие UA (User Agent/Application) принципиально другого типа. Мы говорим о сугубо web browsers.
Здравствуйте, c-smile, Вы писали:
CS>Я ему про Фому, а он мне про Ерему. Я говорю исключительно про Silverlight и web browser based UI. При чем здесь XBAP?
При том что SL 2.0 это облегченная версия XBAP с упрощенным CLR, встраиваемым в плагин. И если уж проводить аналогии с джавовскими апплетами, требующими JRE, то XBAP к ним куда как ближе.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, c-smile, Вы писали:
CS>Сомневаюсь я по поводу Mozilla например. В gecko такое в общем-то безобидное действо как изменение CSS атрибута display приводит к пересозданию окна и соответсвенно к потере состояния. Я уже не говорю о тыканием мышой в back button. SetWindowHook — не предлагать ибо хак вульгарный.
Это делается с помощью простого трюка с anchor'ами.
Погугли по словам "GWT anchor back button" — я сейчас на dialup.
Здравствуйте, c-smile, Вы писали:
CS>Мы наверное говорим о разных вещах. CS>Представь себе скажем некий applet (Java, SL — неважно), скажем редактор, и ситуацию когда пользователь жмет на host странице гиперлинк. CS>Текущая страница замещается — уходит в стек history (или на новый tab) и новая появляется в том же view. Ты утверждаешь следующее:
Этого не происходит, если происходит переход на другой anchor...
А дальше дело техники — кодируем состояние апплета в виде anchor'а и ставим history listener.
CS> 1) Applet получает нотификацию от том что page goes out of view but not destroyed. CS> 2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться? CS>Что из этого true?
Ничего, это к делу не относится.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, c-smile, Вы писали:
CS>>Я ему про Фому, а он мне про Ерему. Я говорю исключительно про Silverlight и web browser based UI. При чем здесь XBAP?
AVK>При том что SL 2.0 это облегченная версия XBAP с упрощенным CLR, встраиваемым в плагин. И если уж проводить аналогии с джавовскими апплетами, требующими JRE, то XBAP к ним куда как ближе.
Мне кажется ты сам не понимаешь о чем говоришь. Или не понимаешь принципов встраивания тех же <applet>.
Silverlight is a cross platform, cross browser .NET plug-in that enables designers and developers to build rich media experiences and RIAs for browsers.
Это в принципе то же самое что и Java plug-in который использует JRE. Т.е. Silverlight предназначен для встраивания в web page (html) и использует .NET Framework вместо JRE.
XBAP is Windows only and requires .Net 3 Framework to be installed on your machine. It is used for creating heavyweight .Net applications that take advantage of the full capabilities of .Net 3 Framework.
Silverlight(TM) is a small component that is plugged into the browser. It is cross platform and does not require the installation of .Net 3 Framework.
Silverlight(TM) supports only a subset of XAML. You may think of Silverlight(TM) (WPF/E) as Microsoft's equivalent to Flash Player.
В IE XBAP player это отдельное view в котором html и не пахнет. Это фактически все тот же ActiveX.Document — это то как IE открывает Word или Excel файлы.
Я надеюсь разница между ActiveX.Control и ActiveX.Document очевидна и объяснять отличия не нужно.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, c-smile, Вы писали:
CS>>Мы наверное говорим о разных вещах. CS>>Представь себе скажем некий applet (Java, SL — неважно), скажем редактор, и ситуацию когда пользователь жмет на host странице гиперлинк. CS>>Текущая страница замещается — уходит в стек history (или на новый tab) и новая появляется в том же view. Ты утверждаешь следующее: C>Этого не происходит, если происходит переход на другой anchor...
C>А дальше дело техники — кодируем состояние апплета в виде anchor'а и ставим history listener.
"кодируем состояние апплета в виде anchor'а" — тема не раскрыта. Как конкретно это делается?
CS>> 1) Applet получает нотификацию от том что page goes out of view but not destroyed. CS>> 2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться? CS>>Что из этого true? C>Ничего, это к делу не относится.
У меня есть редактор (WYSIWYG HTML editor) который хостится как <applet>. Я хочу например чтобы стек undo/redo сохранялся при навигациях с/на страницу.
Короче для формулировки что заявлена Mamut в начале:
Все же люди начинают делать веб-приложения с упором на слово приложение, несмотря на всю кривизну HTML+CSS+Javascript. Предстоит нам бум таких приложений или все же нет?
Я берусь утверждать что круг "приложений" достаточно сильно ограничен. Не все можно положить во ViewState.
Это все вопрос про разницу толстый/тонкий клиент. А если толстый то какими правами обладает.
Здравствуйте, c-smile, Вы писали:
AVK>>При том что SL 2.0 это облегченная версия XBAP с упрощенным CLR, встраиваемым в плагин. И если уж проводить аналогии с джавовскими апплетами, требующими JRE, то XBAP к ним куда как ближе.
CS>Мне кажется ты сам не понимаешь о чем говоришь.
CS>Silverlight is a cross platform, cross browser .NET plug-in that enables designers and developers to build rich media experiences and RIAs for browsers.
CS>Это в принципе то же самое что и Java plug-in
Гы, черточка, гы. Под это определение можно подогнать абсолютно любой плагин для расширения возможностей UI. Например тот же XUL runner. В таком раскладе я конечно согласен — и аплеты, и SL, и Flash/Flex/Как_там_он_сейчас_называется, и XUL, и дотнетный System.Windows.Forms.UserControl и даже ActiveX — одна фигня.
CS> который использует JRE. Т.е. Silverlight предназначен для встраивания в web page (html) и использует .NET Framework вместо JRE.
Silverlight не использует .NET, в том числе и SL 2.0. Дотнет использует XBAP. Собственно, это главная разница между ним и SL. Еще дотнет использует UserControl (это полная аналогия апплетов по внешней архитектуре).
CS>
CS>XBAP is Windows only and requires .Net 3 Framework to be installed on your machine. It is used for creating heavyweight .Net applications that take advantage of the full capabilities of .Net 3 Framework.
CS>Silverlight(TM) is a small component that is plugged into the browser. It is cross platform and does not require the installation of .Net 3 Framework.
CS>Silverlight(TM) supports only a subset of XAML. You may think of Silverlight(TM) (WPF/E) as Microsoft's equivalent to Flash Player.
Я все это знаю. Ты к чему это процитировал?
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>
Здравствуйте, c-smile, Вы писали:
C>>Этого не происходит, если происходит переход на другой anchor... C>>А дальше дело техники — кодируем состояние апплета в виде anchor'а и ставим history listener. CS>"кодируем состояние апплета в виде anchor'а" — тема не раскрыта. Как конкретно это делается?
Да хоть как. От приложения зависит.
Представь, что у тебя апплет с тремя табами на странице "http://blah.blah.com/someapp". Ты кликаешь на tab2. Это вызывает перход на "http://blah.blah.com/someapp#tab2". Браузер остаётся на той же странице и генерируется событие, которое перехватывается апплетом или связующим JavaScript'ом. Событие "переход на якорь #tab2" затем передаётся движку апплета, который его обрабатывает как ему там нужно.
При нажатии кнопки "Назад" — оно точно так же перейдёт на страницу с пустым якорем.
Это всё уже РЕАЛЬНО РАБОТАЕТ в Flex'е и GWT, я сам это использовал в одном приложении на GWT. http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/History.html — для GWT.
C>>Ничего, это к делу не относится. CS>У меня есть редактор (WYSIWYG HTML editor) который хостится как <applet>. Я хочу например чтобы стек undo/redo сохранялся при навигациях с/на страницу.
Делаешь на каждое действие по уникальному id и передаёшь их в виде anchor'ов. Могу помочь.
CS>Я берусь утверждать что круг "приложений" достаточно сильно ограничен. Не все можно положить во ViewState.
Есть ещё серверные сессии
CS>Это все вопрос про разницу толстый/тонкий клиент. А если толстый то какими правами обладает.
Большую часть можно.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, c-smile, Вы писали:
AVK>>>При том что SL 2.0 это облегченная версия XBAP с упрощенным CLR, встраиваемым в плагин. И если уж проводить аналогии с джавовскими апплетами, требующими JRE, то XBAP к ним куда как ближе.
CS>>Мне кажется ты сам не понимаешь о чем говоришь.
AVK>Видимо аргументы кончились. Пошло обсуждение собеседника.
Аргументы кончились у кого?
Я задал вопросы:
1) Applet(java или silverlight applet) получает нотификацию от том что page goes out of view but not destroyed.
2) У тебя есть возможность дифференцировать ситуацию что пользователь ушел вообще или Карлсон обещал вернуться?
Все жду аргументы.
CS>>
CS>>Silverlight is a cross platform, cross browser .NET plug-in that enables designers and developers to build rich media experiences and RIAs for browsers.
CS>>Это в принципе то же самое что и Java plug-in
AVK>Гы, черточка, гы. Под это определение можно подогнать абсолютно любой плагин для расширения возможностей UI. Например тот же XUL runner. В таком раскладе я конечно согласен — и аплеты, и SL, и Flash/Flex/Как_там_он_сейчас_называется, и XUL, и дотнетный System.Windows.Forms.UserControl и даже ActiveX — одна фигня.
Абсолютно верно. Концептуально это одно и то же: содержимое code behind встраиваемого контента/компонента загруженного с пом. <embed> или <object> на web страницу. По определению такие технологии не могут изменить browser model — history, modeless execution и пр.
CS>> который использует JRE. Т.е. Silverlight предназначен для встраивания в web page (html) и использует .NET Framework вместо JRE.
AVK>Silverlight не использует .NET, в том числе и SL 2.0. Дотнет использует XBAP. Собственно, это главная разница между ним и SL. Еще дотнет использует UserControl (это полная аналогия апплетов по внешней архитектуре).
SL использует свою собственную VM что принципиально ничего не меняет. JRE тоже могут быть разными но суть от этого не меняется.
CS>>
CS>>XBAP is Windows only and requires .Net 3 Framework to be installed on your machine. It is used for creating heavyweight .Net applications that take advantage of the full capabilities of .Net 3 Framework.
CS>>Silverlight(TM) is a small component that is plugged into the browser. It is cross platform and does not require the installation of .Net 3 Framework.
CS>>Silverlight(TM) supports only a subset of XAML. You may think of Silverlight(TM) (WPF/E) as Microsoft's equivalent to Flash Player.
AVK>Я все это знаю. Ты к чему это процитировал?
Это я к тому что xbap не является технологией встраиваемой в web page content.
xbap это приложение принципиально другого типа. Общего с web browser там только способ доставки контента — over the wire.
Еще раз: в этом топике мы говорим про: "веб-приложения с упором на слово приложение, несмотря на всю кривизну HTML+CSS+Javascript."
Мысль моя заключается в том что никакие существующие встраиваемые в HTML средства не могут решить принципиальные ограничения этой технологии.
Здравствуйте, Cyberax, Вы писали:
C>>>Ничего, это к делу не относится. CS>>У меня есть редактор (WYSIWYG HTML editor) который хостится как <applet>. Я хочу например чтобы стек undo/redo сохранялся при навигациях с/на страницу. C>Делаешь на каждое действие по уникальному id и передаёшь их в виде anchor'ов. Могу помочь.
Я вставил в редактор image из клипборда. Как мне закодировать сие действо? В частности как этот image там разместить?
И потом какова глубина history?
CS>>Я берусь утверждать что круг "приложений" достаточно сильно ограничен. Не все можно положить во ViewState. C>Есть ещё серверные сессии
Есть. И?
CS>>Это все вопрос про разницу толстый/тонкий клиент. А если толстый то какими правами обладает. C>Большую часть можно.
"Приложение большей частью работает" звучит как "рыба почти свежая".
Здравствуйте, c-smile, Вы писали:
AVK>>Гы, черточка, гы. Под это определение можно подогнать абсолютно любой плагин для расширения возможностей UI. Например тот же XUL runner. В таком раскладе я конечно согласен — и аплеты, и SL, и Flash/Flex/Как_там_он_сейчас_называется, и XUL, и дотнетный System.Windows.Forms.UserControl и даже ActiveX — одна фигня.
CS>Абсолютно верно. Концептуально это одно и то же
Все понятно. Дальше продолжать разговор смысла нет.
... << RSDN@Home 1.2.0 alpha 2 rev. 872 on Windows Vista 6.0.6001.65536>>