Как начать разработку программ на Java с помощью комплекта разработчика Java Development Kit (JDK)? Eclipse, NetBeans или IntelliJ IDEA? Выбираем IDE для Java-разработки

Viber OUT 26.07.2019
Viber OUT

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

Здесь два пути: либо осуществлять работу с JDK непосредственно через командную строку, либо использовать интегрированную среду разработки. Рассмотрим оба этих варианта.

Компиляция исходного кода через командную строку

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

Ниже представлена последовательность действий:

1. Сохраняем наш исходный код в формате *.java (рисунок 2.1).

2. Запускаем командную строку и входим в папку с исходным Java - кодом (рисунок 2.2).

3. При помощи команды Javac, компилируем исходный Java - код в байт - код (рисунок 2.3).

4. Запускаем байт код при помощи команды Java (рисунок 2.4).

Рисунок 2.1 - Сохранение исходного кода

Рисунок 2.2 - Путь до папки в командной строке

Рисунок 2.3 - Компиляция в байт - код

Рисунок 2.4 - Запуск байт - кода

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

Java IDE

Компилировать Java код из командной строки может показаться обременительным занятием, но, тем не менее, это важнейшее умение. Выполняя базовые шаги работы с JDK самостоятельно, можно получить лучшее представление о том, как работает среда разработки. Чаще всего, крайне рекомендуется перед тем, как устанавливать какое - либо IDE (integrated development environment), научиться работать с Java JDK через командную строку.

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

За последнее время такие среды стали настолько мощны и удобны, что теперь просто нет особого смысла обходиться без них.Самые распространенные IDE для Java на сегодняшний день - это: Eclipse, NetBeans и IDEA. У каждой из данных сред д есть свои преимущества и свои недостатки. Лично я остановился на IDE Eclipse по некоторым причинам. Во-первых, у данной среды весьма удобные горячие клавиши. Под нее в свободном доступе находится огромное количество инструментов для разработчика. Даже такая крупная корпорация, как Google лично написала для Eclipse немало инструментария. При разработке,например, под ОС Android, лучшую IDE найти сложно - для Eclipse в свободном доступе находится весьма мощный Android SDK, на котором было разработано не одно поколение Android приложений.

Для того, чтобы скачать данную IDE, стоит перейти по ссылке http://www.eclipse.org/downloads/ и выбрать одну из предложенных решений (рисунок 2.5).

Рисунок 2.5 - Предлагаемые решений Eclipse

Всего предлагается около двенадцати решений для разработчиков различных направленностей. Как видим, выбор достаточно велик. Для своей задачи, я выбрал стандартный пакет Eclipse Standart. Далее выбираем нужную операционную систему с архитектурой (рисунок 2.6) и начинается бесплатное скачивание данной среды.

Рисунок 2.6 - Выбор нужной ОС и архитектуры

Для написания апплетов и приложений Java требуются такие средства разработки, как JDK. JDK включает следующие компоненты: среда выполнения Java, компилятор Java и API Java. Начало работы не представляет трудности ни для опытных, ни для начинающих программистов.

Где можно загрузить JDK?

Чтобы загрузить последнюю версию комплекта разработчика Java Development Kit (JDK), перейдите в раздел загрузки JDK .
Разработчики также могут посетить сообщество для разработчиков Java Oracle Technology Network for Java Developers и получить исчерпывающую информацию о технологии Java, включая документацию и обучающие материалы .

Начинающим пользователям Java

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

Как получить сертификат Java?
Конференции для разработчиков Java
  • JavaOne - главная конференция для разработчиков Java, где можно узнать о последних технологиях Java, повысить уровень технических знаний и задать вопросы коллегам-разработчикам и специалистам по планированию. Oracle проводит ежегодные конференции JavaOne, включая основную конференцию JavaOne в Сан-Франциско и конференции регионального уровня. Посетите веб-сайт www.oracle.com/javaone для получения дополнительной информации о предстоящих мероприятиях и местах их проведения.
  • Дни разработчиков Oracle Technology Network - бесплатные практические семинары для разработчиков Java, которые регулярно проводятся во всех странах мира.
  • Oracle также оказывает спонсорскую поддержку другим компаниям, которые организуют мероприятия, посвященные технологии Java. Чтобы узнать о предстоящих событиях в вашем регионе, воспользуйтесь поиском по каталогу

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

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

  • NetBeans — лучшая Java-IDE , развиваемая Oracle ();
  • IntelliJ IDEA — лучшая IDE для Java — разработчиков (премиум Java-IDE );
  • Eclipse — популярная IDE для Java-разработчиков (бесплатное программное обеспечение );
  • Android Studio — Java-IDE , предназначенная для Android-разработчиков ;
  • JDeveloper — бесплатная IDE для упрощения разработки Java-приложений ;
  • DrJava — компактная среда разработки Java-программ ;
  • JEdit — продвинутый редактор кода для Java-разработчиков ;
  • MyEclipse — Java-IDE полного стека для веб-разработки;
  • JCreator — простая IDE для Java-разработки ;
  • GreenFoot — онлайн Java-инструктор и IDE .

