ОБЗОР

Однако многоуровневый интерфейс комплекта Borland понравится не всем

Год напряженной борьбы за разработчиков продолжается. Вслед за Oracle9i JDeveloper корпорации Oracle и Visual Studio .Net корпорации Microsoft (c мнением eWeek Labs по поводу этих продуктов можно ознакомиться по адресу: www.eweek.com/links) на рынке появился комплект разработки JBuilder 7 корпорации Borland.

Предлагая интегрированный Java-инструментарий для платформ Windows, Mac OS X и Unix,

пакет JBuilder корпорации Borland полностью соответствует разным соглашениям ГИП

С выходом этой новинки список платформ, поддерживаемых как JBuilder, так и JDeveloper (ранее в него входили Windows 2000/NT/XP, Linux и Solaris), пополнился еще и операционной системой Mac OS X. Впрочем, даже столь широкий охват платформ ничуть не мешает новому продукту почти точно эмулировать поведение “родных” приложений для этих ОС. Более того, JBuilder 7 взаимодействует и интегрируется с этими платформами даже лучше, чем весьма впечатляющий комплект Oracle. С другой стороны, пользовательский интерфейс JBuilder содержит многоуровневые окна с закладками, а такая структура может некоторым показаться более громоздкой, чем легко переставляемые панели инструментария Oracle.

Корпоративным разработчикам, наверно, будет интересно узнать, чем ответила Borland корпорации Microsoft после того, как та выпустила нацеленный на создание Web-сервисов комплект инструментов .Net. Отличие здесь просто потрясающее: корпоративная версия JBuilder 7 Enterprise ценой $2999, которую мы получили для тестирования, не требует от разработчиков кардинального переписывания уже созданного ими кода и предлагает простой и основанный на стандартах способ построения Web-сервисов. Для обеспечения данной возможности нужно загрузить с сайта производителя и установить комплект Web Service Kit.

Эволюционный подход Borland менее сложен для пользователей, чем такие суперновшества, как, скажем, “порталы услуг”, предложенные в комплекте Visual Studio .Net Enterprise Architect (цена - $2499). Такие элементы впечатляют, но они далеки от совершенства, и некоторые программисты стали опасаться, что для работы с Visual Studio .Net им придется полностью переучиваться.

Благодаря поддержке Mac OS X пользователи Macintosh наконец-то получили первоклассную Java-платформу и возможность использовать Java при создании переносимого клиентского и серверного ПО, а также бизнес-логики промежуточного слоя. Правда, при этом нужно учитывать специфические для Java проблемы (см. статью ниже). Но как бы то ни было, многие новшества JBuilder 7 существенно повышают продуктивность труда и помогают четко выдерживать заданное направление разработки.

Платформам, обеспечивающим переносимый клиентский интерфейс, как правило, присущи два недостатка. Они либо пытаются имитировать пользовательский интерфейс локальной платформы (при этом почти всегда остаются небольшие, но болезненные различия), либо обеспечивают промежуточный слой для вызова функций ГИП локальной ОС. Нужно сказать, что JDeveloper корпорации Oracle страдает обоими недостатками, хотя нам и нравятся многие его оригинальные решения, которые обеспечивают полную свободу в создании новых проектов.

Что же касается JBuilder 7, то он должен приятно удивить разработчиков с укоренившимися привычками тем, что выглядит и работает (в рамках нашего тестирования, по крайней мере) точно так же, как и “родной” набор инструментария рабочих станций Windows 2000 и Mac OS X. Впрочем, и здесь все не так уж однозначно. Подобная мимикрия способна создавать мелкие проблемы для тех, кто часто переходит с одной платформы на другую. Вот лишь один пример: несохраненные изменения на страницах с закладками JBuilder в Windows помечаются крестиком, а в среде Mac - маленькой темно-красной точкой.

Отладка кода

Сколько бы высокоуровневых помощников ни вставил разработчик в свой инструментарий, перед программистом в конце концов встает вопрос: а на какую помощь он может рассчитывать при отработке уже транслированного и запущенного кода? Как и в Visual Studio .Net, редактор исходного кода JBuilder активно выявляет стандартные ошибки с того самого момента, как вы их сделали. Система не дожидается трансляции, чтобы сообщить о “мелочах” наподобие пропущенной точки с запятой. Отметим, что редактор Oracle схватывает на лету далеко не все подобные ошибки.

В отношении отображения выявленных ошибок нам больше понравился Visual Studio .Net, где они выводятся в динамический список заданий. JBuilder, напротив, включает такие ошибки в раздел Errors панели Structure, построенной по принципу “Проводника”. Правда, инструментарий Borland лучше отображает текущее состояние неисправленных ошибок. Особенно хорошо на его экране видно, какие изменения вносились в файл источника с момента его последнего сохранения.

Все выше и выше...

