InfoWorld, США

Глава Eclipse о направлениях развития амбициозного проекта по созданию свободно распространяемой платформы средств разработки

Eclipse Foundation реализует амбициозный проект по созданию свободно распространяемых инструментальных средств разработки программ. Организация заручилась поддержкой самого широкого круга производителей, от корпорации IBM (она выступила инициатором образования Eclipse в 2001 году) до Borland Software, BEA Systems, а также, пожалуй, всех других крупных игроков в отрасли разработки программного обеспечения, за исключением Sun Microsystems и Microsoft. Недавняя конференция EclipseWorld 2006, состоявшаяся в Кембридже (шт. Массачусетс), дала возможность тем, кто использует технологии Eclipse, узнать о самых последних результатах проекта. Исполнительный директор Eclipse Майк Милинкович встретился с редактором еженедельника InfoWorld Полом Крилом и ответил на его вопросы.

Какова конечная цель Eclipse, и какие новые технологии ждут нас в будущем?

Это бесконечный вопрос. Если оценивать различные инициативы, реализуемые в рамках Eclipse, то можно отметить несколько направлений. Во-первых, это непрерывное развитие нашей платформы Rich Client Platform. Именно этому мы намерены и в дальнейшем уделять первостепенное внимание. К Eclipse присоединяется все больше проектов, связанных с распространением RCP в самых различных областях, что нас очень радует.

Майк Милинкович: «Я был бы рад получить финансовые показатели, которые позволили бы оценить размер ?экосистемы? Eclipse. Убежден, речь идет о сумме порядка миллиарда долларов, а может быть, и больше; у нас нет точных данных о размере этого рынка»

До последнего времени проект Eclipse всегда был сконцентрирован на создании инструментальных средств и был платформой для инструментария, но сейчас RCP, Rich Client Platform, становится очень важной инфраструктурой времени исполнения для разработчиков приложений и независимых производителей программного обеспечения, которые хотят создавать многоплатформенные приложения, работающие на настольной системе. И я думаю, что это очень важный сегмент для Eclipse.

Можно также отметить расширение поддержки различных языков. Eclipse всегда оставался платформой для создания языковых сред, и здесь появляются интересные новые разработки, часть которых реализуется в Eclipse, а часть — в коммерческих продуктах. Что касается коммерческих продуктов, то, к примеру, Adobe создает Flex Builder 2.0 — среду разработки на базе Eclipse для ActionScript, своего языка для серверов Flex. В самом Eclipse мы планируем завершить первую версию среды PHP IDE, которая обещает стать чем-то действительно исключительным. PHP (Hypertext Preprocessor) — важный язык как для корпоративной разработки, так и для Web-разработки в целом, и наличие в Eclipse инструментов для PHP нас не может не радовать.

Отсюда мой следующий вопрос. Вы согласны с тем, что в отрасли все активнее поддерживаются динамические языки программирования? У вас есть PHP, у вас есть проекты AJAX. Планируете ли поддерживать какие-то другие языки? Ruby, Perl, Python?

Да, конечно. В «экосистеме» Eclipse можно найти модули расширения и инструментарий практически для всех существующих динамических языков. Существуют свободно распространяемые проекты на базе Eclipse. Например, RadRails — проект, имеющий своей целью создание интегрированной среды разработки для Rails, который представляет собой оболочку для Ruby. Есть также PyDev для Python, который достаточно популярен. Это еще один пример модуля расширения, который создан в рамках свободно распространяемого проекта вне Eclipse, но базируется на Eclipse. Практически для любого динамического языка, который вы можете себе представить, существуют модули для Eclipse, предназначенные для поддержки разработки на этом языке. И это согласуется с тем, что Eclipse — это универсальная платформа для создания инструментальных средств разработки. И в этом заключается главное предназначение Eclipse. Поэтому в Eclipse, как я уже упомянул, есть инструментарий PHP. У нас также есть AJAX Toolkit Framework; этот инструментарий дает дополнительные возможности отладки программ на JavaScript, работающих в браузере. Существует несколько различных оболочек AJAX, и сейчас он поддерживает Dojo, Open-Rico и Zimbra, так что я думаю в будущем, безусловно, планируется расширять поддержку еще больше. И опять-таки, Rich AJAX Platform, новый проект, только что инициированный с целью создания на основе компонентной модели Eclipse среды AJAX времени исполнения, предназначенной для разработчиков, которые хотят использовать такой подход при создании AJAX-приложений.