Топ 10 Java IDE для быстрой веб-разработки

  1. NetBeans — лучшая Java-IDE, развиваемая Oracle (бесплатное программное обеспечение)

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

С помощью NetBeans можно создавать не только корпоративные веб-приложения, но и мобильное программное обеспечение, приложения для ПК. Кроме этого NetBeans позволяет повторно использовать рабочее пространство проекта на нескольких платформах, таких как Windows , Linux , Mac OS X и Solaris от Oracle .

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

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

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

Стоит уделить внимание инструменту Maven , поддерживаемому NetBeans . С его помощью добавление зависимостей производится всего в несколько кликов. Это позволяет избежать лишней загрузки / перестроения индексов.

Давайте посмотрим, за что еще NetBeans считается одной из лучших Java IDE .

Она поддерживает HTML5 , CSS3 , JavaScript (ES 5/6) и Angular JS . NetBeans также поддерживает автоматической завершение для этих языков, а также директивы Angular .

NetBeans позволяет разрабатывать мобильные приложения с помощью таких платформ, как Cordova и PhoneGap . А также с помощью GlassFish и WebLogic развертывать любые веб-приложения и тестировать конечный функционал. Они добавляют к основным возможностям ядра поддержку Java 8 .

NetBeans поддерживает все популярные веб-приложения (Spring / Struts / Wicket ) и библиотеки, такие как PrimeFaces , RichFaces , ICEfaces .

  1. IntelliJ IDEA — лучшая IDE для разработчиков Java (премиум Java-IDE)

Быстрый и надежный инструмент для веб-разработки на Java . Эту среду разработки для Java под Windows развивает компания JetBrains . Она постоянно обновляет и дополняет ее, чтобы она соответствовал потребностям рынка.

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

IntelliJ Community Edition

Бесплатная версия поддерживает такие платформы, как Android , Swing и JavaFX , Java , Groovy , Kotlin , Scala , Go , Dart , Erlang и Python .

Кроме этого данная IDE является довольно компактной и содержит несколько других функций, таких как выполнение тестов JUnit / TestNG , отладка, автоматическое завершение кода, проверка кода, рефакторинг кода, Ant и визуальный графический редактор GUI .

Также можно воспользоваться четырьмя типами систем контроля версий: Git / GitHub , SVN , Mercurial и CVS . Доступен плагин Docker , обеспечивающий поддержку развертывания веб-приложений. Бесплатная версия также включает в себя Decompiler и ByteCode для выполнения расширенного анализа.

IntelliJ Ultimate Edition

Для начинающих программистов бесплатная IDE предоставляет широкие возможностями, которые помогут им сделать первые шаги в веб-разработке на Java . Более продвинутые пользователи, скорее всего, предпочтут платную версию, которая дает возможность использовать продвинутые функции.

Это превосходная среда разработки Java , поддерживающая многие языки программирования, например JavaScript , TypeScript , SQL , CSS , LESS , Sass , Stylus , CoffeeScript , ActionScript , Ruby и PHP .

Для профессиональной веб-разработки вам понадобится версия Ultimate . Она объединяет в себе такие фреймворки, как Spring MVC , J2EE (JSF / JAX-RS / CDI / JPA ), Grails , Griffin , React , Angular JS , Node.js , Django , Flask , CMS (Drupal / WordPress / Laravel ).

Платная версия имеет дополнительную поддержку контроля версий, например, TFS , Perforce , ClearCase и Visual SourceSafe . В ней доступно множество вариантов настройки стратегии развертывания с использованием Tomcat , TomEE , GAE , GlassFish , JBoss , WebLogic , WebSphere , Geronimo , Jetty и Virgo .

В этой версии реализована поддержка NPM , WebPack , Gulp и Grunt . Она включает в себя такие инструменты, как диаграммы (UML / Dependencies ), матрица зависимостей.

  1. Eclipse — популярная IDE для Java-разработчиков (бесплатное программное обеспечение)

Это современная, кросс-платформенная и свободно распространяемая IDE с открытым исходным кодом, доступная для корпоративной веб-разработки. В 1998 году IBM Software Group решила создать IDE , которая смогла бы закрепиться на рынке и стать одним из его лидеров. Это привело к созданию Eclipse .

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

