Pull to refresh

Comments 69

Надо же в MS придумали AJAX, а так же теперь понятно откуда растут ногу у mozilla prism и adobe air:)
ну или отчасти «Создать ярлык приложения» в Chrome.
Я после знакомства с хромом, кстати, и вспомнил об этой статье, написанной мною в далеком 2002-м!
Даже близко не лежит. Вообще, то, что сделано в Хроме — это банальный запуск Хрома в окошке без оформления. Вообще непонятно, из-за чего сыр-бор. Мозилловская Призма, например, выделяет на каждое такое «приложение» свой профиль, поэтому, скажем, можно иметь несколько Gmail-окон, каждое со своим аккаунтом. На Хроме так не сделать, у него все куки общие.

А HTA — это полноценное локальное приложение, у него есть полный доступ к файловой системе и ко всем объектам ОС. Там нет «песочницы».
Для chrome тоже можно завести несколько profile'ов и сделать ярлыки для разных аккаунтов.
Да, но это требует хоть и несложной, но работы с бубном, в его родном интерфейсе такого функционала нет.
Насчёт работы с бубном не уверен, а вот с командной строкой пообщаться придётся:

chrome.exe -user-data-dir=«PATH_TO_NEW_PROFILE_DIR»

При этом каталог PATH_TO_NEW_PROFILE_DIR создаётся, если не существовал до этого.
Для программиста путь несложный, но для конечного пользователя неприемлемый.
MS много чего придумала и ввела, только об этом обычно любят умалчивать.
Я бы сказал большинство об этом даже не догадывается :)
Упрощать мир до черно белых цветов: Гугл — добро, МС — зло, вообще свойственно людям :)
Просто у МС меняются приоритеты раз на два года. В определённый момент МС решила, что возможность строить веб-приложения с функционалом как у десктопа может повердить комерческим перспективам ОС и остановила разработку технологии. Потому HTA достаточно сильно ограничен, хочеш более продвинутій интерфейс нужны пользоватеьские ActiveX с новыми контролами, а учитывая изменения в модели безопасности IE для ActiveX, а ещё ораничения работы с файловой системой, то этот вариант теряет свою привлекательнсть.
HTA сейчас хорош для несложных autorun например. Основные задачи отображение HTML и обработка несложного пользовательского ввода(может например получится неплохой аналог chm справки). Делать что либо более серёзное не стоит.

Хотите аналог более функциональный HTA, тогда используйте что то на подобие Sciter www.terrainformatica.com/sciter/main.whtm
некоторые отважные первооткрыватели вскрыли МСовский htmllite, но для комерческого применения это плохой вариант. Ещё вариант с использованием Mozilla XUL Runner, но XUL лично мне не нравится, ну и мне не совсем ясно ео будущее, что то не могу найти roadmap, соверщенно точно помню что хотят отказатся в будущем от XPCOM, а вот что будет с XUL не нашол.
VML, XML Data Island, первая реализцаия XSLT преобразования в браузере (пусть и за счет msxml, тогда второго и ущербного), фильтры… я думаю, много чего накопать можно
например, HTML+TIME :)
да, живой urn в неймспейсках, дас ис фантастиш! :)
XSLT остальные научились делать только через 7-8 лет. XML Data Island — вообще грандиозная идея, к сожалению не нашедшая поддержки.
Имхо, когда ни один из броузеров не имел 100% поддержки стандарта условные комментарии значительно облегчили бы жизнь.
Вполне работоспособный wysiwyg был уже в ie5. В Опере wysiwyg стал нормально поддерживаться только в 8 или 9 версии. Да работает через ActiveX, но зато не виснет на документах большого объема.

Жаль только, что развитие броузера практически прекратилось после выпуска ie5.5

Я бы даже сказал, что в ие4 уже многое было и прекрасно работало. Помнится мне, еще в 1999 году делали проект, в котором решили не перегружать многие страницы, а только подгружать необходимые данные и обновлять на стороне клиента (а-ля AJAX), таблицы прекрасно сортировались «на лету» и т.д. и т.п. Конечно, все делалось только под ие4, нетшкаф 4 был сущим кошмаром в этом плане.
у оперы есть встроенный wysiwyg!? я и не знал, а можете, плиз, ссылку по теме предоставить?

