Чему нас учат китайские шараварщики

Feb 16, 2011 08:58

См. начало темы тут

Китайские шараварщики (от shareware) учат нас активнее использовать метод RegisterNameSpace объекта IInternetSession. Этот метод позволяет в рамках одного Win32 аппликейшена заменить стандартный IInternetProtocol своим собственным, и таким образом заставить IWebBrowser вместо лазания в Интернет за URL-ями вызывать определенную программистом собственную функцию. То-есть напрямую соединить внутри одного Windows приложения, внутри одного .exe файла, веб-браузер, веб-сервер и всё что между ними, причем так, что пчёлки (как минимум потенциально) ничего не замечают - .html файлам не надо знать, в нормальной веб-среде они живут или на десктопе, так же как и коду, исполняемому на сервере.

Почему-то именно китайцам этот метод особенно дорог. У меня есть две версии, почему: во-первых, приделав снизу к IWebBrowser свой IInternetProtocol, получаешь очень удобную среду разработки повышенно любимого китайцами же Web UI в десктопных приложениях. Все файлы, живущие в браузере, можно как угодно раскладывать по ресурсам, DLL-ям или базам данных, и потом жонглировать их адресами и способами вынимания из хранилищ прямо в функции, отвечающей на http запрос.

Во-вторых китайцы любят писать шаравару, паразитирующую на браузере. Для чего, конечно, возможность влезть руками по локоть в http канал под живым браузером незаменима.

Интересным частным случаем является IInternetProtocol приделанный сверху к FastCGI модулю от Апача. Это позволяет апачевско-FastCGI-евый веб-серверный аппликейшен запускать в виде Windows-ной программы без модификаций. Наверное такой же бутерброд можно сделать из почти что любых серверных технологий - из какого-нибудь, например, php.

hobby

Previous post Next post
Up