Eclipse обладает всеми необходимыми функциями, которые должна иметь идеальная Java IDE :

  • Поддержка Java 8.0 и 9.0 ;
  • Рефакторинг кода, редактирование кода с проверкой запроса, инкрементная компиляция, перекрестные ссылки, автоматическое предложение вариантов кода;
  • Интегрированный статический анализ кода;
  • Интеллектуальное завершение кода и быстрое исправление;
  • Удобство и производительность;
  • Поддержка Windows / Linux / Mac OS X .

Актуальная на данный момент версия среды разработки для языка Java — Neon . В ней было реализовано много новых функций:

  • Редактор Java показывает шаблон по умолчанию для размещения +ve / -ve проверок;
  • Теперь IDE помогает классифицировать уровень опасности для конкретных ошибок в коде;
  • Code Assist поддерживает шаблоны подстроки;
  • Появилась возможность настраивать нулевой анализ на основе аннотаций для использования нескольких наборов типов аннотаций;
  • Теперь отладчик принимает дополнительные аргументы отладки, а просмотр ресурсов операционной системы позволяет использовать в отладке информацию о процессах;
  • Моделирование позволило внести значительные улучшения в генерирование кода, редакторы моделей, сравнение моделей и пользовательские графические редакторы.

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

  1. Android Studio — Java IDE, созданная специально для Android-разработчиков

Современная IDE для разработки приложений Java и Android . Это относительно новый продукт, выпущенный в середине 2013 года. Созданная на базе IntelliJ IDEA , Android Studio обеспечивает оптимальные условия для разработки дизайна и рабочего кода.

Основное предназначение инструмента — ускорение процесса разработки приложений для любого Android-устройства . До его выхода разработчикам приходилось полагаться на Eclipse и плагин ADT . Из-за этого операционная система Android отставала от Apple . После выхода Android Studio популярность Android выросла.

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

Крутые функции среда разработки Java для Android :

  • Мгновенное обновление и запуск, чтобы изменения кода немедленно вносились в запущенное приложение без его перезапуска;
  • Встроенный эмулятор легко устанавливается и запускает приложения на различных конфигурациях устройств;
  • Редактор нового поколения позволяет писать качественный код, экономит время и повышает производительность разработки; Можно использовать расширенное автоматическое завершение кода, рефакторинг и проверку кода;
  • Встроенная система сборки (Gradle ) помогает в автоматизации сборки, формировании зависимостей и подготовке пользовательских конфигураций сборки;
  • Gradle — это система сборки под различные устройства. Она позволяет создавать приложения, работающие на всех Android -устройствах;
  • Простая интеграция с системами контроля версий, например, GitHub и SVN ;
  • Возможность подготовки сборки для исполнения на сервере CI , таком как Jenkins и Bamboo ;
  • Шаблоны готового кода помогают упростить и ускорить разработку приложений;
  • Можно проверить свое приложение с помощью JUnit 4 и регрессировать пользовательский интерфейс с помощью Espresso Test Recorder ;
  • Отслеживание ошибок в коде с помощью встроенного инструмента анализа;
  • Также доступны другие встроенные инструменты, такие как Layout Editor , Vector Asset Studio , APK-анализатор и редактор переводов.
  • Android Studio — это одна из лучших сред разработки Java , которую стоит попробовать для разработки как стационарных, так и мобильных приложений.
  1. JDeveloper — бесплатная среда для упрощения разработки Java-приложений

Мощная Java IDE с открытым исходным кодом от Oracle . Она поддерживает все этапы создания приложения.

JDeveloper включает в себя усовершенствованный редактор кода, который повышает скорость разработки с помощью аудита кода, интегрированного модульного тестирование и профилирования. Также визуальный редактор можно использовать для программирования на SQL , XML , PHP , JavaScript , HTML и CSS .

JDeveloper оптимизирована для управления приложениями J2EE , базами данных, веб-службами REST / SOAP , мобильными приложениями, компонентами и приложениями Oracle Fusion Middleware .

Данная IDE содержит ряд встроенных инструментов для ускорения разработки. Один из них — интегрированный сервер WebLogic , который позволяет запускать, тестировать и отлаживать J2EE-приложения . А также браузер SQL и редактор PL / SQL , которые помогут в построении запросов, просмотре баз данных и создании отчетов; редактор WSDL , который ускоряет разработку SOAP и REST .

JDeveloper также включает в себя два инструмента отслеживания — встроенные генераторы схем XSD / XML и инструменты для запуска тестов.

  1. DrJava — простая среда для разработки Java-программ

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

