1. Главная страница » Компьютеры

Intellij idea или netbeans

Автор: | 16.12.2019

NetBeans users ask the following question about IntelliJ IDEA most frequently:

Содержание

Читайте также:  2 Поколение эвм годы применения

Working with projects

How do I open a NetBeans project in IntelliJ > Use File | New | Project from Existing Sources and select your NetBeans project directory.

When the Import Project wizard opens, select the Create project from existing sources option and then follow the instructions of the wizard.

IntelliJ >.idea directory) to your project directory. The NetBeans .nbproject directory and build.xml will remain untouched, and you’ll be able to use IntelliJ IDEA along with NetBeans.

During the import IntelliJ IDEA will fix missing libraries, add facets for different Web frameworks and create a run configuration.

If you are using Maven with NetBeans, and you want to import a Maven project into IntelliJ > File | Open and then select your project’s pom.xml . You’ll still need to configure a run configuration, however, all project dependencies will get resolved.

What’s the difference between projects and modules?

IntelliJ IDEA creates a project for an entire code base and a module for each of its individual components. So, IntelliJ IDEA module is more like a NetBeans project.

The following table maps the most important NetBeans concepts to IntelliJ IDEA ones.

Is there a directory-based project format in IntelliJ > Yes, there is a .idea directory where project definition XML files are stored. For more information, see Projects.

How do I change the JDK for my project?

Open the Project Structure dialog ( File | Project Structure or Ctrl+Shift+Alt+S ).

Under Platform Settings , select SDKs .

Click How do I add a library to my project?

Open the Project Structure dialog ( File | Project Structure or Ctrl+Shift+Alt+S ).

Under Project Settings , select Libraries .

Click How do I configure a Web framework for my project?

In IntelliJ IDEA Ultimate (there’s no corresponding functionality in the Community Edition):

Open the Project tool window (for example View | Tool Windows | Project ).

Right-click the necessary module and select Add Framework Support . (Framework support is enabled at a module level.)

In the Add Frameworks Support dialog that opens, select the frameworks to be supported, specify the associated settings and click OK .

The Run button is disabled. How do I run my application?

The Run button is disabled because there are no run configurations in your project.

If you have a Java >main() method, open the corresponding file in the editor, right-click the editing area and select Run ‘ .main()’ . As a result, the necessary run configuration will be created automatically and then executed.

You can create run configurations yourself: in the main menu, select Run | Edit Configurations | . Click to add a new configuration and choose how you want to run your application.

How do I generate an Ant build script for my project?

Select Build | Generate Ant Build . For more information, see Generating Ant Build File.

How can I open several projects in IntelliJ > It’s possible to work with multiple projects simultaneously using IntelliJ >Add to currently opened projects .

How do I close a project?

Select File | Close Project . You can also use File | Exit to close all open projects and quit IntelliJ IDEA.

Where is the Options dialog?

In IntelliJ >Settings dialog is used for similar purposes. To open this dialog, press Ctrl+Alt+S .

There is also the Project Structure dialog ( Ctrl+Shift+Alt+S ) which lets you manage JDKs, libraries, module dependencies, and so on.

How do I start with VCS integration?

Working with the code editor

Can I use the NetBeans key bindings in IntelliJ > Yes, you can.

In the Settings/Preferences dialog ( Ctrl+Alt+S ), select Keymap under Appearance and Behavior .

In the right-hand part of the dialog, next to Keymaps , select NetBeans 6.5 from the list.

How does code completion in IntelliJ > The code completion suggestion list appears automatically after you type one or two letters. To narrow down this list, use:

Ctrl+Space . The list is reduced to keywords and the names of >Ctrl+Space for the second or third time.

Ctrl+Shift+Space . Only the types appropriate for the current context are shown.

For more information, see Code completion.

Is local history in IntelliJ > Local history in IntelliJ IDEA, generally, is more detailed. Whatever you do with a directory, file, class, method or field, or a code block is reflected in your local history. The local history also includes VCS operations.

For more information, see Local History.

Are there any special code analysis features in IntelliJ > IntelliJ >Analyze menu.

