Битва титанов open-source: NetBeans или Eclipse

Битва титанов open-source: NetBeans или Eclipse

От автора: о предпочтениях говорят: «На вкус и цвет товарищей нет». И это применимо к различным ситуациям, где субъективное мнение имеет решающую роль. Но программирование — ремесло точных наук, и здесь нет места подобного рода размышлениям. Согласно элементарным логическим выводам, А есть А. В то же время, фактор привычки и личного удобства определяет то, как будут использоваться те или иные программы. Сегодня рассмотрим две среды разработки и узнаем, какая из них достойна называться лучшей. Примеряя плюсы и минусы, сделаем выводы о том, какая IDE получает преимущество: NetBeans или Eclipse.

Главное о каждой

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

Битва титанов open-source: NetBeans или Eclipse

Кратко о «бобах»

NetBeans — это интегрированная среда разработки, которая поддерживает массу языков, включая наиболее популярные, такие как Python, Java, С/С++, обработку XML, взаимодействие с базами данных и другие функции, характерные для современной IDE.

Поддержка и вливание средств на разработку совершалось компанией Oracle, которая таким образом забирает себе в собственность массу open-source/GPL продуктов. Реальное создание происходит среди обычных энтузиастов, которые именуют себя NetBeans Community, а также компанией, которая называется NetBeans Org.

Как и в любой другой подобной системе, в NetBeans реализована поддержка рефакторинга кода, его профилирование, а также цветовое выделение и генерация участков кода на лету. Еще одно сходство для всех основных сред разработки — это необходимость предварительной установки Java Developer Kit для запуска NetBeans.

IDE поддерживает основные платформы для малых, средних и больших предприятий: Java Enterprise и Standard Edition. Учитывая развитие мобильных устройств, новые версии работают и с платформой Java Micro Edition, которая предназначена для создания приложений на девайсах, ресурсы которых существенно ограничены.

Взирая на существенную нагрузку и концентрацию на более коммерческих проектах, компания Oracle приняла решение о передаче NetBeans в руки другой компании. Так, начиная с 2016 года, среда разработки ПО поддерживается фондом Apache Software Foundation.

Среди главных преимуществ этой среды разработки:

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

настоящий open-source. То, что нужно для настоящего гика. Всегда хорошо иметь возможность подсмотреть, как все работает, и внести необходимые правки. К тому же, большое сообщество таких же разработчиков готовы в любую минуту подумать над предложенной вами проблемой;

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

конструктор графического интерфейса. Это подключение известного всем Swing и других инструментов для построения внешнего вида программы. Максимально оптимизирует дизайнерскую часть работы;

отладка. Благодаря встроенным решениям NetBeans может быстро найти ошибки и те места, где код становится малопроизводительным. Причем, все это происходит в режиме реального времени, без прерывания штатной работы программиста;

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

широкая поддержка языков. Что может быть лучше, чем IDE, с которой не нужно переходить? Как только вы решите написать что-то на другом языке — просто переключитесь. Нет надобности использовать стороннее программное обеспечение.

Общим недостатком для всех сред, которые запускаются через JDK/SDK, будет существенное потребление ресурсов устройства. Как Eclipse, так и NetBeans не застрахованы от этого. Но от обновления к обновлению все становится лучше. Да и Microsoft понемногу смягчает агрессивную политику по отношению к Java.

Затмение от IBM

Им стала среда разработки Ellipse. В начале 2000-х, когда происходило восхождение будущей звезды от Microsoft (Visual Studio), компания IBM решила сделать свой ответ на это программное обеспечение. Они быстро определили слабые стороны продукта MS и ударили по ним с хорошей силой.

Например, если перечислить преимущества Eclipse vs Visual Studio, то первая получит сразу несколько хороших позиций:

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

кроссплатформенность. В то время как Visual Studio изначально работала лишь на Windows и только после стала доступна на Mac OS, Eclipse стали поддерживать все основные операционные системы с самого начала своего функционирования;

расширяемость. По сути, Eclipse не является средой разработки в том смысле, в котором и Visual Studio. На самом деле, это каркас для создания IDE. Для того чтобы он стал средой, необходимо подключить модуль соответствующего языка программирования. Например, наиболее известный — Java Development Tools. Но существует аналогичное решение для PHP и многих других языков. Важно то, что модули могут быть как официальными, так и пользовательским. А их общее количество не подсчитать даже при большом желании;

значительные преимущества, как программы для взаимодействия с Java. Здесь собрались все предыдущие аспекты: бесплатность, запуск на разных устройствах и прочие. К тому же, все остальные языки намного лучше реализованы в Visual Studio, IDEA и других средах разработки.

Уже несколько лет подряд «затмение» не является детищем IBM. Над проектом работает Eclipse Foundation. Это коллаборация большинства топовых IT-компаний и нескольких игроков помельче. Среди громких имен здесь можно назвать Google, Oracle, IBM. А с недавних пор даже Microsoft решили присоединиться к разработке этого программного обеспечения. Кстати, если это очередной трюк компании с поглощением, то эта тактика всем давно известна. Другие конгломераты не позволят захватить здесь власть. Тем более, что влияние MS уже давно не то, что десять или пятнадцать лет назад.