DrJava объединяет такие функции, как интеллектуальный редактор кода, интерактивный терминал для оценки выходных данных программы, отладчик исходного кода и инструмент запуска модульных тестов.

IDE поддерживает Java 8 и более новые версии. И еще одно полезное дополнение — интеграция с инструментом Jacoco для охвата кода. Когда вы запускаете модульные тесты, он генерирует отчеты, содержащие в себе ссылки, указывающие на охват кода.

По нашему мнению, DrJava лучше всего подходит для пользователей, которые недавно начали изучать Java . Они смогут развивать свои навыки Java -программирования , а затем перейти на интегрированные среды разработки Java NetBeans , Eclipse или IntelliJ .

  1. JEdit — продвинутый редактор для Java-разработчиков

Интуитивный редактор кода, используемый Java-программистами на протяжении многих лет. Он поддерживает Mac OS X , OS / 2 , Unix , VMS и Windows .

Как и в случае с Eclipse , для разработки JEdit использован язык программирования Java . И это также одно из лучших Java-приложений , доступных для свободного использования на основе лицензии GPL 2.0 .

UDE предлагает ряд современных функций:

  • JEdit включает в себя встроенный язык создания макросов для автоматизации любой повторяющейся задачи. Также можно использовать доступные макросы;
  • JEdit-пакеты с интерактивным менеджером плагинов для поиска и загрузки необходимых плагинов.
  1. MyEclipse — полноценная Java IDE для веб-разработки

MyEclipse является одним из инструментов, призванных сделать процесс разработки более эффективным. MyEclipse развивает компания Genuitec , которая создала его на базе Eclipse .

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

Рассмотрим функции, которые она предоставляет:

  • Расширенная поддержка J2EE для всех известных фреймворков, таких как Spring , JPA , JSF , Jquery и Cordova ;
  • Интеллектуальное редактирование кода с подсказками, мгновенная проверка, подсветка синтаксиса, удобная справка (панель инструментов с хлебными крошками и мини карта );
  • Полное управление циклом развития проекта;
  • Встроенная поддержка MySQL , SQL Server и Sybase ;
  • Встроенный WebSphere для запуска, тестирования и отладки приложения «на лету »;
  • Другие серверы приложений, такие как WebLogic , Apache Tomcat , GlassFish и Derby , поддерживаются по умолчанию из коробки;
  • Создание динамических веб-приложений с использованием TypeScript и Angular 2 (ES6 );
  • Тонкая поддержка для разработки и тестирования RESTful веб-сервисов;
  • Возможность предварительного просмотра результата исполнения кода с помощью встроенного инструмента CodeLive . Также можно перейти к источнику любого элемента на веб-странице;
  • Кроссбраузерное тестирование и поддержка мобильных эмуляторов;
  • Обсуждение обновлений кода через интеграцию Slack .

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

  1. JCreator — простая среда для Java- разработки

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

Развитием JCreator занимается IT-компания Xinox Software . IDE доступна в двух вариантах: Lite версия с ограниченными возможностями и Pro edition с полным набором функций.

JCreator включает в себя множество полезных функций:

  • Интерфейс Easy Project Management похож на Visual Studio ;
  • Пользовательская цветовая схема для организации кода;
  • Возможность настроить и использовать в проектах нескольких профилей JDK ;
  • Выбор шаблона проекта для быстрого запуска;
  • Поддержка средств сборки и управления версиями, таких как Ant и CVS ;
  • Возможность запускать приложение как апплета с помощью JUnit или в терминале;
  • Встроенные инструменты для вызова внешних функций и утилит. форматирование Java-кода , компилятор RMI .

При создании этой IDE должное внимание было уделено простоте использования, скорости, производительности и отличному пользовательскому интерфейсу. Во многом авторы ориентировались на Microsoft Visual Studio.

  1. GreenFoot — онлайн-инструктор Java и IDE

Специализированный редактор кода, который предназначен для изучения Java новичками в интерактивном режиме. Он формирует среду для генерации симуляции графических программ и игр, написанных на Java .

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

Эта среда разработки Java имеет понятный пользовательский интерфейс и включает в себя одно окно для моделирования всех объектов и классов приложения.

У GreenFoot есть своя целевая аудитория, к которой относятся студенты, преподаватели и тренеры. При этом в ней реализованы все функции, необходимые для Java- разработчика :

  • Редактор GUI позволяет добавлять классы одним кликом мыши. Но можно добавлять и другие элементы, в зависимости от конкретного варианта использования;
  • Создаваемые классы легко расширяются или наследуются. Это же можно делать и с помощью визуального редактора;
  • GreenFoot поддерживает большое количество библиотек изображений, сгруппированных по таким категориям, как животные, объекты, здания, люди и символы;
  • В данной IDE реализованы функции управления проектами, поддержки кода, автоматического завершения, подсветки синтаксиса и другие инструменты.
  • Языки, платформы и методы могут отличаться. Но есть два аспекта веб-разработки, которые общие для всех задач: front-end и backend. Цель этой статьи заключается в том, чтобы…

    Несколько лет назад практически все веб-страницы создавались вручную. Это было очень сложно, и до того момента, пока во всех популярных браузерах не появилась…

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