Не считаете ли вы, что некоторые проекты Eclipse в чем-то дублируют друг друга? У вас есть Eclipse Rich AJAX Platform, у вас есть AJAX Toolkit Framework. Были средства обработки данных в Platform Project для Web-инструментария и отдельный проект Data Tools Platform Project. Вы сознательно поддерживаете такое дублирование или все зависит от того, какой из производителей какой проект продвигает, причем об интеграции никто особо не задумывается?

В определенной степени и то, и другое. В Eclipse, как в сообществе свободно распространяемого программного обеспечения, мы готовы примириться с некоторым дублированием; со временем, по мере развития проектов, все «устаканится» само собой. И пока все это работает вполне успешно. В конкретных примерах, которые вы привели, я не вижу никакого дублирования. AJAX Toolkit Framework и Rich AJAX Platform друг друга не дублируют. Это два совершенно разных продукта. Первый, ATF, ориентирован на потребности разработчиков в инструментальных средствах для создания приложений AJAX. Второй, RAP, — это среда времени исполнения, платформа времени исполнения для создания приложений AJAX. Что касается другого примера, то в проектах, посвященных Web-инструментам и средствам работы с данными, изначально было некоторое дублирование. Но, фактически, это следует рассматривать как пример взаимосвязи проектов в Eclipse: как только начали появляться средства работы с данными, те, кто занимался Web-инструментарием, перенесли свой уровне обмена данными и приняли технологию, которая реализована в этих инструментальных средствах.

Не кажется ли вам, что Eclipse постепенно переносит приоритет с Java на другие языки, о которых мы упоминали в этой беседе? Действительно ли, что все большее внимание уделяется языкам скриптов и .Net при одновременном снижении интереса к Java?

Я бы не сказал, что мы стали меньше уделять внимания Java. По мере развития Eclipse к нему присоединяется все больше проектов, все больше ресурсов выделяется все большему числу языков и платформ. Сейчас практически в каждом проекте Eclipse код пишется на Java. Но мы никогда не утверждали, что Java будет единственным языком, который мы поддерживаем в Eclipse. Мы всегда готовы поддерживать любой язык и платформу, если есть желающие заниматься соответствующими проектами.

Поговаривают, Java постепенно становится технологией вчерашнего дня. Sun подобные высказывания не понравились бы, но не кажется ли вам, что именно так и происходит?

Честно говоря, я скептически отношусь к подобным утверждениям. Вы знаете, что в ИТ-отрасли всегда появляется некая пропагандистская машина, которая стремится провозгласить в качестве следующего грандиозного прорыва некое новое решение, которое позволит сделать все то, что никогда не делалось раньше. С моей точки зрения, язык Java сейчас достиг уровня зрелости, который позволяет удовлетворять требования важнейших корпоративных разработок, и я думаю, что это замечательно. Понятие зрелости никогда не относили к тому, чего принято стыдиться. И именно к этому с большим уважением должны относится те, кто разглагольствует о новых великих решениях.

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

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

Почему?

Потому что программисты хотят работать с несколькими языками, но в среду времени исполнения, которая является частью платформы Java, было инвестировано столько сил и таланта, что воссоздавать все этого для другого языка просто не имеет смысла. Вы хотите сказать, что описывать конкретную задачу на каком-то другом языке, помимо Java, стало проще? Отлично. Но вы же не хотите вместе с водой выплеснуть и ребенка… Я имею в виду, что вы по-прежнему хотите использовать зрелую среду времени исполнения, которую предлагают такие компании, как BEA, IBM, JBoss, Oracle, потратившие годы на совершенствование этой программной инфраструктуры промежуточного слоя для Web-приложений. Вряд ли стоит отказываться от всего этого только потому, что вам нравится писать программы на другом языке.

Сколько денег, по вашим оценкам, приносит программное обеспечение на базе Eclipse или по-прежнему главным достоинством проекта считается то, что все предлагается бесплатно?

