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 много всяких интересных технологий которые так и остаются неизвестными :(
Уже года три использую эту возможность для написания корпоративных приложений. Очень удобная технология. И хорошо что она неизвестна — я сделал на ней неплохие деньги.
Аякс на ней работает?
т.е. хта-шное окошко возвращает содержимое?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
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