Can I enable ‘mark occurrences’ in IntelliJ > You can. The corresponding option in IntelliJ >Highlight usages of element at caret . This option is enabled by default.

Open the Settings dialog Ctrl+Alt+S .

In the Editor category, select General .

In the right-hand part of the dialog, under Highlight on Caret Movement , select the Highlight usages of element at caret checkbox.

Can I enable ‘compile on save’ in IntelliJ > You can.

To enable automatic compilation on every save (or autosave), turn on the Make project automatically option in the Settings dialog:

Open the Settings dialog Ctrl+Alt+S .

In the Build, Execution, Deployment category, select Compiler .

In the right-hand part of the dialog, select the Make project automatically checkbox.

Note that by default, IntelliJ >Ctrl+S as frequently as in other IDEs.

Can I enable ‘deploy on save’ in IntelliJ > There is no such option in IntelliJ IDEA settings, however, you can get similar result by choosing an appropriate application update option in the corresponding run configuration.

(The corresponding functionality is available only in IntelliJ IDEA Ultimate. The Community Edition doesn’t provide integration with application servers.)

Using plugins

Can I use NetBeans plugins in IntelliJ > Unfortunately not. However, a lot of functionality implemented as plugins for NetBeans is available in IntelliJ IDEA "out of the box". Besides, there’s a lot of plugins for IntelliJ IDEA, so you can always find an IntelliJ IDEA plugin with the functionality similar to that of your favorite NetBeans plugin.

How do I find the plugin that I need?

All the functions related to working with plugins are on the Plugins page of the Settings dialog Ctrl+Alt+S . You can look for, download, install and update the plugins as well as enable and disable them.

For more information, see Plugins andManaging plugins.

How do I install the plugin that I have available on my computer?

Open the Settings dialog Ctrl+Alt+S .

In the left-hand pane, select Plugins .

In the lower part of the Plugins page, click Install plugin from disk .

In the dialog that opens, select the plugin file (normally, a JAR or ZIP).

If asked, restart IntelliJ IDEA.

I’d like to write a plugin for IntelliJ > Yes, have a look at:

Information for Plugin Developers on the IntelliJ IDEA Plugins page

Is it possible to build NetBeans RCP applications with IntelliJ > It is possible, however you won’t get the same kind of support you would in the case of NetBeans (wizards, menu actions, and so on). Have a look at Using IntelliJ IDEA for NetBeans Platform Development.

Configuring PHP development environment

What configuration is needed before start?

A lot of IntelliJ IDEA features are available without any configuration right after you launch it. Still, to take full advantage of running your PHP application, you need to configure a PHP interpreter and a server.

If you plan to launch the application locally, you need a PHP engine installed and registered in IntelliJ IDEA, as well as a Web server installed, configured, and integrated with IntelliJ IDEA. You can install these components separately or use an AMP package. For more details about initial environment configuration, refer to Configuring PHP Development Environment.

If you are going to run and debug an application directly on a remote host, the only thing you need is register access to this host in IntelliJ IDEA to enable synchronization.

How do I start with deployment to a remote host?

If you’ve checked out your project from the remote host, the deployment server is already configured. Otherwise, you will need to get it configured (it can be FTP/SFTP/FTPS server or mounted/local folder) on the Deployment page of the Settings/Preferences dialog. The Remote Host Tool Window is available on the right-hand side of the IntelliJ IDEA window, which can be handy for browsing through your remote server and performing various actions.

How do I start debugging?

IntelliJ IDEA comes with support for both Xdebug and Zend Debugger for debugging and profiling. There is a zero-configuration debugging workflow available, which means that to start debugging you only need to:

Click Start Listening for PHP Debugging Connections on the toolbar of the IDE.

Place a breakpoint in code by clicking in the editor gutter next to the line.

Start debugging in the browser using a plugin or browser bookmarklets.

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

Однако, одна из проблем такого подхода заключается в том, что это значительно удорожает и замедляет сам процесс разработки. Что если всего этого нет? Тогда на помощь приходит IDE, благодаря которой можно изучить текущую логику по “голому” коду.

