Rambler's Top100
DeepHome
27.06.2008  00:00
Flash, Silverlight, SproutCore. Быть или не быть?

Некоторые технологии - не просто технологии, а плоть индустрии. Если нужен не просто web-сайт, а интерактивное web-приложение, да еще и "богатое" (то есть, ведущее себя примерно так, как обычные программы вашего компьютера, в смысле, когда они работают нормально), нет ни малейших сомнений: для этого нужен Flash.

Технология была разработана в начале 90-х компанией FutureWave Software, у которой ее в конце 90-х приобрела Macromedia. В 2005 Macromedia не стало, но технология Flash обрела нового хозяина в лице Adobe Systems. История этой технологии, во всех ее перепитиях, взлетах и падениях личностей, вовлеченных в ее разработку, достойна многотомных приключенческих романов в стиле Дюма.

И то дело: не все же калечить представления юношества о жизни увлекательными историями о пьянстве, фехтовании, стычках с гврадейцами кардинала и прочих безобразиях. В 21 веке есть куда более благородные занятия, чем кровопролитие.

Но наша история не об этом.

Adobe Systems настойчиво и неоднократно предлагала руку, сердце и Flash для iPhone руководству Apple. И, несмотря на всю важность предлагаемой технологии в глазах околокомпьютерной общественности, Apple не спешит соглашаться...

Читая рассуждения о том, насколько это неразумно со стороны Apple, я вспомнил 1997 год. В те времена очень похожим образом обсуждалась новость о назначении советом директоров Apple Computer нового главы компании. Им стал Стив Джобс, отлично известный своими эксцентричными выходками, отвратительным стилем руководства, упертостью и чуть ли не проблемами с психикой.

Усадить этого сумасшедшего за штурвал безнадежно тонущей компании было самым худшим из всего, что только можно было придумать. Многие в ужасе зажмурились, чтобы не видеть неизбежное и ужасное... кажется, они все еще боятся смотреть, хотя прошло 11 лет, и все давно изменилось.

Наверное, сообщать о том, что Apple "выздоровела" уже необязательно... Те, кто об этом еще не слышал, могут найти информацию об этом где угодно, на самых разных языках.

И если Apple не спешит с внедрением какой-то технологии в самом своем любимом и важном проекте, стоит ли спешить с обвинениями ее в неразумном поведении? В конце концов, инженерам Apple очень хорошо известно, что такое Flash. И не только им.

Например, это не менее хорошо известно инженерам Microsoft.

1. Silverlight и Flash

Инженеры Microsoft предпочли разработать свою модульную технологию, вместо того, чтобы продолжать пользоваться Macromedia Flash. И причины у них были для этого самые серьезные.


Сайт-приложение, построенный в Silverlight, и Safari для Windows.

У Flash серьезные проблемы. Во-первых, быстродействие. Во-вторых, глюки. В-третьих... Наверняка, помимо приведенных причин, у Microsoft были и другие.

3 декабря 2005 году Adobe Systems приобрела Macromedia, со всеми ее проектами, интеллектуальной собственностью и разработками, в числе которых оказалась и технология Flash.

А через год, в декабре 2006 года, Silverlight превратилась в реальность.

Как и следовало ожидать, появление столь мощного конкурента Flash (и не только - в список технологий, с которыми конкурирует Silverlight, входит даже QuickTime), не могло остаться незамеченным пишущей публикой. Немедленно заговорили о том, что Silverlight - убийца Flash. Тем более, что у этой технологии действительно есть несколько замечательных преимуществ перед Flash.

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

С появлением 64-битных операционных систем (а некоторые из них не умеют работать с 32-битными приложениями) и 64-битных браузеров (увы, плагины для 64-битных браузеров не могут быть 32-битными даже в самых лучших системах), 32-битная природа Flash стала превращаться в еще одно серьезное препятствие.

Adobe работает над этой проблемой, но беда в том, что "Flash - технология существенно 32-битная, ее перенос в 64 бита трудоемкий, и не может не занять много времени".

Microsoft разработала свою технологию, используя сильные стороны своей платформы .NET, динамические языки и проприетарные ноу-хау. Во всяком случае, многие из проблем, связанных с применением Flash, осталась позади.

Сетевые приложения, написанные в Silverlight, отлично работают с Safari для Windows. Как минимум, не хуже, чем приложения, написанные с использованием Flash. На пути Silverlight в iPhone OS есть некоторые технические трудности, но, если бы не было никаких других вариантов, их несложно было бы преодолеть.

2. Flash и Apple