Программы: язык программирования Java

В этом списке мы представим несколько программ, которые помогут вам справиться с этой ситуацией.

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

IntelliJ IDEA

Созданная компанией JetBrains бесплатная программа, имеющая 2 версии для разных типов разработки:

    Ultimate - служит для разработки веб-приложений и программирования для телефона, а также для программ для предприятия. Она является платной, но имеет бесплатный пробный период.

    Community - создана для программирования на Java, Groovy, Scala, а также для приложений "Андроид". Ее то нам скачивать и нужно. Для этого достаточно сделать несколько простых шагов:

  • Перейдем на официальный сайт JetBrains.
  • Перейдем в раздел Tools.
  • Выбираем программу IntelliJ IDEA.
  • Нажимаем кнопку Download.
  • Скачиваем программу для нашей операционной системы.

Обучающие программы для программирования на Java

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

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

CodinGame

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

Code Hunt

В данной игре вы являетесь охотником за кодом. Поддерживает только 2 языка - это Java и C#. В игре вам предстоит пройти 14 уровней, на каждом из которых есть свои задания.

Популярная платформа для младших возрастов и студентов, с помощью которой можно соревноваться с друзьями по написанию кода на некоторых языках программирования, таких как Java, CoffeeScript, JavaScript, Lua, Python. Кланы и даже сюжет, взаимодействие с игроками - все это втянет вас в увлекательное обучение.

Robocode

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

Codewars

Если вы не хотите создавать роботов, а соревноваться с друзьями, решая реальные задачи, то данная игра, несомненно, для вас.

Ресурсы для изучения Java

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

Coursera

На этом ресурсе вы найдете множество курсов по языкам программирования, присутствует русская локализация. Сайт бесплатный, однако есть дополнительный контент, за который придется платить. Так, например, вы можете бесплатно просматривать материал с ведущих университетов мира и выполнять практические задания, которые не требуют проверки сторонними лицами. Но если работу будут проверять другие люди или преподаватель, то вам придется раскошелиться от 49 $ (3200 руб.) в месяц.

Похожий на Coursera ресурс (с такой же платой), однако 49 $ (3200 руб.) вас берут не за проверку заданий, а за получение сертификата за прохождение курсов. А остальные материалы будут доступны вам бесплатно.

"Интуит"

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

Подведем итоги

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

За более чем десятилетнюю историю языка Java, сменилось ни одно поколение интегрированных сред разработки (Integrated Development Environment - IDE). Эволюция IDE средств обусловлена множеством факторов, совокупность которых называется - информационные технологии, включающих в себя программную и аппаратную составляющие, а так же развитие самого языка, которое происходит не только в глубь, оптимизация каких то возможностей, что ярко демонстрирует приход новых библиотек Swing вместо устаревших AWT, но и "вширь", это появление технологий JSP, большая интеграция с СУБД и серверами приложений, поддержка технологий Spring, Hibernate и пр.

И если первые IDE средства, представляли в сегодняшнем понимании примитивный текстовый редактор, который служил только для набора исходных кодов, а всю остальную работу, начиная от компиляции и заканчивая окончательной сборкой проекта приходилось выполнять вручную, то сегодняшние современные, являются фактически многофункциональными устройствами, берущими на себя не только привычные функции но и ряд дополнительных начин6ая от автоматического создания Javadoc, рефакторинга, профайлинга, UML-проектирования, клиента для подключения к любой СУБД и заканчивая такими экзотическими, не относящимися к процессу разработки, как проверка орфографии.

Безусловно, что расплатой за все эти "удобства", являются повышенные требования к ресурсам компьютера. Бытует мнение, что 80% пользователей используют возможности существующего программного обеспечения только на 20 %, это так же можно спроецировать и на IDE - средства. Так как все их достоинства может оценить лишь программист, который не один год занимается разработкой на соответствующей технологии. А начинающим программистам трудно оценить адекватно то или иное средство, поэтому, как правило, его самостоятельный выбор происходит по двум критериям – интуитивная понятность интерфейса и различные временно - ресурсные характеристики, такие как загрузка, компиляция, запуск, занимаемый объем ОЗУ. Ведь на первых порах необходимы только компилятор, отладчик, и непосредственно сама Java-машина .