Когда мы разрабатывали платформу lsFusion со встроенным языком, то у нас было несколько вариантов. Либо изобретать велосипед, и писать с нуля свою собственную IDE, как сделал в свое время 1С, или реализовать плагин к уже существующей. Мы пошли по второму пути, и в этой статье я покажу, что получилось.

Так как сама платформа разработана на Java, то у нас были две основные опции: Eclipse или IDEA. Мы остановились на последнем варианте и не прогадали. Когда мы принимали решение, IDEA еще была недостаточно популярна, но с тех пор, они вырвались в лидеры на рынке, а Eclipse тихонько отстает.

На разработку самого плагина ушло не очень много времени, так как удалось во многом задействовать код, используемый непосредственно при выполнении платформы. Таким образом, мы минимальными усилиями получили очень мощную IDE, во многих аспектах значительно превосходящую по функционалу IDE многих других ERP-платформ (как родных, так и построенных на Eclipse).

Роль IDE в разработке тяжело переоценить. Несмотря на то, что многие разработчики до сих пор используют vim и считают, что так и надо. Эта позиция имеет право на жизнь, если один человек разрабатывает и в дальнейшем поддерживает этот код. Однако, в более крупных проектах, где участвует большое количество людей очень важна их взаимозаменяемость. Сотрудники болеют, уходят в отпуск, увольняются в конце концов. Кроме того, нагрузка по разным проектам неравномерна, и иногда требуется на один из них подключить большее количество людей, чтобы уложиться в короткие сроки. В такие моменты к доработкам приходится подключать новых людей, которым нужно быстро разобраться в том, как в текущий момент работает программа, и внести необходимые изменения. И тут на первый план выходит IDE.

В первую очередь от IDE нам требовалось следующее:

  • Поддержка синтаксиса. Подсветка ключевых слов, автоподстановка, подсветка ошибок.
  • Навигация. Переход к объявлению, поиск использований, поиск по текстовой строке, файлу или названию и т.д.
  • Анализ. Иерархия классов и вызовов, а также свойства и действия класса.
  • Рефакторинг. Переименование классов, свойств и действий.
  • Визуализация форм. Отображению разработчику текущего дизайна определенной формы.
  • Метапрограммирование. Возможность на лету генерировать код на основе метакодов.
  • Отладчик. Возможность ставить breakpoint’ы (в том числе и с условиями), отлаживать императивную логику, смотреть watches.
  • Language Injection. Навигация, рефакторинг, автоподстановка и подсветка синтаксиса lsFusion при использовании в других языках — Java и JasperReports XML.

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

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

Поддержка синтаксиса

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

Навигация

Возьмем логику из примера Управление материальными потоками. Предположим, нам нужно посмотреть, где объявляется свойство Цена. Для этого нужно под пользователем с правами администратора навести указатель мыши на заголовок нужной нам колонки:

В появившемся окне сразу видно, в каком модуле это свойство создано (Shipment), какой номер строки в нем (37), таблица в которой хранится (_auto_Shipment_ShipmentDetail), и ряд другой информации.

Чтобы перейти непосредственно к объявлению свойства, нужно начать поиск файла и в появившемся диалоге ввести Shipment:

Затем при помощи Navigate — Line/Column переходим к 37й строке, где видим объявление свойства:

Нажав CTRL+ALT+F7, стоя курсором на нужном свойстве, можно быстро найти все его использования по всем проектам:

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

При необходимости можно включить поиск только по записи в данное свойство, если убрать соответствующую опцию:

Тогда в списке останется только запись в это свойство. Чтобы узнать, какое конкретно значение в него записывается нужно встать курсором на salePrice и нажать Go To Declaration or Usages. Дальше вернутся через Navigation — Back и перейти к объявлению свойства item:

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

Рефакторинг

Часто бывает ситуации, когда требуется изменить название свойства, класса, формы или любого другого элемента в системе. Для осуществления такого действия нужно стать на этот элемент и нажать Refactor — Rename:

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

Анализ

Перед тем как выполнить рефакторинг, часто бывает необходимо выяснить «что происходит» и «кто все эти люди».

Для этого IDEA, практически из коробки, позволяет просмотреть структуру выбранного класса (доступные для этого класса свойства и действия):

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

  • наследований выбранного класса
  • использований выбранного элемента (например, свойства или формы)