А XML Data Island воплощение нашло, в HTML5 есть data grid и data template. Хотя, я их не особо-то изучал и могу ошибаться.
>у оперы есть встроенный wysiwyg!
Встроенного нет, но сейчас более менее поддерживаются наиболее распространенные редакторы типа FCKEditor или TinyMCE. C оговоркой. Имхо невозможно редактировать большие документы со сложным форматированием. А вот в FCKEditor под IE можно, за счет того, что он использует встроенные возможности ОС.
>А XML Data Island воплощение нашло, в HTML5
Некорректно. XML Data Island поддерживался во времена, когда IE держал >97% рынка. Да и сейчас поддерживается. Но не прокатило. А HTML5 еще только в черновиках.
ну я имел ввиду что «воплощение есть», а HTML5 будет в черновиках до 2022го :) так что можно смело сказать, что XML Data Island опередил всех лет на двадцать, кнеш, если не наступят смутные времена кросс-браузерной жизни без стандартов
2022: wiki.whatwg.org/wiki/FAQ раздел «When will HTML 5 be finished?»
К сожалению, в IE 10 прекращена поддержка VML.
В контексте топика это означает, что для аудитории пользователей HTA с разными версиями IE разработчику нужно будет реализовать поддержку как VML, так и SVG, появившейся в IE 9. Вероятно, к HTA можно попробовать приделать Raphael.js или что-то подобное.
Всё новое — это несправедливо забытое старое :)
Хотелось бы узнать, есть ли боле-менее популярные примеры применения HTA?
Мне кажется, что дальше внутреннего использования в MS это не пошло, и я считаю, что зря. Много интересного можно придумать, особенно когда есть определенные рамки при разработке сего либо.
Видел в качестве рассадника вирусов (типа ReadMe!.. hta)
Например, программка VEMoDe, которой я уже давно постоянно пользуюсь.
Они были троянами и вирусами. Не видел ни одного полезного hta :)
например многие инсталляторы, вернее то что запускается по авторану, например, вроде как инсталяторы студии и мсдна, сql сервера (было ранее точно)
Инсталятор студии с 2002-й использует htmllite.
А вот например Visual Studio 2008 Training Kit это hta.
Есть вариант Pngfix'a для IE в виде HTA
Прошу прощения, это HTC. Ошибся.
В Украине есть приложение разработаное для создание отчетов и их подальшей отправки в налоговую инспекцию. Сделано чисто на HTA + JS.
в кросс-браузерной обстановке нет, и популярных быть не может :(
есть аська написаная на hta
помнится попадалось несколько троянов которые .HTA использовали, но вот так навскидку ни одного не вспомнил :(
а из того что в голове крутилось подобные технологии использует Trojan.VBS.Starter.a, но такм не HTA а HTT :«)

инсталлеры для MSSQL на *.hta
я как-то переделал так тетрис на JS
я в своё время када все решали олимпиадные зедачки на паскале, я сдавал красиво оформленные hta :) жутко этим гордился! :) а ещё авторанки для дисков-файлосолянок делал hta
у MS много всяких интересных технологий которые так и остаются неизвестными :(
Уже года три использую эту возможность для написания корпоративных приложений. Очень удобная технология. И хорошо что она неизвестна — я сделал на ней неплохие деньги.
Аякс на ней работает?
т.е. хта-шное окошко возвращает содержимое?
MS не дало этому хода, потому что… OpenSource в чистом виде))))))
UFO just landed and posted this here
а ты f3 на файлике нажми
UFO just landed and posted this here
Кстати в этих приложениях доступны дополнительные (по сравнению с javascript в браузере) объекты.
Скажем можно формировать и сохранять XML-файлы.

Мне однажды приходилось писать на hta анкету для маркетингового исследования, результатом заполнения был файл, который опрашиваемые отправляли по e-mail. Конечно изврат, но там была своя специфика. У людей этих профессий часто нет открытого инета и надо было сделать что-то offline.
HTA приложения для некоторых направлений весьма полезны. Я, в частности, довольно много с ними работал и есть ряд существенных недостатков.

Во-первых, необходима кросбаузерная совместимость. Т.е. надо что бы интерфейс нормально отображался в IE6 и IE7.

Во-вторых, интерфейс такого приложения сделать — это не очень тривиально. Visual средств, естественно, нет. Можно программить UI с использованием ExtJS, конечно, но ничего похожего на Visual Studio Form designer не существует.

Ну и в-третьих, крайне бедный функционал собственно скриптинга. Конечно можно использовать какой-либо ActiveX. Можно даже WMI использовать. Но сконвертировать из base64 и записать бинарный файл на диск, содержащий \0 — это проблемка еще та, я вам скажу. Отдельно можно рассмотреть асинхронный ввод/вывод информации из консольных приложений, тоже тема интересная.

Для меня, к сожалению, использовать HTA был единственный выход, потому что хотелось написать десктопное приложение, .NET на машинах может и не быть, а в связи с основной Web-направленностью, ни Delphi, ни C++ я толком не знаю и на чем еще писать GUI не представляю.

Кстати может и посоветуете что… Основная задача: простое GUI desktop приложение, которому надо обращаться к файловой системе, отправлять HTTP запросы, запускать exe-файлы, работать с COM объектами: обращаться к WMI, IIS metabase, etc. .NET не предлагать, C++, Delphi тоже. Спасибо.
Какой-нибудь wxPython? По идее, поскольку существуют всякие py2exe, то есть шанс даже получить на выходе нормальный экзешник.
>Какой-нибудь wxPython? По идее, поскольку существуют всякие py2exe, то есть шанс даже получить на выходе нормальный экзешник.

