Журнал Компьютерра - Журнал "Компьютерра" N741-742
Несколько примеров. Adobe AIR — это решение на основе браузерного движка WebKit (используется в Safari), "внутри" себя позволяет запускать air приложения, состоящие из HTML и Flash/Flex файлов, собранных в одно приложение с помощью бесплатного AIR SDK. Если на пользовательском компьютере установлен AIR, то air-приложения устанавливаются "совсем как настоящие" (меню "Пуск", "Установка и удаление программ" и т. п.) и, будучи запущены, выглядят как обычные приложения — и к трею доступ имеют, и обновляться (и даже запускаться) могут с Веба… Правда, модель безопасности в них достаточно простая — либо приложение подписано сертификатом, выданным Adobe, либо "Хотите ли вы запустить это неподписанное приложение?".
А вот Mozilla Prism (на движке Firefox’а, естественно) позволяет уже существующие веб-сервисы запускать как "совсем настоящие приложения". Для этого нужен специальный файл с расширением webapp — просто zip-архив, внутри которого лежит ini-файл, описывающий, какой сайт да с какой иконкой запускать. Впрочем, этим возможности Prism не ограничиваются — в том же webapp-архиве могут лежать и дополнительные js файлы, которые используют возможности интеграции в пользовательскую среду, предоставляемые Prism (например, раз в секунду проверять, поменялась ли строка, отображающая количество писем в загруженном Gmail приложении, и если да — отображать иконку-конвертик все в том же трее). Правда вот, с безопасностью и контролем у Prism пока совсем никак — но бета, бета ведь.
Внутреннее: хранение данныхИз перечисленных ранее "производственных необходимостей" на пути к богатому интернет-приложению осталась необходимость хранения данных на клиенте:полученных писем, пользовательских настроек, уже загружавшихся частей карты, да мало ли чего. Наименее заметный для клиента (и оттого комфортный) способ предлагает библиотека Dojo.storage (часть огромного фреймворка Dojo, упоминавшегося выше как популярное средство построения HTML-интерфейсов).
Решение Dojo.storage иначе как хаком не назовешь библиотека позволяет использовать уже существующие на клиенте, но имеющие другое предназначение "хранилища": например, возможность браузера хранить информацию в cookies или скрытый Flash-объект (Flash-плагин имеет встроенную возможность сохранять небольшое количество информации на клиенте).
Как всякий хак, такое решение довольно уязвимо: и объем хранимого ограничен, и полностью рассчитывать на то, что в каждый следующий раз удастся записать/ прочитать сохраненную информацию, нельзя. Более надежное решение — Google Gears, устанавливаемый как плагин к браузеру и позволяющий умеющему работать с ним приложению хранить данные на клиентском компьютере (но только в специальной встроенной БД, доступа к файловой системе приложению не предоставляется). Adobe AIR также содержит встроенную БД и средства работы с ней (к слову, и Gears, и AIR, и многие другие используют один и тот же опенсорсный движок БД SQLite).
Куда ты плывешь, крыша моя?Возможно, судить еще рано, однако похоже, что тенденции на улучшение веб-приложений ведут клиентскую часть Веба куда-то далеко в сторону от изначальной "платформы для чтения документов". Например, мозилловцы, создавшие Prism, говорят о нем как о Site Specific Browser (каждому сайту свой браузер с подходящим именно этому сайту внешним видом и управлением), а горячие норвежские парни из Opera прямо говорят о своем курсе на превращение браузера в "полноценную платформу для приложений, работающую на любом устройстве"[Например, недавно Opera анонсировала поддержку Google Gears по собственному почину, не дожидаясь, пока "приспособление" биб лиотеки к браузеру сделает Google.]. Все это очень здорово, но как бы оставляет за кадром тот факт, что первоначальное назначение Веба — сети гипертекстовых документов — отнюдь не исчерпано. И тем не менее весь браузерный прогресс последних лет направлен вот на то самое — на превращение браузера в "платформу для всего" [Не могу не вспомнить бесконечно бородатую шутку про текстовый редактор Emacs, тоже стремившийся в свое время стать платформой и преуспевший: "Emacs — отличная операционная система, жаль, текстового редактора в ней нету". ], а не на удобство потребления информации. Не то пора, как предлагают некоторые, вводить HyperApplication Transfer Protocol — чтобы спасти Hyper Text от засилья приложений; не то пора создавать веб-приложение-для-удобного чтения [(Не сарказм.) Рекомендую обратить внимание, например, на New York Times Reader, сделанный на основе Microsoft WPF (то есть технологии, частью которой и является Silverlight). См]…
P.S. Автор благодарит за ценные консультации Андрея Федонюка (Terra Informatica Software) — создателя интерфейсной библиотеки HTMLayout и платформы для RIA-приложений Sciter.
голубятня: Победа над Биби-Иби
Победа над Биби-ИбиАвтор: Сергей Голубицкий
Опубликовано в журнале "Компьютерра" N25-26 от 08 июля 2008 годаФутбол можно смотреть по-разному. Можно — профессионально: когда смакуешь, поцокивая языком, каждый удачный финт, прорыв по флангу, увенчанный результативным навесом, многоходовку коротким пасом а-ля "Спартачок", голову, подставленную в нужном месте и в нужное время. Футбол можно смотреть и стебально-культурологически — например, так: "То, что мы называем футболом, таит какую-то чрезвычайно архаическую и значимую ритуально-мифологическую жертву, которая, разумеется, имеет сексуальный характер, но главная семантема которой — это утверждение неделимой сферической космической уплотненности, стабильности через разрыв единичного тела, через неудовлетворенность избыточной непристойности желания. То, что мяч проникает в ворота, безусловно важно, но то, что форвард оказывается козлом отпущения, что забивание мяча в ворота, космическое совокупление его головы с головой земли, это, пожалуй, самое важное"[Вадим Руднев, "Метафизика футбола" (журнал "Логос", www.ruthenia.ru/logos/number/1999_08/1999_8_06.htm).].
Наконец, можно смотреть футбол пообывательски — именно так, как его смотрят сотни миллионов почитателей во всем мире. Смысл обывательского восприятия футбола — в фаллических замерах на уровне дихотомии "свой-чужой": "Мы им сегодня наваляем!" Чем выше уровень этой дихотомии, тем футбол увлекательней и зажигательней. Можно, конечно, смаковать игру "Шинника" родного завода против "Птичника" из пригородного совхоза, но хотелось бы чего-то помасштабнее: например, "Спартак" — "Зенит", то есть наш город против их города.
Вершина обывательского наслаждения футболом — игры международные, когда дихотомия "свойчужой" достигает кульминации и приносит максимум удовольствия: кто видел, как обнимался испанский принц с испанской принцессой всякий раз, как национальная сборная Испании вколачивала очередной гол в ворота россиянских мастеров голландского футбола, тот оценит масштаб действа и его универсальность, пронизывающую любые социальные страты.
Задача сегодняшнего культур-джема — втереть бальзам в раненые сердца соотечественников, опечаленных двойным нокаутом, нанесенным иберийскими обидчиками. Не нужно печалиться! Футбол игра хоть и фаллократическая, а значит — универсально мужская, тем не менее годится не для всех.
В смысле — не всем народам подходит под национальный архетип, который невозможно замутнить никакими голландскими тренерами и бразильскими легионерами.
Если верить Вадиму Рудневу, катание мяча ногами (= ногомёт, футбол) родилось из сексуальной репрессивности английского народа: "Конец XIX века — викторианство, когда женщине было неприлично вообще двигаться в постели во время полового акта — она должна была лежать на спине тихо и спокойно. Расцвет и одновременно закат английского национального характера — чопорность, замкнутость, порядочность, "обсессивность-компульсивность" [Райх, 1999]. И вот здесь-то и возникает футбол, где играют ногами. Ясна отчетливая сублимативная функция футбола в эпоху с эксплицитно репрессированной сексуальностью. В чем цель (goal — гол) игры в футбол? В том, чтобы при помощи ног (субститутов половых органов) забить (затащить) круглый предмет в некое ограниченное пространство (по сравнению с футбольным полем ворота — это весьма ограниченное пространство), в сетку, в дыру. Стоит ли приводить примеры из "Толкования сновидений"?
В самом деле — не стоит. Как бы шокирующе ни выглядела подобная трактовка сублимационных импульсов футбола, она, тем не менее, блестяще объясняет, почему одни народы всегда играют в футбол хорошо, а другие плохо. Какие бы тренеры их ни обучали, какие бы иностранные игроки ни усиливали игру, команда, выражающая национальный дух, всегда играет так, как этот дух соотносится с концепцией сексуальной репрессии — в узком плане и культа macho — в широком.
Рискну сформулировать аксиому: в футбол играют хорошо только те народы, в культуре которых а) существует выраженная традиция перманентного сексуального самоутверждения и б) исторически реализована идея коллективного прозелитизма. В переводе на человеческий язык: хороший футболист — тот, чьи предки по мужской линии всегда ходили павлинами по селу ("Смотри, какой джигит идет!") и постоянно лезли к другим народам (не обязательно соседним) с советами и поучениями (разумеется, не безвозмездными!). При таком раскладе, как вы понимаете, русским людям в футболе мало что светит. Идея сексуального самоутверждения не то что не выражалась в русской культуре перманентно, но и вообще в ней никак и никогда не выражалась. Русская сексуальная традиция девственно чиста. Чтобы понять всю немыслимость сексуального самоутверждения в родных весях, достаточно представить себе, как паренек из тамбовской губернии шлифует бродвей родного села, постоянно держась и поправляя причинное место (коронный жест афроамериканцев — эмблема macho в рафинированном виде!)