Все верхние возможности предоставляются IDEA автоматически (с минимальными телодвижениями) после реализации механизма поиска объявлений. Следующий набор возможностей заставил повозиться с плагином немного больше, но все равно значительную часть инфраструктуры предоставила IDEA (не без проблем конечно, но об этом позже).

Визуализация форм

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

Чтобы видеть результирующий дизайн можно, конечно, перезапускать сервер, и смотреть результат в клиенте. Но на рестарт сервера требуется определенное время. Плагин же умеет:

  • Показывать текущий дизайн и иерархическую структуры формы в специальном окне
  • Находить элементы в структуре формы
  • Выделять выбранный элемент формы в дизайне

Вот как это выглядит в IDE:

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

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

Метапрограммирование

Иногда возникает потребность создавать однотипный код для различных задач. В lsFusion есть механизм метакодов, который позволяет генерировать код на основе некоторого шаблона. При этом, в случае изменения метакода, будет происходить автоматическая обновление кода. По сути, это автоматический copy/paste с возможностью замены определенных идентификаторов на заданные значения.

Для включения этого механизма нужно сначала активировать его в меню. После этого IDE будет сама автоматически изменять соответствующий код.

При запуске сервера будет использоваться только сгенерированный код. Сами шаблоны META при запуске сервера учитываться не будут.

Кстати, реализация возможности метапрограммирования заставила нас внести еще один вклад в open-source (в данном случае в лице Intellij IDEA). Дело в том, что в ERP метакоды используются достаточно активно, и, соответственно, часто возникает необходимость сгенерировать код / удалить сгенерированный код. Это приводит к большому количеству асинхронных изменений файлов, что, в свою очередь, приводило к весьма своеобразному багу. Проблема в том, что в самом JetBrains его не могли воспроизвести, поэтому все свелось к тому, что нам самим пришлось написать неработающий юнит-тест. Это конечно заняло несколько дней, зато косвенно помогло нам при реализации следующих двух возможностей.

Отладчик

Когда по коду совершенно непонятно что происходит, то приходится обращаться к отладчику. На любой строке императивной логики (действия, события, ограничения) можно поставить breakpoint. Как только выполнение сервера достигнет этой точки, оно будет остановлено и управление перейдет в отладчик. В этот момент можно смотреть watches, а также продолжать выполнение построчно. Слева будет показан stack trace, по которому можно перемещаться как при отладке обычного Java приложения.

При просмотре текущих значений можно обращаться как текущим объектам (например, Shipment s), так и к любым другим объектам из базы (например, Item i). Однако, разработчик сам несет ответственность за добавление в watches данных, считывание которых займет много времени или памяти, и приведет к падению производительности.

Также можно ставить breakpoint’ы на конкретное свойство. Выполнение остановится в любом месте, когда в него будет производится запись:

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

Для реализации отладчика мы на самом деле использовали существующий в IDEA Java Debugger. То есть отлаживается платформа как обычное Java приложение, но для lsFusion действий мы создаем proxy java методы и подменяем их отображение на свой код (я так понимаю в IDEA это сделано для поддержки Scala и других оберток над Java). И вот тут был забавный момент. В какой-то момент разработчики IDEA сделали конструктор своего Java Debugger закрытым (private). И если ситуацию с вызовом private методов еще можно обойти через Reflection, то как унаследоваться от класса с private конструктором — непонятно. Но как раз в то время шли разборки с багом из верхнего раздела, и мы «по бартеру» решили попросить людей из JetBrains сделать этот конструктор обратно protected, на что они отреагировали очень оперативно (за что им конечно большое спасибо).

Language Injection

Одна из самых необычных возможностей IDEA — возможность обеспечивать поддержку своего языка в строковых константах других языков. Для этого достаточно сказать IDEA, какие именно строковые константы относятся к твоему языку, дальше IDEA сама автоматически:

  • генерирует виртуальный файл (или несколько файлов) с заданными префиксами для каждой строковой константы
  • создает в редакторе исходного файла для всех констант своего рода «окна» в этот виртуальный файл
  • обеспечивает в этом виртуальном файле поддержку всех возможностей «внедряемого» языка, таких как подсветку ошибок, переход к объявлению, автодополнение, поиск использований и, что особенно важно, рефакторинг. То есть, при переименовании любого элемента на одном языке, он автоматически переименовывается и во всех строковых константах, ссылающихся на этот элемент в других языках. Таким образом вы автоматически защищены от «битых» ссылок.