ИМХО, wxPython не очень тривиалная в изучении штука… да и тоже вменяемых кроссплатформенных GUI builders не встречал, только примочка к glade… под никсы
Вы очень сильно осложнили задачу одновременным требованием доступа COM-объектам и исключением компилируемых языков. Поэтому ничего удивительного…

На Java не смотрели?:)
Кроссплатформенных GUI builders. Платные DialogBlocks, wxDesigner, безплатные VisualWx, Glade, xrced. Все перечисленные без проблем работают в Окошках. А вообще нафига вам кросплатформенность если в требованиях COM, WMI, IIS, которые на других платформах только через Wine работают, кроме IIS.
wxPython не сложнее в обучении любого современного тулкита, слишком сложен, нет проблем пользуйтесь tkinter или (Pythonwin, win32ui).

А вообще вы слишком в требованиях противоречивы, судя по всему либо не знаете чего хотите либо не определились в требованиях, но уже есть внутреннее неприятие каких-то решений того же С++, Delphi, а так же Python. Потому либо шашечки либо ехать. Компонента TProgrammer который будет писать за вас код не существует. Универсального решения для всего в жизни тоже не найдёте. Определите ч'тко круг задач, выставте приоритеты что обязательно должно поддерживатся, а что желательно, а потом можно выбирать, конечно что с учётом личных предубеждений ибо писать на том что тебе не нравится сложно, но тут нужно выбирать так чтобы и себе хорошо и проэкту не в ущерб.

Из интерпритируемых языков под перечисленные требования мощнее Python вы не найдёте, требование COM, WMI, IIS, отметает другие альтернативы.
Delphi остаётся единственной альтернативой для быстрого построения багатых десктоп-клиентов для native win32 и если для диапазона задач недостаточно Python лучшим решением останется Delphi.
Упомянутый мной Sciter SDK, позволяет создать значительно более мощные приложения чем на HTA, но тот же доступ к COM, WMI там реализуется не так просто, потому что предназначен он для других вещей.
«багатых десктоп-клиентов»
опечатка по фрейду.
>Во-вторых, интерфейс такого приложения сделать — это не очень тривиально. Visual средств, естественно, нет. Можно программить UI с использованием ExtJS, конечно, но ничего похожего на Visual Studio Form designer не существует.

tof2k.com/ext/formbuilder/ не VS конечно, но интерфейсы на Ext строить очень помогает

sciter SDK: www.terrainformatica.com/sciter/
Python — COM, WMI, IIS metabase доступ очень просто, GUI тоже не сложно (родной tkinter гуй, или wxPython). С помощью py2exe пакуем всё в exe без дополнительных зависимостей.
Меня удивляет одна малость. Чем это HTA лучше Java или любого скаченного exe'шника? Java даёт контролируемую защиту, exe'шник даёт возможности, оба они имеют хорошие средства разработки и отладки. Остаются понты?
UFO just landed and posted this here
Как по мне, так вполне себе уживаются приложения на JavaScript/Flex, написанные для Adobe AIR.
Но за упоминание такой интересной особенности спасибо, не знал!
Вот в принципе оптимальное применение. Если уже есть реализация в JS, то зачем переписывать на другом языке, просто вытаскиваешь и работает.
Сижу и вижу летающую по воздуху идею… Сам уже третий день собираюсь писать, инфу собираю, присеры готовлю и т.д.
Даже страшно стало.
*примеры
Извините, действительно удивительная штука творится.
Спасибо как раз щас пригодится!
За заметку писателям топиков: используйте тег <code> — это единственное спасение от этого чёртового Типографа.
выше уже упоминали о «вытаскивании» скриптов
я при помощи HTC вытащил в отдельный файл тетрис на JS, наверное в Win среде самое оптимальное употребление — локализовывать веб скрипты, тем более если они под ослика заточены
нащот «Безбраузерные приложения на Javascript (HTA)» — это громко сказано, так как в основе все равно используется движек IE.
чтоб чето нормальное делать — нужно использовать такую дурь как COM, ActiveX, посему hta и устаревшая и непопулярная технология.
ну а для тонких клиентов и обычного браузера хватит, причем будет это кроссплатформенно и работать на любом браузере.
При всем этом вам не придется устанавливать никаких отдельных приложений или плагинов, достаточно Internet Explorer-а!

Сначала нужно этот самый Internet Explorer установить.
Напомнило реализацию языков под WEB на .NET типа asp.NET… только всё равно не очень ясно у чего от куда ноги растут.
Sign up to leave a comment.

Articles

Change theme settings