Поэтому целью данной статьи является обзор существующего рынка IDE средств для разработки программ с помощью языка Java, с выявлением слабых и сильных сторон каждого по различным критериям, на основании анализа результатов проекта: "Тестирование и анализ сред разработки программного обеспечения для Java" ("Testing and analyses IDE for Java" (TAIDEJ)), который был организован нами, координационной группой сайт и проходил с1.01.2006 по 1.09.2006 на сайте www.сайт.

Проект был разбит на несколько этапов. На первом этапе, нами был разработан опросный лист, таблица 2, и собран список Java-IDE, таблица 3, которые были разработаны с момента появления языка Java2 по настоящее время, включая ссылки, как на IDE средства которые у всех на слуху, так и на довольно экзотические. Этот список благодаря нашим участникам периодически пополнялся. Здесь мы хотим выразить, огромную благодарность всем участником проекта, а также всем тем, кто обсуждал и конструктивно критиковал нас форумах, таблица 1

Таблица 1. Java - форумы
Java - Форум на Исходниках.Ру
RSDN http://www.rsdn.ru/?forum
Forums - Juga.Ru http://forum.juga.ru/
IT archiv forums http://www.javable.com/forum
Java Forums - Java Programming http://forum.java.sun.com/
java.net Forums http://forums.java.net
Javalobby.org http://www.javalobby.org/java/forums
JavaWorld http://www.javaworld.com/javaforums
Компьютерный форум Ru.Board http://forum.ru-board.com
Программирование - iXBT Hardware BBS http://forum.ixbt.com
Форум JUG KPI http://jug.in.ntu-kpi.kiev.ua/forum
ЦИТФорум http://forum.citforum.ru
Realcoding.NET http://forums.realcoding.net

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

  1. тенденцию изменения предпочтений программистов, так как некогда успешные средства или совсем перестали развиваться или по каким либо причинам фирмы их разрабатывающие сошли с дистанции, и поэтому многим приходилось переходить с одного IDE - средства, на другое;
  2. каким образом, программист выбрал то или иное средство;
  3. как оценивает программист те средства, с которыми он работал по пятибалльной шкале;
Таблица 2. Опросный лист

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

Таблица 3. Список IDE для Java.
Название Производитель Сайт производителя
1 Applet Designer Professional TVObjects http://www.tvobjects.com/
2 Apptivity Progress Software http://apptivity.progress.com/
3 Awesume Jawa 1.0 Awesume Interactive Design http://www.awesume.se/en/index.htm
4 Bluette free RAD Java tool http://blue.donga.ac.kr/bluette/
5 Bongo Marimba http://www.marimba.com/
6 Clarion Internet Edition TopSpeed Corporation http://www.topspeed.com/
7 CodeWarrior Pro MetroWerks http://www.metrowerks.com/desktop/pro/
8 Cosmo Code SGI http://www.sgi.com/Products/cosmo/code/index.html
9 ED for Windows Soft As It Gets http://www.getsoft.com/ed_java.html
10 Elixir Elixir Technology Pte Ltd http://www.elixir.com.sg/
11 Free Builder FreeBuilder collective http://www.freebuilder.com/
12 GRASP GRASP Project http://www.eng.auburn.edu/grasp/
13 Grinder Paradigm Exchange http://www.tpex.com/features.htm
14 Hyperwire Kinetix http://www.ktx.com/
15 Jamba Animator Interleaf http://www.jamba.com/
16 Jamba Interleaf http://www.jamba.com/
17 JavaMan HartWare http://homepage.dave-world.net/~hartware/
18 Java Studio Sun Microsystems http://www.sun.com/
19 Javelin Step Ahead http://www.ozemail.com.au/~stepsoft/
20 JaWiz InfinityEdge Systems http://www.infinityedge.com/
21 JBuilder Inprise http://www.inprise.com/jbuilder/
22 JDesignerPro BulletProof http://www.bulletproof.com/
23 JDE for Emacs Paul Kinnucan http://sunsite.auc.dk/jde/
24 JADI Sujal Shah http://dan.hcf.jhu.edu/sujal/winjadi/
25 JIG S Cubed http://www.scubed.cc/
26 Jipe Envision Internet Services http://www.users.globalnet.co.uk/~eis/jipe.htm
27 JPad ModelWorks http://www.modelworks.com/
28 Kalimantan Real-Time Enterprises, Inc. http://www.real-time.com/java/kalimantan/index.html
29 KAWA TEK-TOOLS, Inc. http://www.tek-tools.com/kawa/
30 Lava Dan Page http://www.hnet.demon.co.uk/products/lava/index.html
31 Lemur Island Design http://www.island-design.co.uk/
32 NetBeans NetBeans, Inc. http://www.netbeans.com/
33 OEW 1.0 Innovative Software http://www.isg.de/OEW/Java/
34 PARTS for Java ObjectShare http://www.objectshare.com/p4j/p4j2info.htm
35 PowerJ Sybase http://www.sybase.com/products/powerj/
36 Roaster Natural Intelligence http://www.roaster.com/roaster/
37 SNiFF+ TakeFive Software http://www.takefive.com/sniff/
38 Spirit eVisNet Limited http://www.evis.net/
39 SuperCede SuperCede, Inc. http://www.supercede.com/
40 Visaj Imperial Software Technology http://www.ist.co.uk/
41 Vision Jade Vision Software http://www.vision-soft.com/
42 VisualAge for Java IBM http://www.software.ibm.com/ad/vajava/
43 Visual Cafe Symantec http://cafe.symantec.com/
44 Visual J++ Microsoft http://www.microsoft.com/visualj/
45 Web Application Platform SilverStream http://www.silverstream.com/products/main/main_f.htm
46 Java WebIDE Chami.com http://www.chami.com/webide/
47 WipeOut softwarebuero m&b http://www.softwarebuero.de/wipeout-eng.html
48 IntelliJ IDEA IntelliJ IDEA http://www.jetbrains.com/idea/
49 Eclipse eclipse.org http://www.eclipse.org
50 JDeveloper Oracle http://www.oracle.com/technology/products/jdev/index.html
51 JCreator Xinox Software http://www.jcreator.com/
52 jEdit jEdit http://www.jedit.org/
53 X-Develop Omnicore Software http://www.omnicore.com/
54 Gel IDE GExperts Inc http://www.gexperts.com/
55 IBM Web Sphere Studio Application Developer IBM Software http://www-306.ibm.com/software/awdtools/studioappdev/
56 eXtend NOVELL http://www.novell.com/products/extend/

Во первых, способ распространения, соответственно IDE можно разделить на платные (JBuilder, Visual Cafe…) и бесплатные (NetBeans, Eclipse, Gel), которые любой желающий может скачать с сайта производителя.

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

По этому критерию можно выделить средства, которые не имеют визуального средства для разработки GUI (простые), например Gel, JCreator и которые имеют (сложные) - JBuilder, Idea.

Соответственно первые в ОЗУ при работе занимают менее 30 Мб, а вторые более 100Мб. Что касается самих визуальных средств разработки, то по своему опыту и по мнению многих коллег программистов с многолетним стажем, использование их не всегда является оправданным для начинающих программистов, хотя они вроде бы с одной стороны облегчают разработку, но с другой затрудняют концептуальное понимание таких базовых вещей библиотеки Swing как менеджеры размещения, обработка событий и пр.

Так же к участию в проекте была привлечена группа студентов ДГТУ (особо хочется отметить Егоренкова В. и Лагутина Д.), которые только приступили к изучению ООП, задачи которых заключались в ознакомлении с IDE для Java, их установке, фиксацией параметров при загрузке, выдачей своих комментариев и в конечном итоге самостоятельный выбор средства для первоначальной работы. Результаты тестирования сведены в таблицу 4.

Таблица 4. Результаты тестирования IDE - средств
Параметры GeI JСreator 3.5 JBuilder Х Idea 5 NetBeans 4.1
Время установки 1 сек 1-1,5 сек 58 сек 22 сек 50сек
размер установленного пакета 10,3 Мб 6,49 Мб 332 Мб 157 Мб 118 Мб
Размер дистрибутива 4,21 Мб 3,6 Мб 178 Мб 51,6 Мб 46,4Мб
Запуск 1-1,5 сек 9 сек 6 сек 6 сек
Занимаемый объем в ОЗУ 17828 Кб 12960 Кб 74128 Кб 65604 Кб 61409 Кб
Занимаемый объем виртуальной памяти 9020 Кб 14960 Кб 78588 Кб 76416 Кб 70406 Кб

* За базовую конфигурацию была взята машина на базе: CPU Athlon64 3000+; ОЗУ - 1024Мб DDR-SDRAM (pc3200)

После чего, был проведен семинар, на котором были подведены итоги работы, в результате чего было установлено, что на начальном этапе работы, когда идет процесс изучения синтаксических особенностей языка, нет необходимости в использовании тех возможностей, которые представляют сложные IDE, хотя, безусловно, многих заинтересовали способы быстрой разработки интерфейса, так как эта возможность наиболее интуитивно понятная, и сразу позволяет получать результаты. Но, как известно, разработка интерфейса является неотъемлемой, но не самой важной частью приложения. А повышенные требования к ресурсам со стороны сложных IDE, особенно с учетом того, что не у всех студентов домашние компьютеры имеют даже 512 Мб ОЗУ, дают неоспоримые преимущества простым IDE, поэтому лидером среди студентов, из всех имеющихся в наличие IDE был признан Gel.