Здесь в IDEA тоже был (и сохраняется) небольшой баг. Когда виртуальный файл большой, то если при переходе к использованию IDEA должна перейти на начало «окна внедрения», она на самом деле переходит на конец предыдущего «окна внедрения» (то есть например на предыдущее использование свойства в Java-файле). Существует конечно, простой обход этого бага — создавать по отдельному виртуальному файлу на каждый строковый литерал. Но такой подход тормозит когда использований больше 30, поэтому в этом случае все равно приходится использовать один большой виртуальный файл (с другой стороны, когда использований много, найти правильное, то есть следующее, использование не так уж и сложно). Мы просили исправить этот баг опять-таки в рамках «обмена услугами», и разработчики JetBrains его вроде как пофиксили, но, как позже выяснилось, как-то не так (это еще по коммиту было видно, но мы подумали, что просто не до конца его поняли). Впрочем, у нас к этому багу все уже давно привыкли, благо ситуация с использованием больше 30 элементов в одном файле встречается достаточно редко.

Заключение

В статье описаны только основные варианты использования. В ней также присутствуют возможности по поиску реализаций абстрактных свойств и классов, визуализации зависимостей между модулями и свойствами, автоматической генерации форм на основе xml/json и многое другое. И, конечно же, есть встроенная интеграция с основными системами контроля версий Git и Subversion, а также поддержка Maven и Ant.

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

От автора: рано или поздно разработчик задумывается о том, чтобы сменить ту среду, в которой он привык работать. Все вокруг говорят о новых преимуществах — совсем не хочется отставать от развития технологий. Точно так же и со средами разработки: одни программисты положились на open-source и сообщество независимых разработчиков, выбрав NetBeans, а другие решили, что коммерческий продукт IDEA станет более качественным решением. Сегодня рассмотрим эти две IDE и решим, что же лучше — NetBeans или IntelliJ IDEA — для разных видов веб-разработки и кодинга в целом.

Необходимое знакомство

Некоторые из вас перешли по ссылке, не зная ничего о об этих IDE — просто чтобы расширить свой кругозор и узнать о новых для себя интегрированных средах разработки. Что ж, именно потому начнем с того, что представим как NetBeans, так и IntelliJ IDE с прагматично-объективной точки зрения. Таким образом, первые шаги сравнения пройдут именно в этом разделе, начиная с базовых характеристик, таких как цена, поддерживаемые языки и платформы, а также другие аспекты, которые покажутся важными для вас субъективно.

Существует список характеристик, которым должна соответствовать современная среда разработки. Среди них редактор кода с необходимыми функциями для синтаксиса, отладчик, компиляторы и интерпретаторы, в зависимости от языка, с которым нужно работать. Также средства для автоматизации сборки. Исходя из этих и других свойств, будем принимать решение о сильных и слабых сторонах NetBeans и соперника — IDEA.

Большая бесплатная IDE

Если среди свободно распространяемых решений необходимо было бы найти одного лидера, то даже не писали целую статью. Лишь небольшое описание — и вывод о том, что NetBeans всех уделали. Но так как нам предстоит сражение с IDEA, то необходимо выставить все козыри NetBeans напоказ, чем сейчас и займемся.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

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

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

Создание веб-приложений — это почти всегда скрупулезная работа над пользовательским опытом и дизайном, верно? Так вот, здесь NetBeans трудно найти равных. Среда разработки оснащена инструментом под названием GUI Builder, который позволяет создавать внешний вид приложений значительно быстрее, чем в любом другом редакторе. Интеллектуальная система дает возможность не заморачиваться над выравниваем строк в платформенных бизнес-решениях.