Я был бы рад получить финансовые показатели, которые позволили бы оценить размер экосистемы Eclipse. Убежден, речь идет о сумме порядка миллиарда долларов, а может быть, и больше; у нас нет точных данных о размере этого рынка. Увы, мы не можем убедить аналитиков потратить время на то, чтобы уточнить эти показатели. Что же касается ваших слов о том, что многих до сих пор в Eclipse, прежде всего, привлекает отсутствие платы, то должен заметить, что экономическая подоплека модели Eclipse несколько иная. Дело в том, что сообщество Eclipse в целом почти полностью сосредоточено на том, чтобы сформировать коммерчески обусловленную экосистему вокруг бесплатной платформы. Так что, конечно, мы предлагаем свободно распространяемые инструменты и оболочки для Eclipse, причем бесплатно. Но мы, безусловно, хотим видеть в нашей экосистеме людей и компании, которые зарабатывают деньги на платформе Eclipse.

Что вы можете сказать об Eclipse в свете управления жизненным циклом приложений? Что-то из этого есть в планах, но, может быть, вы расскажете о том, что сейчас происходит?

Конечно, в этой области у нас есть несколько проектов. Serena ведет проект, получивший название ALF, Application Lifecycle Framework, а Compuware — проект, получивший название Corona. Оба этих проекта находятся на достаточно ранних этапах развития. Но управление жизненным циклом приложений — область, с которой мы связываем определенное развитие Eclipse. Тем не менее потребуется еще некоторое время на то, чтобы эти проекты достигли определенной зрелости, и можно было бы говорить о зримом прогрессе.

Чем отличаются друг от друга проекты Corona и ALF?

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

И, наконец, стандартный вопрос, который я обычно задаю последним. Не собирается ли Sun присоединиться к Eclipse или объединить NetBeans и Eclipse?

Нет, абсолютно ничего такого.

Но ведь существовал один Java-проект, над которым, как я могу предположить, Sun работала вместе с Eclipse.

В том случае инициатором такой работы была Sun. Если я правильно помню, тогда речь шла о поддержке платформы Eclipse в Solaris x86. Так что задача была — заставить Eclipse работать на одной из их операционных систем.

Но с тех пор не произошло никаких подвижек?

Нет. И в переговорах, которые я вел с Sun, они достаточно ясно дали понять, что их не интересует ничего другое, кроме как продвигать дальше их стратегию NetBeans.

Что вы думаете по поводу существования двух противоборствующих лагерей? Хорошо ли это для конкуренции?

Да, мы, безусловно, не боимся конкуренции, и, откровенно говоря, мы побеждаем.

Такое впечатление, что они считают иначе.

Ну и на здоровье. У меня есть конкретные цифры.

Что вы считаете основным конкурентом своему продукту, NetBeans или Windows .Net?

Мы всегда честно и откровенно считали, что Eclipse существует для того, чтобы составить конкуренцию Microsoft.

Ну и как?

Мы начали пять лет назад, и я бы сказал, что мы начали с нуля, так что рост Eclipse за эти пять лет абсолютно феноменальный. Было бы неплохо посмотреть, как последние пять лет менялось отношение сообщества разработчиков к Eclipse.


«Секретный соус» Eclipse

«Успех Eclipse в качестве платформы инструментальных средств с открытым кодом в значительной степени обусловлен ?секретным соусом?, благодаря которому у множества организаций появилась возможность наладить эффективное взаимодействие друг с другом при разработке новых продуктов, — заявил в своем выступлении на конференции EclipseWorld 2006 исполнительный директор Eclipse Foundation Майк Милинкович. — Со своей стороны, мы ищем способы построения универсальной платформы».

Думаю, что важным компонентом «секретного соуса» Eclipse является удачный баланс, которого участники проекта добились в ходе разработки совместно используемых инструментальных средств и структур и последующего создания на основе платформы Eclipse полезной экосистемы коммерческих продуктов. В отличие от платформы NetBeans, продвигаемой Sun Microsystems, на игровом поле Eclipse все участники имеют равные условия.

Количество загрузок Eclipse на сегодняшний день измеряется десятками миллионов.

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

В Eclipse Foundation сформировались свои взгляды на место, занимаемое корпорацией Microsoft на рынке инструментальных средств.

«Проект Eclipse исключительно хорошо проявил себя в качестве альтернативы продуктам Microsoft, — заметил Милинкович. — Речь идет о количестве инструментальных средств, созданных для данной платформы, и их функциональных возможностях».

Отношение людей к программному обеспечению категории Open Source меняется постепенно, и первой стадией здесь, как правило, является отрицание.

«Думаю, что любой из здесь присутствующих без труда назовет компании, отрицающие влияние идей Open Source, — подчеркнул Милинкович. — Это не только Microsoft, немало скептиков найдется и в других организациях».

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

Для проекта Eclipse характерна устойчивость цикла выпуска версий, являющаяся дополнительным стимулом, для того чтобы компании разрабатывали продукты на данной платформе. В июне представители Eclipse Foundation еще раз подтвердили неизменность этой стратегии, одновременно представив десять различных технологий Eclipse под общим названием Callisto.

«Я люблю Eclipse и использую соответствующие средства ежедневно, — заявил инженер-программист из Ганы Уильям Блинн, занимающийся созданием системы организации взаимодействия для специалистов в финансовой сфере. — На мой взгляд, это просто фантастический инструмент для разработки. Eclipse позволяет очень просто решать все возникающие вопросы».

Вместе с тем, и здесь есть простор для дальнейшего совершенствования, в частности, в вопросе потребления оперативной памяти.

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

«Проект Eclipse развивался весьма удачно, но насколько успешным окажется его продолжение, пока неясно, — отметил главный аналитик компании Interarbor Solutions Дана Гарднер. — Главный вопрос сегодня заключается в том, удастся ли участникам проекта и дальше демонстрировать столь же эффективное продвижение вперед. Компаниям с уже сложившейся моделью ведения бизнеса будет достаточно сложно адаптироваться к модели разработки Open Source. Впрочем, молодые компании это обстоятельство не пугает. Например, Genuitec успешно продает свою интегрированную среду разработки MyEclipse».

Милинкович в шутливой форме кратко коснулся теорий заговора, окружающих Eclipse. Хотя язык программирования Java, являющийся технологической основой Eclipse, был изобретен компанией Sun Microsystems, сама она не принимает участия в проекте Eclipse. Проект инициирован конкурирующей с Sun корпорацией IBM.

В ходе конференции сторонники Eclipse представили ранее рассмотренные проекты, работу над которыми планируется завершить в июне 2007 года. К этому моменту должен быть готов наследник Callisto, которому присвоено кодовое наименование Europa.

Оговорены детали очередной крупной итерации проекта Eclipse Web Tools Platform (WTP). В новой версии появятся инструментальные средства для разработки на Java многоуровневых Web-приложений, соответствующих требованиям существующих стандартов. К ним относятся инструменты для создания кода HTML, CSS, JavaScript, XML, Web-сервисов и других технологий.

Кроме того, в WTP 2.0 появятся технологии Eclipse PHP Tools Project, включая усовершенствованные средства взаимодействия с Web-сервером Apache и проект SOA Tools Platform, предназначенный для улучшения поддержки Web-сервисов. Из версии 2.0 предполагается исключить компоненты, пересекающиеся с Eclipse Data Tools Project.

«Мы пытаемся упростить практическую реализацию архитектуры SOA за счет интеграции различных технологий в рамках соответствующего проекта», — подчеркнул Херли.

«В ближайшее время ожидается предварительный выпуск платформы Eclipse Rich AJAX Platform», — сообщил директор компании Innoopract Йохен Краузе. Платформа содержит исполняемую среду, которая позволит разработчикам создавать расширенные Web-приложения AJAX с использованием модели проектирования Eclipse, модулей расширения и API-интерфейса Java.

Общий вариант платформы станет составной частью Europa.

Директор направления App Development Tools подразделения корпорации IBM Lotus Software Джим Рассел в ходе своего выступления на конференции признал, что его компания проявляет интерес к языку программирования Ruby, но каких-то планов в отношении выпуска конкретных продуктов у нее не имеется, по крайней мере на текущий момент.

«Мы не собираемся заниматься реализацией внутренних проектов и экспериментировать с Ruby, — заявил Рассел. — Об этой технологии сегодня много говорят, поэтому не удивительно, что и в IBM на нее обратили внимание».