Название % голосов Оценка
1 JBuilder 21.47 3.0
2 Eclipse 16.64 3.3
3 NetBeans 14.22 2.9
4 IntelliJ IDEA 11.66 3.5
5 JDeveloper 7.11 2.8
6 Visual J++ 5.26 1.8
7 JCreator 4.26 2.3
8 VisualAge for Java 3.69 2.8
9 Java Studio 3.41 2.0

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

  1. Интерфейс. Этот первый компонент, с которым сталкивается пользователь после установки и который формирует первое впечатление о программе, и на основании которого может быть осуществлен окончательный выбор. Здесь оценивается не только общий дизайн, хотя, безусловно, он тоже сказывается определенным образом, но и удобство расположения и настройки таких компонент как окно исходного кода, окно проекта и т.д.
  2. Настройка. Соответственно после установки и первого запуска среды разработки выполняется ее настройка, т.е. указываются пути, по которым располагаются установленные SDK, DOCS, J2EE. В этом компоненте, как правило, существенных различий не наблюдается. Более того, современные средства, как правило, самостоятельно определяют установленные компоненты.
  3. Редактор кода. Настройка отображения исходных кодов, как правило, тоже не отличается разнообразием, в любом средстве легко можно настроить кеглю и ее размер, а так же цвет. Немаловажным преимуществом является наличие помощника когда, при "зависании" мышки на любой переменной или методе всплывает довольно подробный ToolTip (контекстное окошко) в котором развернуто, описаны все параметры объекта. Также есть масса приятных мелочей, вывод нумерации строк, отображение структуры класса, показ символов абзаца, проверка орфографии.

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

Анализ результатов опроса, таблицы 5,6. Как было описано выше, в нашем опросе средства были разбиты на две группы, те которыми пользовались ранее, и которыми пользуются в настоящее время. И если среди средств, которые использовались в прошлом наблюдается многообразие, мы отобрали средства которые набрали более 3% голосов от общего числа участвовавших в опросе, то среди тех, которые используются в настоящее время такого многообразия нет, и мы были вынуждены снизить процент голосов, и даже не смотря на это не получили большого многообразия.

Как видно, неизменным участником выборок является "простое" IDE средство JСreator, это объясняется по вей видимости тем, что оно является довольно простым в освоении и не требовательно к ресурсам, следовательно пользуется популярностью среди начинающих программистов. JBuilder потерял свои позиции, это очевидно связано с тем, что бесплатные средства, такие как Eclipse и NetBeans по своим возможностям стали его превосходить. Безусловным лидером следует признать Eclipse, так как оно не утратило свои довольно высокие позиции, а даже прибавило. Популярность JDeveloper следует связывать с его ориентированностью на СУБД Oracle. Популярность IntelliJ IDEA обусловлена тем, что в определенный момент времени, разработчики сумели представить продукт обладающий мощными возможностями, и на протяжении нескольких лет довольно успешно на высоком уровне поддерживают его марку, что подтверждается так же высокими оценками пользователей.

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

Анализ причин выбора IDE средства, показал, что выбор средств первого поколения, как правило осуществлялся случайно или по результатам самостоятельного анализа, что естественно, так как в это время проходил процесс становления, как самого языка, так и средств разработки. Средства же второго поколения выбирались в основном в результате самостоятельного анализа или совета друга. Это обусловлено, по всей видимости тем, что к этому времени сформировался как круг профессиональных Ява-программистов, так и рынок основных разработчиков IDE средств.

Таблица 7. Причины выбора IDE

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

Список используемых источников

  1. Жмайлов Б.Б. Преимущества и недостатки разработки Java-программ без использования IDE-средств. Журнал "Вестник компьютерных и информационных технологий" №6, 2006г.
  2. , Сергей Бердачук,"Oracle JDeveloper 10g - Среда разработки Java приложений"
  3. , Алексей Литвинюк, "Введение в интегрированную среду разработки Eclipse"
  4. , Александр Демьяненко, "Краткий обзор IDE – Jbuilder"
  5. , Александр Демьяненко, "Краткий обзор IDE – Idea"
  6. , Борис Жмайлов, "Краткий обзор IDE - Gel"
  7. , Обзор средств автоматизированного рефакторинга в Java IDE


Рекомендуем почитать

Наверх