Учитывая, что сам GUI Builder прост и интуитивен, он позволяет создавать такие же приложения. Вам не нужно так долго потеть над кодом. Достаточно перетягивать элементы так, как в совсем «детских» программах. Причем, палитра компонентов весьма разнообразна, что позволяет делать не только шаблонные окна, но и оригинальные интерфейсы. К тому же, благодаря открытому коду собственные наработки можно добавить в библиотеку и работать с ними, а не с уже предложенными вариантами.

Что касается программирования на Java, то теперь оно может стать абсолютно безошибочным. Ранее вам приходилось бы вручную просматривать код либо валидировать его через сторонние инструменты. Но теперь появилась возможность взаимодействовать с ними через среду разработки и постоянно проверять на наличие ошибок. Согласитесь, стоит допустить баг в самом начале, и после его не отловить, так как результатом будет ложь. Но с инструментом под названием FindBugs вы сможете не беспокоиться об ошибках на Java, ведь они будут исправляться на лету.

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

Не стоит забывать и о более очевидных плюсах. Это, к примеру, полная кроссплатформенность. Сегодня трудно найти ось, на которую нельзя поставить «бобы». При этом, разработчики постоянно следят за новыми дистрибутивами и добавляют для них поддержку.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Коммерческий соперник

Согласитесь ли вы, что сравнение должно происходить только между бесплатными версиями? Считаем именно так. Ведь говорить о столь разных ценовых категориях — то же самое, что сравнивать боксеров с различным весом. У каждого из них будут свои преимущества, но никому не придет в голову идея поставить в ринг обоих.

Интересный момент: несмотря на то, что IDEA — платная среда разработки, можем сравнить ее с NetBeans. У этого ПО есть две версии:

Community Edition — бесплатная версия с урезанным функционалом;

Ultimate Edition — полноценная IDEA. Когда говорят IDEA, имеют ввиду ее.

Естественным выходом будет сравнить Community Edition и NetBeans. Но дело в том, что Community сразу покажется хуже. Здесь нет возможностей для полноценной разработки, как минимум, в плане масштаба. Она предназначена лишь для того, чтобы продемонстрировать, насколько хороша IDEA, и склонить к покупке. Поэтому рассмотрим именно ультимативную версию, чтобы показать, стоит ли платить за подписку (спойлер: да!).

Итак, вы уже познакомились с NetBeans. Очень круто, если даже установили его на свой компьютер и провели определенные манипуляции с кодом. Так вот, IDEA — это то же самое, только намного лучше. Он работает быстро, никогда не тормозит и активно развивается. Благодаря тому, что компания JetBrains (производители ПО) подходят к своей IDE, как к товару, они пытаются максимально его улучшить и оптимизировать.

На высоком уровне реализовано и форматирование кода для лучшей читаемости другими разработчиками. Возможно, вы уже работали в команде и знакомы с тем, как ссорятся программисты из-за банального расположения текста. Если успели устать, то IDEA готова решить проблему. Используя автоматическое форматирование, среда разработки позволяет сконцентрироваться на действительно важных вещах. Так что, если все в команде будут писать под IDEA, подобных споров не возникнет.

Баги в IDEA — явление достаточно редкое. Но они случаются, и пользователи постоянно высылают репорты с замеченными ошибками. Правда в том, что решение откладывают от релиза к релизу. Над IDEA работает не целое сообщество, а лишь небольшая группа программистов. Им приходится постоянно ранжировать поступающие жалобы, ведь решить сразу все не получается.

Но с основными неполадками справляются сразу. Другое дело, когда для банальной реализации сочетания клавиш приходится перестраивать всю структуру программы. В таком случае, проблему вынуждены отложить в долгий ящик. Но даже это не делает IDEA хуже. Если говорить о Java-разработке, то это лучшее коммерческое решение среди всех существующих. Тем более, что ее цена не более 400 долларов за год — вполне приемлемо для профессионального разработчика.

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

Отлов «жуков»

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

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

Единственным весомым аргументом NB против IDEA является универсальность. У компании JetBrains пока не удается реализовать поддержку такого количества языков. Но это вопрос времени: как только IDEA станет более доступной, а языков на базе больше, бесплатные решения вроде NetBeans станут вспомогательным инструментом.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *