КаталогИндекс раздела

Eclipse становится доминирующей интегрированной средой разработки Java

David Geer

Eclipse Becomes the Dominant Java IDE
Опубликовано в: Computer, July 2005, pp 16-18

С тех пор, как фирма Sun Microsistems в 1995 году ввела платформу Java, ее сторонники искали пути укрепления ее успехов. Один из путей к этому состоял в создании интегрированной среды разработки (IDE), которая облегчит работу с Java.

Сторонники надеялись, что IDE сделает Java более конкурентоспособной с популярной Visual Studio .NET фирмы Microsoft, которая обеспечивает среду интегрированных, легких в использовании программных инструментов для многих разработчиков бизнес-приложений, не являющихся высококвалифицированными программистами.

Развернулся ряд баталий вокруг нескольких Java IDE, включая JBuilder фирмы Borland, Visual J# фирмы Microsot, JDeveloper фирмы Oracle и NetBeans фирмы Sun.

Одним из претендентов был Eclipse, разработанный фирмой IBM и переданный в 2001 году в бесприбыльную Eclipse Foundation (www.eclipse.org) для поддержки в качестве платформы с открытым кодом.

Кроме обеспечения IDE, Eclipse автоматизирует множество функций, которые разработчики иначе должны кодировать вручную, говорит Alan Zeichick, редактор и шеф SD Times, газеты для менеджеров программной разработки.

Eclipse обеспечивает такую большую поддержку, что многие промышленные обозреватели говорят, что он стал ключевым игроком в инструментах Java. Сегодня членами Eclipse Foundation являются 98 компаний, включая большинство крупнейших производителей программного обеспечения. Технология даже имеет свою ежегодную конференцию, EclipseCon, которая была учреждена в этом году.

"Eclipse действительно победил," - говорит Zeichick. Он недорог в использовании и значительно облегчает интеграцию своих инструментов с другими, добавляет он.

История Eclipse

Фирма Object Tecnology International разработала технологию на базе Java, предшествовавшую Eclipse, прежде чем IBM купила компанию в 1996 году. IBM начала работать с Eclipse внутри фирмы в 1998 году, чтобы интегрировать множество своих программных средств разработки.

IBM проектировала платформу Eclipse в соответствии со стандартами Object Management Group (www.omg.org), которая вырабатывает и поддерживает спецификации для интероперабельных корпоративных приложений.

Хотя платформу сейчас поддерживает Eclipse Foundation, те, кто не являются членами этой организации, тоже могут строить приложения, используя эту технологию.

Как работает Eclipse

IDE от разных производителей являются ключевым фактором в разработке программного обеспечения. Они дают разработчикам проекта возможность выбирать наиболее подходящий из инструментов от разных производителей, не беспокоясь о том, как заставить их все работать вместе и об изучении разных интерфейсов и программных сред.

Как и другие IDE, Eclipse является программной средой, оформленной как приложение. Он состоит из редактора кода, компилятора, отладчика, построителя GUI и других инструментов.

Например, Eclipse Foundation включила в платформу инструменты рефакторинга, которые производят ряд небольших изменений кода - например, чтобы сделать его меньшим по объему или менее подверженным ошибкам - без изменения его внешнего поведения, замечает Ian Skerrer, директор по маркетингу организации.

Организация также добавила интеллектуальности в текстовый редактор, который используется для кодирования вручную, добавляет Skerrer.

Eclipse предлагает ряд API, которые объединяют инструменты в единый Generic Workbench, работающий как единая среда разработки с единым набором поведенческих функций и интерфейсов.

Eclipse использует для обеспечения программных интерфейсов Standard Widget Tollkit. SWT, созданный IBM, является библиотекой классов для создания GUI в Java. Он дает разработчикам возможность строить переносимые приложения, которые напрямую обращаются к средствам той операционной системы, в которой они реализованы. Java-программа, таким образом, выглядит как естественное приложение рабочего стола.

Сторонники говорят, что поскольку SWT работает с операционной системой, он будет работать лучше, чем технологии, которые вносят свои собственные средства пользовательского интерфейса, и, следовательно, создают интерфейсы, которые выглядят одинаково, независимо от "хозяйской" ОС.

Eclipse автоматизирует такие функции, как создание кнопок и диалоговых окон, которые разработчики в противном случае должны кодировать вручную.

Eclipse построен на Java и, следовательно, работает на многих платформах. Однако, он также помогает строить приложения на других языках, таких как C, C++, Cobol и HTML.

Причины успеха Eclipse

"Среди всех Java IDE Eclipse является единственным, получившим рыночное распространение в Европе, на Ближнем Востоке, в Африке, в Азиатско-Тихоокеанском регионе и в Северной Америке," - говорит аналитик Albion Butters из Evans Data, фирмы, занимающейся исследованиями рынка.

"Сила Eclipse состоит в общей платформе, в которую вы можете интегрировать различные инструменты," - говорит Skerrerr из Eclipse Foundation.

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

Кто угодно может написать подключение для Eclipse и затем работать непосредственно с любым другим подключением для платформы. Некоторые другие IDE ограничивают возможность создания подключений только партнерами фирмы.

Существует "огромное число" интероперабельных подключений от других фирм, которые делают Eclipse очень популярным, говорит John Andrews, высокопоставленный сотрудник Evans Data.

Реализация фирмой IBM Eclipse для Eclipse Foundation сделала технологию независимой от какой-либо компании, что способствовало ее широкому принятию бизнесменами, не желающими быть привязанными к одному конкретному производителю, отмечает Rob Cheng, директор отдела маркетинга продуктов фирмы Borland.

Например, фирма Oracle работает над тем, чтобы гарантировать, что Людой разработчик, использующий Eclipse, может построить приложение для нашего сервера приложений и базы данных, объясняет Ted Farrell, главный архитектор отделения средств разработки приложений фирмы.

Меньшая цена

Вся платформа разработки Eclipse является бесплатной. С другой стороны, пропретиарные системы IDE, такие как JBuilder, JDeveloper и Intellij IDEA фирмы JetBrain, могут стоить до $3,500 каждая.

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

Быстрое обновление и разработка

Поскольку Eclipse имеет открытый код, говорит Cheng из Borland, разработчики имеют легкий доступ к исходному коду и могут модифицировать его и обновлять быстро, чтобы удовлетворить нужды пользователя.

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

Элегантная архитектура

Cheng говорит, что Eclipse является небольшой, модульной IDE с элегантной архитектурой, которая начинается с простого, но мощного основания. "Это уровень, который позволяет вам интегрировать приложения, не беспокоясь о рисовании диалоговых окон, кнопок и прочих штучек или страниц свойств и деревьев проектов," - объясняет он.

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

Не тотальный Eclipse

Хотя Eclipse, кажется, становится предпочтительной IDE для Java, он все еще сталкивается к конкурентами, такими как JBuilder, Visusl J#, JDeveloper и NetBeans.

"Eclipse определенно является очень популярной IDE и очень успешной," - говорит Tim Cramer, программный директор NetBens фирмы Sun. "Однако, NetBens выглядит возрождающимся, благодаря сообществу разработчиков. Eclipse был сильным конкурентом и поэтому мы все собираемся усовершенствоваться."

"При помощи NetBens 4.1," - добавляет он, - "мы теперь имеем множество свойств над и под теми, которые может иметь Eclipse: визуальную разработку приложений J2ME (Java 2 Platform, Micro Edition), отладку на живом сотовом телефоне, развитый профайлер."

"Так," - говорит он, - "число наших активных пользователей, по нашим внутренним данным, значительно возросло, и мы видим также подъем трафика на нашем Web-сайте."

Проблемы

По мнению Cramer, поскольку Eclipse и SWT не прошли Java Community Process фирмы Sun для введения новых свойств, они не создают приложения с правильной функциональностью Java.

Кроме того, объясняет он, разработчики должны портировать SWT на все платформы, где выполняется Eclipse, что может быть делом сложным, времяемким и дорогим. С другой стороны, NetBens выполняется где угодно, где есть версия Java 1.4 или более поздняя, отмечает он.

NetBens изначально использовала Abstract Woidow Toolkit и API для разработки GUI приложений Java. Фирма Sun обнаружила ограничения AWT в производительности и расширяемости и поэтому разработала Swing, объясняет Cramer.

AWT использует коды графики операционной системы для GUI, тогда как Swing вносит собственные, создавая GUI, который выглядит одинаково в любой ОС. Кроме того, говорит Cramer, Swing имеет около 500 классов объектов, относящихся к GUI, и, таким образом, предлагает более богатые графические возможности, чем AWT, который имеет только около 50 классов.

Поскольку AWT и Swing являються частью спецификации Java, сторонники их говорят, что они предлагают лучшую функциональность Java.

Компромисс фирмы Oracle

Беспокоясь о том, что Eclipse и NetBeans могут создавать несовместимые технологии, которые могут расколоть Java и сделать ее менее привлекательной для разработчиков, фирма Oracle предложила компромисс, разработанный для обеспечения совместимости.

Компания представила Java Specification Request 198, "Стандартное расширение API для интегрированных сред разработки" в JCP фирмы Sun. Вместо введения еще одного API JSR 198 будет обеспечивать стандартный API, который будет работать со всеми поддерживающими его IDE для Java.

 

Eclipse Foundation выставила для обозрения Eclopse 3.1 Release Candidate 1 со свойствами и обновленным SWT, предлагающими больше возможностей и интероперабельность с большим числом браузеров. Новая версия будет также быстрее, включать в себя больше мастеров и разрешать автоматическое кодирование дополнительных возможностей.

Кроме того, организация расширяет свою деятельность. Например, группа Web Tools Platform Project планирует начать реализацию инструментов этим летом. Организация также будет разрабатывать инструменты бизнес-разведки и формирования отчетов для генерации отчетов с серверов Java, а также работает над платформой "богатого" клиента (rich client) для разработки мощных приложений для рабочего стола и рабочих станций.

По мнению Zeichick из SD Times, Eclipse будет лидирующей IDE для Java на ближайшие пять лет, благодаря поддержке производителей.

Однако, Cheng отмечает, что остается посмотреть, насколько сложной будет функциональность и свойства Eclipse. "Неясно, куда будут двигаться различные группы внутри Eclipse, и как они будут развивать свои проекты. Может статься, что разработка в Java будет предельным уровнем для Eclipse," - объясняет он.

Farrell из Oracle говорит: "Успех Eclipse связан с тем, насколько хорошим продуктом он является. Если он начнет уходить от главной основы разработки, он будет терять успех. Сейчас, когда Eclipse расширяется, значительно больше людей вкладывают в него разные типы технологий. Поскольку основа начинает расти, возникает опасность, что он потеряет свою привлекательность как продукт легкий, быстрый и ориентированный на разработчиков."


КаталогИндекс раздела