| « Enlarge Your Flex! | FDS 2.5 aka Adobe LiveCycle Data Services 2.5 » |
Apollo это не прожектор, Apollo - это космическая ракета
Все мы склонны видеть злые намерения там, где их, возможно, и нет. Я, например, считаю Apple Империей зла, хотя многие на них молятся, а сами считают, что все плохое в IT-мире от Microsoft. Но речь не об этом, а об Adobe. Не буду говорить за всю Одессу, очень уж много у Adobe продуктов и направлений. Скажу про Apollo.
Утром прочитал пост-крик о том, что злой набухающий гигант Adobe перешел на темную сторону силы и замахнулся отобрать хлеб у сторонних разработчиков, создающих инструменты, связанные с Flash-платформой. Речь конкретно шла о классе программ, называемых прожекторы. Ну а конкретно Jagglor от Flash Jester и MDM Zinc. Ну и тут я позволю себе не согласиться с автором, который, имхо, имеет предубеждение против Adobe в целом.
Основная и существенная разница между Apollo и прожекторами в том, что прожекторы - это средства, позволяющие создавать обычные десктопные приложения на базе Flash-платформы. Проще говоря, вы создаете Flash- или Flex-приложение и делаете из него exe-шник. Современные прожекторы позволяют придать полученному десктопному приложению ряд черт, присущих всем остальным подобным приложениям: создать инсталлятор, дать возможность изменить вид окна приложения и сделать его частично прозрачным, дать системные диалоги (файловый, например), дать возможность выводить иконку в трее, возможность интегрировать HTML, возможность общаться с другими приложениями и с операционной системой. И многое, многое другое. То есть, повторяю, это не что иное, как средство создания обычных десктопных приложений. Пользователь такого приложения может никогда не узнать слов Flash, Flex, Zinc, прожектор и пр. Он работает с Word, работает с Notepad, работает с вашим приложением. И ничем работа не отличается (особенно если ваше приложение сделано качественно).
Другая особенность заключается в том, что на выходе работы прожектора мы получаем приложение, заточенное под определенную платформу: Windows, Mac. Я не знаю существующих прожекторов, позволяющих создавать кроссплатформенные приложения (поправьте меня если что, хотя создание кросплатформенного приложения без соответствующей среды исполнения невозможно). Но существуют прожекторы, которые почти с одинаковым успехом позволяют вам конвертировать ваше приложение под несколько платформ (чаще всего под Windows и Mac). Например, тот же MDM Zinc, Screenweaver или mProjector. Но, помимо того, что доступные API на разных платформах различаются, мы так или иначе получаем разные приложения для разных платформ. Которые могут иметь сходное или совпадающее поведение.
Итог. Цель прожекторов - получение обычных десктопных приложений.
Apollo - это совсем другая вещь. Приведем цитату из FAQ’а:
Apollo - это кодовое название кроссплатформенной среды исполнения, разработанной Adobe, которая позволяет разработчикам применять их существующие навыки (Flash, Flex, HTML, JavaScript, Ajax) для создания и запуска насыщенных интернет-приложений (RIA) на десктопе.
Все просто. Никакой истерии. Это совсем другая ниша с ее особенностями. Например, кроссплатформенная среда исполнения. В связи с ключевой буквой I слова RIA, легко догадаться, что приложения должны быть упакованы в формат, который может быть запущен на целевой платформе. И мы имеем AIR. И возможность установки и запуска таких приложений прямо из интернета.
Далее, любой понимает, что запустить это AIR-приложение мы не сможем без среды исполнения. И мы должны скачать и установить ее.
Далее, понятно, что из своего определения, Apollo не обладает (и не планирует обладать) чертами тесного взаимодействия с операционной системой. По сути это взаимодействие ограничивается лишь Windowing API, File Reference API, да помещением иконок установленных приложений на десктоп. Все, что надо для работы интернет-приложения на десктопе с учетом декларируемой возможности работы в оффлайне.
Инсталлятор? Среда исполнения предоставляет стандартный инсталлятор.
Как мы видим, у прожекторов и у Apollo совершенно разные ниши. Они, конечно, частично пересекаются, но совсем частично. И нужно все обдумать и взвесить, чтобы решить, что применять для вашего проекта. Если вы создаете прикольную системную утилитку с навороченными анимацими в GUI, то глупо делать ее на основе Apollo. Это и невозможно, да и отпугнет пользователей. А вот какие приложения делать на Apollo? Время покажет. Пока у нас всего лишь альфа.
Так что не впадайте в паранойю. Производители софта чаще всего не бескорыстные благотворители, но и не дураки. Ну а если лично вас что-то не устраивает - проявите объективность, проанализируйте и, возможно, родите гениальную идею или предложение.
Update: Статья, сравнивающая Zinc и Apollo на офсайте Zinc’а. И обсуждение.
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
19 комментариев
1) никто ничем нам не обязан
2) нас никто не заставляет пользоватся их продуктами
никто ничем нам не обязан
Кстати, если бы в мире бизнеса никто ничем не был обязан, то не было бы ни законов по защите прав потребителя, ни антимонопольных законов итд. Просто надо уточнять кто и чем нам не обязан
Различие прожекторов от runtime enviroment (RE), только в том где этот RE расположен. Внутри скачиваемого модуля или предустановлен снаружи. Поэтому, я ничего революционного в Appolo не вижу. Сорри я не обнаружил в Аполло-Альфе заявленной функциональности а также и 10-й доли, того, что можно сделать, к примеру в Zinc. Собственно это, меня и взбесило.
Скачать мегабайты Апполо-Альфа и порадоваться, что программисты из Адобе научились работать с Окошками на Mac/Windows и юзать файловую систему и встраивать HTML-рендер. Ну чтож, конкретно сегодня меня уже от злости не колбасит, я порадуюсь вместе с остальными и зарекусь постить в своём блоге информацию по минусовому состоянию настроения.
Ну а в паранойе я уже пребываю 1.5 года
Так. Мне кажется, что ты многое путаешь и противоречишь себе сам. Ты вел речь о том, что Adobe своим Apollo пытаются отобрать хлеб у производителей прожекторов. А теперь еще и жалуешься на убогость Apollo в том, что он не дотягивает до возможностей оных. То есть ты все-таки хочешь чтобы Apollo отобрал этот хлеб? И не хочешь признать абсолютно другое позиционирование Apollo?
Повторюсь, Apollo, при его позиционировании, не должен и не собирается обладать возможностями прожекторов. Прожектора - средства для создания "традиционных" приложений. Apollo - платформа для разработки и исполнения RIA. Расширения по сравнению с браузерным приложением во Flash-плеере не такие большие с точки зрения "больше", но существенные с точки зрения возможностей браузерных приложений; возможность органично сочетать в себе Flash, JavaScript и PDF, возможность работать в оффлайне, возможность работать с файловой системой (необходимое следствие возможности работать в оффлайне), возможность не полагаться на кэширование приложений в браузере, а устанавливать их на компьютере пользователя (с механизмом обновлений). Многооконность - это лишь необходимое следствие интеграции в операционную систему. Но за все это в качестве жерты мы имеем "жирную" среду исполнения, непозволительную для браузерных приложений.
Можно еще прочитать про признаки RIA. По сути основные это:
- толстый клиент
- наличие исполняемой среды у пользователя (scripting engine)
Все это и имеется у Apollo. Назвать же традиционные приложения RIA можно с натяжкой если посчитать в качестве scripting engine саму операционную систему. Но это, во-первых, сильное допущение. А, во-вторых, делает такие приложения некроссплатформенными, а интернет расчитан на пользователей всех платформ.
Есть в моих словах логика?
Ну а насчет злости на Flex. Тут либо ты требуешь от Flex решения задач, для него не предназначенных, либо тебе не везет, либо ты слишком впечатлительный, либо действительно требуешь вообще слишком многого от Flex. Лично мой опыт показывает, что Flex (не Flex builder) - просто превосходная среда. В ней возможно все, что я хочу. При наличии багов во фрэймворке их очень легко устранить. Компоненты превосходны и, главное, расширяемы. Быстрое прототипирование - раз плюнуть. Ну а довести приложения до конфетки все равно придется. И никуда от этого не денешься в любой среде и технологии.
Ну а насчет расположения RE я написал в комменте выше. Веб живет по своим строгим законам. И наличие мощной среды исполнения с бесконечным количеством возможностей, но которая будет весить 10 метров, может снизить число пользователей в разы. И Flash Player наиболее успешно баллансирует на этой грани между возможностями и весом. Apollo - это просто Flash Player ++. Уверен, он никогда не достигнет той доли проникновения, что FP. Но тут смысл в том, что привлекается целевая аудитория пользователей, котрым нужны именно эти возможности.
Спасибки за разьяснения, а то народ что то паникует, а оказывается совсем другая тема
Всегда пожалуйста.
Я уже больше ничего не хочу, блог на удалении. Не буду больше народ баламутить своим бредом.
А вот это зря. Я бы рекомендовал больше позитива и меньше концентрироваться на работе.
Будет все и опенсорсное и платное и плагинистое а пока нужно терпеть
Единственное нарекание это цена флекс билдера сделали бы 250 баксов как у ФДТ(возможной меньше но зато язык новый) и усе
Да, об одном таком признаке меня мой тестер порадовал - "А, так для всего этого необходимо подключение к удаленной БД" (то есть толстый клиент - он хоть и толстый, но без сервера ноль).
>> Apollo - это совсем другая вещь
Почему? Что такого не будет поддерживать финальный Apollo что не позволит мне написать обычную программу типа визуализатора логов xdebug?
толстый клиент - он хоть и толстый, но без сервера ноль
Ну так тут ответ в самом названии. "Клиент" - он и есть клиент. Без сервера он будет просто неудовлетворенным клиентом
Что такого не будет поддерживать финальный Apollo что не позволит мне написать обычную программу типа визуализатора логов xdebug?
Ну это написать можно будет. Но вот нельзя будет написать монитор памяти операционной системы, нельзя будет написать брэндмауэр, современную трехмерную трехмерную игру итд. Очень много современных "традиционных" приложений не могут быть написаны на Apollo. А вот, например, с помощью прожекторов можно интегрировать меню, написанное на Flash с современной трехмерной игрой. Да и вообще делать GUI для всех приложений, расширяя функционал с помощью C extensibility.
Да и вообще, много ли пользователей захотят скачивать среду исполнения чтобы работать с традиционными приложениями. До сих пор это является некоторой преградой для разработки десктопных приложений на Java или .NET.
Ты хорошо все сказал! Однако кое в чем я с тобой не согласен.
Есть ли что-либо сущесвенное с точки зрения "обычного" программиста в Zinc'е, чего не (с)может Apollo (в финальной версии)?
Я таких вещей не вижу (покажите -- могу ошибаться). Создается непреодолимое очущение, что по возможностям Аполло как бы поглощает Цинк, и те тонкости, идеологические отличия о которых ты пишешь -- они имеют место, но они столь же несущественны для конечного "обычного" разработчика (в данном случае я имею в виду программиста), как несущественны и различия в готовом продукте для "обычного" пользователя -- о котором ты упоминаешь. Которому все равно, как работает код Ворда.
У меня есть крамольное утверждение, что "обычность", уж ежели она существует, наделяет всех своих обладателей, хоть программистов, хоть домохозяек, нежеланием вникать глубоко в детали или идеологию потребляемого продукта -- важны только его ключевые, самые важные в использовании качества. Те, которые на слуху.
Программист -- это тоже пользователь (среды разработки), со всеми вытекающими стереотипами. В данном случае стереотип такой: "если вокруг шумят, что у Аполло съест Цинк, то, наверное так оно и есть. Люди правду говорят".
И, черт побери, этот писк миллиона леммингов в результате заглушает голос пророка, иделога или просто человека желающего и призывающего разобраться в предмете. Некогда разбираться. Работать надо.
К чемы я веду:
При успешном релизе Аполло у Цинка останется далеко не весь его рынок, как ни крути. Сейчас Цинк стоит очень дорого. Попробуй сравнить сложность Flex Builder и Zinc -- адекватно ли соотношение цены и сложности разработки в обоих случаях? Думаю, нет.
Думаю, у Цинка цена была как бы в разы завышенная.
И если Аполло весь рынок потребителей Zinc не заберет, то уж добрую долю откусит.
P.S. Василий, не дури! Открой блог заново. Не хватало еще таким ресурсам исчезать.
Есть ли что-либо сущесвенное с точки зрения "обычного" программиста в Zinc'е, чего не (с)может Apollo (в финальной версии)?
Как минимум возможность написания кода на C и вообще на уровне операционной системы. Zinc позволяет работать с внешними DLL-ками. То есть, в принципе, возможности прог на Zinc ничем не ограничены. Вдобавок, он может использовать DirectX, что незаменимо для тех же игр. Он позволяет использовать "родные" диалоги системы (тот же файловый диалог). Он позволяет сделать привычный рядовому пользователю инсталлятор.
А насчет Apollo. Ну я не знаю, как надо убедить рядового пользователя скачать и установить среду исполнения. Ну сложно это все. И много всяких тонкостей, которые никогда не позволят приложениям быть "родными" для низлежащей оси. Например, невозможность изменения места установки программы. Я лично вообще не использую Documents And Settings для подобных вещей. Вот есть у меня такая прихоть. И вообще люблю контролировать процесс.
Zinc поддерживает ActiveX компоненты, что позволяет использовать тот же WPF/E. Возможность работы с устройствами (поддерживается, например, джойстик, а через dll-ки можно подключить все, что угодно). Можно сделать привычное для данной операционной системы меню программы.
И, главное, не забывай, что ребята-то на месте не стят и тоже работают над продуктом, сама концепция которого не предполагает никаких ограничений.
Мы на прошлой работе использовали Zinc для ряда проектов. Для одного из них мог подойти и Apollo, но функционал бы пришлось пересмотреть и убедить в этом заказчика (что сложно). А другие проекты (игровые) вообще не могли быть сделаны на Apollo. То есть в принципе. Издатель бы точно не взял такой продукт.
При успешном релизе Аполло у Цинка останется далеко не весь его рынок, как ни крути. Сейчас Цинк стоит очень дорого.
С этим полностью согласен, ибо часть рынка обоих продуктов пересекается. И, понятно, что падение цены на Zinc вполне возможно. Это и есть конкуренция. А нам, пользователям, такая конкуренция только на руку: повышается выбор, качество продуктов, снижается цена. Так что я - за
Но о полном вытеснении речь не может идти и близко. Ниши - разные.
Пока они не создадут свою отдельную
среду разработки, компилятор, компоненты и
т.д. - это будет кастрированная
приблуда для Flex и не более.
Ничего толкового в этом продукте нет.
Пока они не создадут свою отдельную
среду разработки, компилятор, компоненты и
т.д. - это будет кастрированная
приблуда для Flex и не более.
Как бы не очень понимаю смысла высказывания. Apollo так и позиционируется как среда для запуска приложений на базе Flash-платформы на десктопе. Таким образом среда разработки есть (Apollo-плагин для Flex Builder'а). Компилятор - amxmlc, обертка над mxmlc. Зачем создавать отдельные компоненты если они уже есть? Просто чтобы были отдельные? Вообще зачем создавать отдельное все это?
Ну а насчет приблуды для Flex... Как уже говорилось, в основе Apollo лежит Flash-платформа. Не буду пророком если скажу, что для Flash CS3 будет своя приблуда для создания Apollo-приложений. И там, кстати, будет другая среда разработки и другие комопненты. И другой компилятор. Но основная идея (Flash-платформа как основа) останется.
Соглашусь, что это приблуда для Flash-платформы. Но не кастрированная, а расширенная. Кастрация - это усечение. А добавление возможностей - это enlargement. А тут возможности только добавляются (HTML, JavaScript, PDF, File System API итд). Если Вам лично это не нужно - пожалуйста. Тут ведь какой основной судья? Время. Время покажет. А пока:
Enlarge your Flex!