Мы настороженно относимся к редакторам исходного текста, которые пытаются быть умнее нас. Поэтому и сейчас появление в меню редактирования JBuilder команд расширенной рефакторизации (re-factoring) было встречено с некоторым скептицизмом. Но после проверки мы не могли не признать: они существенно упрощают выполнение таких операций, как вставка группы выражений в тело метода с автоматической заменой в исходных строках вызовов одних методов на другие. Кроме того, создаваемый таким образом метод доступен для вызова из любого места программы.

Не отрекаясь от своей приверженности к стандартному представлению исходного текста, мы все же хотим сделать Borland комплимент за отличную интеграцию в JBuilder средств графического и прикладного моделирования на основе UML (Unified Modeling Language - унифицированный язык моделирования). Выводя модули кода в виде графиков, мы могли легко анализировать их и прослеживать зависимости в любом направлении. Другими словами, в этом режиме не представляет никакого труда находить как источники унаследованного кода, так и “потребителей” классов и компонентов. Мы быстро находили путь через многоуровневые модели, а затем так же легко возвращались к экрану просмотра исходного текста.

Средства UML в JBuilder 7 обеспечивают намного большую детализацию, чем в JDeveloper. С учетом этого можно предположить, что разработчики станут рассматривать их скорее в качестве повышающих производительность труда помощников, а не мешающих работать “наворотов”. В заключение отметим, что направленность Borland на абстрактное моделирование понравилась нам больше, чем инструментарий Microsoft, ориентированный на более низкий уровень - структуризацию исходного кода.

С техническим редактором Питером Коффи можно связаться по адресу: peter_coffee@ziffdavis.com.

Скорость или производительность? Дебаты продолжаются...

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

Нужен ли в таких условиях разработчику инструментарий, позволяющий создавать исходные тексты с минимальным временем исполнения, пусть даже за счет драгоценного рабочего времени программиста? Или лучше повысить производительность труда разработчика, положившись на способность Java устранять многие типичные ошибки программирования?

Комплект JBuilder корпорации Borland Software (см. обзор) стал одной из первых сред разработки, активно использующих такую сильную сторону Java-приложений, как синтаксический анализ кода в динамическом режиме, обеспечивающий обратную связь в процессе разработки. Впрочем, в этом отношении пакету JBuilder приходится состязаться с JDeveloper корпорации Oracle, который в этом смысле более эффективен, и с C# корпорации Microsoft, обеспечивающим высокую скорость кода. Что ж, выбор между производительностью и скоростью уже перестал быть примитивной дилеммой: Java или что-нибудь другое. Характер такого выбора изменился. Чтобы создать “стремительный” код, можно применить такой рискованный прием, как небезопасные манипуляции с указателями. А можно воспользоваться инструментарием, который всегда удержит приложение “на дороге”, но при этом поможет избежать классической проблемы, сформулированной архитектором Web-сервера Domino-Go корпорации IBM Довом Балки в книге “Java Performance and Scalability, Volume 1: Server-Side Programming Techniques” (”Производительность и масштабируемость Java, том 1: техника серверного программирования”): “Java-программу очень легко сделать крайне медленной”. Этот гуру призывает разработчиков “внимательно следить за количеством объектов, которые генерирует код на наиболее важных для скорости работы приложения направлениях”.

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

Резюме для руководителей

JBuilder 7

Развитие JBuilder идет по пути, четко намеченному в предыдущих версиях этого комплекта Borland, уже ставшего эталоном системы разработки корпоративных Java-приложений. Встроенные помощники, повышающие производительность труда программиста, доступный инструментарий моделирования, поддержка широкого спектра платформ (в том числе и Mac OS X в дополнение к различным версиям Windows и Unix) - все это делает новинку достойным ответом на появление Oracle9i JDeveloper. Кроме того, JBuilder может послужить хорошим трамплином для Web-сервисов, так как подключаемый к нему инструментарий, который можно загрузить из Сети, не требует коренной перестройки, с чем приходится сталкиваться многим группам разработки при первом обращении к Microsoft Visual Studio .Net.

Основные показатели

ЦЕНОВОЙ АНАЛИЗ. Стандартный вариант JBuilder 7 Standard Edition предлагается за $399, тогда как сравнимая с ним система начального уровня Visual Studio .Net стоит $1079. Как нам кажется, Borland назначила свою цену, ощущая давление со стороны бесплатно распространяемого (для непроизводственного использования) комплекта JDeveloper. Для одной среды Windows цена старшего варианта JBuilder 7 Enterprise может показаться довольно высокой, однако с этого же компакт-диска продукт можно установить на машинах Mac OS X или Unix/Linux, что делает систему более рентабельной.

( + ) Закрепляет ведущие позиции Borland в области повышения производительности труда программистов; дает возможность группам разработки в полной мере использовать синергизм основного ГИП Mac OS X на базе Unix; предлагает более плавный, чем комплект .Net, переход к Web-услугам.

( - ) Отображение многоуровневых подокон пользовательского интерфейса занимает слишком большую часть экрана.

КРАТКИЙ СПИСОК ТЕСТИРОВАНИЯ

- JDeveloper корпорации Oracle

- Visual Studio .Net корпорации Microsoft

www.borland.com