Сравнить и применить

В этом разделе сконцентрируемся на том, что можно сделать с помощью каждой из этих сред разработки. По сути, выясняем, каким функционалом оснащена рассматриваемая IDE. В то же время, нам необходимо рассказать о конкретных случаях несостоятельности среды. Здесь используем собственный опыт и отзывы, которые отображены сообществом пользователей. Да, без субъективных мнений не обойтись.

Начнем с Eclipse

Эта среда позиционирует себя как та, которую можно использовать в каждом удобном случае. То же самое можно сказать о NetBeans, но об этом ниже. В этот момент важно понимать то, что, несмотря на стремление к соперничеству с Microsoft, главным современным конкурентом этой среды являются именно «бобы».

Чаще всего на Eclipse переходят, когда необходима разработка внешнего вида программы. Для этого служит библиотека Swing. Несмотря на то, что сам либ является результатом работы Sun (компания, поглощенная Oracle), в NetBeans это реализовано не так круто. К тому, Eclipse оснащена Standard Widget Toolkit.

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

Еще одним важным преимуществом, которое ценят разработчики на Eclipse, является использование концепции Rich Client Platform. Этот инструмент делает интеграцию программных компонентов значительно проще, когда обработка происходит на фронте. Но даже эта фишка уже реализована на NetBeans.

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

Ну а завершающим аргументом, как правило, становится интерфейс. У Eclipse он действительно хорош (сказывается тяга к конкуренции с Visual Studio). Но ни один красивый дизайн не исправит в глазах пользователя фризы, которые происходят с системой регулярно. В то же время, несмотря на все прелести дизайна Eclipse, он лишен самого главного — простоты и интуитивности. В этом NetBeans преуспели значительно больше. Они создали простой внешний вид, с функционалом которого легко разобраться. К тому же, кандидат на затмение Visual Studio работает значительно медленнее своего конкурента. Все дело в том, что программа написана и работает на Java. Но ведь и масса других IDE — тоже. А таких фризов, как на Eclipse, не наблюдается ни на одной из топовых.

Теперь о NetBeans

Подобно Eclipse, эта среда разработки тоже используется как основа для других IDE. Но с ее использованием были созданы такие коммерчески успешные примеры, как Oracle Solaris Studio и другие IDE от компании Sun, которые сегодня активно эксплуатируются их поглотителем — Oracle.

Еще один факт о популярности NetBeans: начиная с нескольких последних версий, стандартный набор от «бобов» поддерживает лишь Java. К тому же, создатели решили отказаться от поддержки языка Ruby и платформы Ruby on rails, так как это занимало слишком много ресурсов и не давало сконцентрироваться на совершенствовании воркфлоу с новой версией Java. В итоге, сообщество самостоятельно создало необходимые компоненты для работы с Ruby, теперь они доступны для использования.

Но есть и негативный опыт разработчиков, которые столкнулись с проблемами собственного кеша NetBeans. К примеру, была выявлена проблема при сборке готовых программ, даже когда речь идет об использовании одних только NetBeans без других IDE в команде. Только когда тимлид производил сборку вручную при помощи технологии Ant, проект заработал так как нужно без любых исключений. Это говорит о том, что, кроме тех классов, которые сделаны разработчиками, программа запускает свой собственный кэш.

В этом можно убедиться, если пройти к домашнему каталогу. Однако, если удалить папку и даже собрать проект заново, позитивный результат вас не ждет. С Eclipse подобные проблемы не наблюдались, но даже сама настройка программного обеспечения не позволяет сделать ее лидером в этом состязании.

Соперничать не стоит

Когда на арену выходит среда разработки IDEA, эта IDE обладает одновременно всеми тремя характеристиками, которые по частям собраны в NetBeans и Eclipse. IntelliJ IDEA — это одновременно красивый и эргономичный дизайн, функциональность и анализ кода, которым не обладает ни один из сегодняшних конкурсантов. Единственный недостаток — цена. Эта среда разработки платная, хотя есть и бесплатная версия.

Но та, которую нам предлагают задаром, лишь показывает, насколько хороша полная версия, и не дает программировать полноценно. С другой стороны, платную IDEA не могут позволить себе государственные учреждения. И дело вовсе не в деньгах, а в правовой системе. Чтобы установить ту среду, которую хотят работники, необходимо провести публичные закупки, а в конкурсе должна победить именно IDEA. Учитывая принцип экономии средств, система не даст выбрать IntelliJ, а предложит купить более дешевую среду.

Именно из-за вопроса стоимости до сих пор и наблюдаем эту конкуренцию. Как только IDEA становится доступна разработчику — он переходит на нее. А у нас на этом все!