Немалые усилия, которые Adobe предпринимает в защиту Flash - это и Adobe Open Screen Project, "проект открытого экрана", в рамках которого предполагается создание и поддержание богатых web-приложений (Rich Internet Applications, RIA), с интерфейсом, одинаковым для всех компьютерных, мобильных и каких угодно систем. И целая операционная web-система для богатых web-приложений, AIR, основанная на Flash, HTML, JavaScript и Ajax.

Обратите внимание и на это: имя операционной web-системы (AIR) и английское сокращение, широко употребляемое для обозначения богатых web-приложений (RIA) - зеркальные отражения.

Но несмотря на все эти интересные замыслы, Apple не спешит приглашать Flash в тесный и очень привлекательный для Adobe мир iPhone OS. Весной этого года, на собрании акционеров компании, Джобс объяснил, почему. По его словам, "полный Flash", как на больших компьютерах, для iPhone слишком большой и тяжелый, а то, что предлагается взамен, то есть, Flash Lite, не может считаться настоящей и серьезной технологией. Вот если бы у Adobe было что-то среднее...

Apple собирается строить свое будущее на основе открытых стандартов, то есть, на основе HTML, CSS и JavaScript. Джобс, как обычно, сказал правду, но не всю. В тот момент, наверное, было еще слишком рано обнародовать некоторые секреты.

16 июня, на пресс-конференции посвященной квартальным финансовым итогам компании, глава Adobe Systems Шантану Нарайен сообщил, что Flash для iPhone уже работает в симуляторе, и готов выдержать испытания настоящим устройством. Ответ от Apple пока не последовал.

На WWDC было обнародовано число соискателей на звание "настоящего iPhone разработчика", иными словами, людей, добивавшихся права заплатить Apple 99 долларов за возможность тестирования (легального) собственного программного обеспечения на собственных iPhone, и за размещение своих же разработок на электронных полках AppStore (то есть, в каждом легальном iPhone в мире).

Желающих было более 25 тысяч. Это тех, кто не был отфильтрован на этапе заполнения заявки, подавать которую могли только "резиденты США". Принято в программу всего 4 тысячи. Судя по всему, Adobe... тоже получила отказ.

Любопытно: на симуляторе работает Flash Lite, или "промежуточный" продукт, о котором говорил Джобс? Или теперь это уже неинтересно?

3. Ростки SroutCore

Однажды, в конце 90-х, Джобс сказал, что он давно не слышал о том, чтобы группа энтузиастов "закрылась в гараже, чтобы создать что-то безумно великое", и что он очень хотел бы, чтобы что-то похожее произошло...

Десять лет спустя...

"Apple почти как Чак Норис..." - так начинается одна из самых последних записей в блоге Чарльза Джолли (он только однофамилец известной Аджелины), еще недавно - малоизвестного маковского программиста, соучредителя небольшой софтверной компании SproutIt, которую, для снижения накладных расходов, он с друзьями зарегистрировал в Чехии. Такие вот в наше время "гаражи".

Sprout значит "прорастать", "давать побеги"...

"Apple почти как Чак Норис... С Чаком тоже никогда ничего не случается. Это ОН случается." - вот запись в блоге.

Поселившись в Чехии, где и правда здорово, тихо и безумно дешевое пиво, SproutIt приступила к разработке своей первой программы - Интернет-приложения Mailroom. Как и многие до них. Но вот незадача: многие из проблем, возникавших в первенце, было бы так легко решить в Cocoa...


"Рекламка" Mailroom с сайта SproutIt.

За несколько лет до "гаражной" авантюры, Джоли был нанят Nisus Software для переноса в Mac OS X широко известного и популярного текстового процессора для классической Mac OS, Nisus Writer. Согласно популярному заблуждению, такие задачи легче и быстрее всего выполняются в Carbon. Чарльз Джолли выбрал другой путь - он написал римейк классической программы в Cocoa.

Это было труднее, чем "вбивать" в обновившуюся среду каркас программы, написанной для другой системы, с другими требованиями и возможностями, но зато всему, что должна уметь настоящая программа для Mac OS X, Nisus Writer Express научилась "за так".

Итак, в разработке Mailroom возникли проблемы. Раздражение по поводу среды разработки, с которой приходится иметь дело сейчас - такое естественное в нашем ремесле. Даже самая лучшая в мире среда разработки хоть чем-то, но хуже той, с которой мы работали. И во всем мире с такими проблемами справляются примерно одинаково...

Но Джолли не стал топить раздражение в дешевом чешском пиве. Джолли написал то, что журналисты уже окрестили "Cocoa для Windows", "Убийцей Flash", "JavaScript on Rails".

Принципы, на которых строится SproutCore, объектно-ориентированная библиотека на JavaScript, действительно напоминает Cocoa. Это не клон, это самостоятельный продукт, но у SproutCore и Cocoa много общего: например, они превращают создание первоклассных программных продуктов в радостное и увлекательное занятие.

Mailroom ("http://www.sproutit.com/mailroom") получился на славу. Возможно, Mailroom войдет в историю как первое приложение, написанное с помощью этой библиотеки.

Кроме Mailroom, библиотека SproutCore была применена Apple при разработке web-галереи .Mac. Осенью 2007 года о появлении новой версии этой галереи, отныне - самого настоящего богатого web-приложения, с заметной гордостью рассказал сам Джобс. Умолчал он только о том, что все это значило для него и для Apple.

.Mac доживает последние дни, ему на смену идет MobileMe, целый комплекс самых разных и удивительных сервисов, в том числе и Интернет-приложений, почти один в один похожих на их двойников из iWork... Демонстрация нового сервиса на WWDC стала одним из самых ярких моментов keynote, даже несмотря на то, что ее провел не Стив Джобс, а Фил Шиллер.

Как минимум, значительная часть MobileMe написана именно в SproutCore. Джолли был приглашен провести одну из сессий WWDC'08, посвященную разработке web-приложений с помощью JavaScript, CSS, HTML... и SproutCore. Сессия состоялась утром в пятницу, в одном из самых больших залов, который едва смог вместить всех желающих.

Поскольку и JavaScript, и JavaScriptCore, и даже название нового интерпретатора, и SproutCore - все это открытые технологии, эта сессия стала единственной из 150 с лишним сессий закрытой части WWDC, о которой можно говорить.

Но, видимо, не все. Итак... долой плагины? Убьет ли SproutCore и Flash, и Silverlight, и обеспечит ли Apple всемирное доминирование в глобальной паутине?

4. Капли дегтя

Естественно, столь громкий восторг, который поспешили проявить некоторые из моих коллег, не мог не вызвать раздражения у тех, кто прочно и глубоко привязан к одной из технологий, которые прочат в жертвы неизвестно откуда взявшегося конкурента...

Собственно, если подходить к вопросу взвешенно и обстоятельно, того, что стало известно о SproutCore все еще недостаточно для того, чтобы делать какие-то прогнозы относительно будущего новой технологии.

Но все-таки, интересно - какие же аргументы приводят "скептики"? По их мнению, технология создания богатых web-приложений без применения плагинов вообще невозможна. Плагины, по их словам, обеспечивают поддержку мультимедийных и графических библиотек, без которых никак нельзя.

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

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

Это явно была победа - но пока неизвестно, над кем.

Возможно, "росток" - не единственная технология, на которую будет опираться Apple в завоевании мира. Группа инженеров, прежде работавших на Apple, создали новый язык на основе JavaScript, добавив к нему конструкции "Смолтолка" (как 25-ю годами раньше Брэдли Кокс добавил их к C, создав Objective-C), назвали новый язык Objective-J, перенесли в него самые настоящие фреймворки Cocoa, и опираясь на них написали web-приложение для создания и проведения презентаций, "280 слайдов", поразительно похожую на Keynote...

Зайдите сюда: "http://280slides.com/". Это пока бета-версия, она бесплатная, и она... работает! Она работает поразительно хорошо.

Другой сайт компании 280 North, Inc, "http://objective-j.org/", пока сообщает "Coming soon", и этот "soon" продолжается уже, как минимум, неделю.

JavaScript, несмотря на его С-образный (скорее даже, Java-образный) синтаксис, идеологический наследник языка SELF, объектно-ориентированного языка без классов, который, в свою очередь, наследник того же самого SmallTalk. Никак не дождусь появления на "http://objective-j.org/" подробностей.


Презентационное web-приложение "280 слайдов", компании 280 North.

Зачем понадобилось добавлять к внуку "Смолтолка" (пусть и необычному) "дедовские" механизмы, и заковывать их в квадратные скобки, наподобие Objective-C, я как раз могу не просто предположить, а почти утверждать...

Иначе перенос фреймворков Cocoa занял бы у 280 North десятилетия. Но как это все выглядит, и во что все это может превратиться... вот вопрос...

Без всякого сомнения, начинается что-то необычное, и очень интересное. И было бы очень скучно, если бы после такого странного начала мы все еще жили в мире, в котором Microsoft Silverlight сражалась бы с Adobe Flash...

А еще, слышали ли вы, что где-то в Сети возрождается HyperCard, но уже в ином качестве, в виде web-приложения?

Flash, Silverlight, SproutCore. Быть или не быть?
Источник/Source: Олег Свиргстин
(495) 933 6737 | sales@deepapple.com deepapple.com | deepstore.ru | griffintech.ru | macally.biz | xtrememac.ru | wacomstore.ru | ipodcentre.ru
Rambler's Top100 Индекс цитирования