Язык Java уже больше 20 лет не теряет актуальности. Он достаточно прост для новичков в программировании, по нему много туториалов. Сообщество его поддерживает и постоянно развивает. На Java пишут мобильные и веб-приложения, софт для серверов, навигационных систем и даже игры.
Делимся подборкой инструментов, которые пригодятся в обучении и работе с кодом на Java.
Что нужно для работы с Java
Чтобы начать программировать, сперва нужно установить на компьютер Java Development Kit (JDK). Это набор инструментов разработки, в который входят стандартные библиотеки и Java Virtual Machine (JVM). JVM — это программа-интерпретатор, которая преобразует байт-код, полученный в ходе компиляции, в машинный код, понятный компьютеру.
Существует две версии JDK — Oracle JDK и OpenJDK. Их главное отличие — степень открытости кода.
Oracle JDK
Новые версии комплекта разработчика находятся в Java downloads. Предыдущие версии вы найдете в Java archive, но для их скачивания нужна авторизация на сайте.
Особенности: крупным организациям, использующим Oracle JDK, после истечения бесплатного периода нужно оформить платный тариф, иначе им ограничат доступ к Oracle. Это не касается программистов и тестировщиков.
OpenJDK
Ссылку на последний JDK вы найдете на главной странице. Также доступны для скачивания старые версии комплекта.
Особенности: помимо основного комплекта, OpenJDK имеет расширенные сборки. Самая популярная — Eclipse Temurin (ранее AdoptOpenJDK) от Adoptium. У нее хорошая производительность и долгосрочная поддержка версий OpenJDK.
Инструкция по установке JDK на различных платформах
Перед установкой Java Development Kit:
- Найдите нужную версию JDK.
- Выберите свою операционную систему и разрядность.
- Скачайте дистрибутив.
- Проверьте, установлен ли на вашем компьютере Java. Если да, то удалите его.
Ход установки рассмотрим на примере комплекта Oracle JDK.
Windows
- Установите пакет JDK.
- Добавьте системную переменную JAVA_HOME
Откройте «Мой компьютер», затем нажмите «Свойства». Выберите слева «Дополнительные параметры системы», затем «Переменные среды».
Создайте новую переменную — JAVA_HOME, укажите путь к файлу компилятора. Он должен заканчиваться на \jdkНомерВерсии.
- Отредактируйте переменную Path
В том же окне переменных найдите Path и нажмите «Изменить». Ничего не удаляя, создайте строку, в которой укажите путь к папке bin в директории JDK. Путь должен заканчиваться на \jdkНомерВерсии\bin\. После внесения изменений перезагрузите компьютер.
- Проверьте, что все установилось
Запустите командную строку cmd. Введите команду java -version. Если в ответ вы получили сообщение о версии, значит, Java установлена верно.
MacOS
Откройте скачанный dmg-файл и следуйте инструкциям инсталлятора.
Linux и Ubuntu
Установка с помощью файлового архиватора tar через консоль на примере JDK 11:
- После скачивания архива распакуйте его в каталог, который вы выбрали для установки. Например, для распаковки JDK 11 в /usr/local/ введите в консоль:
sudo tar -xvzf jdk-11.0.12_linux-x64_bin.tar.gz -C /usr/local/
- Настройка переменных среды
Добавьте JDK к переменным среды. Отредактируйте файл ~/.bashrc или ~/.profile и добавьте следующие строки в конец файла:
export JAVA_HOME=/usr/local/jdk-11.0.12 export PATH=$PATH:$JAVA_HOME/bin
Вместо /usr/local/jdk-11.0.12 укажите путь к вашей установленной версии JDK.
- Примените изменения
Обновите переменные среды, выполнив:
source ~/.bashrc
Обзор популярных IDE для Java
Теперь, когда JDK установлен, пришло время выбрать среду для разработки на Java. Чтобы разработчик мог эффективно писать свой код и не отвлекаться на повторяющиеся ручные операции, ему понадобится IDE.
Integrated Development Environment (IDE) — интегрированная среда разработки, в которой можно создавать, редактировать, тестировать и упаковывать ПО. Она автоматизирует многие рутинные задачи. Способности IDE можно расширять с помощью дополнительных модулей и плагинов.
IDE предоставляет программисту:
- встроенный редактор кода с подсветкой синтаксиса;
- отладчик для обнаружения ошибок;
- управление структурой проекта, файлами и зависимостями.
Eclipse
Мощная IDE с открытым исходным кодом, поддерживаемая Eclipse Foundation. Eclipse стала одной из самых популярных IDE благодаря своему открытому исходному коду, обширному набору функций и возможностям расширения функционала за счет модулей. С их помощью можно настраивать внешний вид Eclipse, добавлять новые инструменты для работы с фреймворками или другими языками.
Плюсы:
- открытый исходный код;
- широкий функционал;
- разнообразие плагинов и модулей;
- поддержка многих языков и фреймворков.
Минусы:
- интерфейс может показаться сложным для новичков;
- при нехватке ресурсов блокируется рабочее окно.
Стоимость: бесплатно
Популярные модули и плагины:
— Eclipse Java Development Tools (JDT) — основной модуль для разработки на Java;
— Spring Tools Suite — поддержка платформы Spring;
— EGit — интеграция с Git;
— Mylyn — управление проектами и задачами;
— Maven Integration — интеграция с Apache Maven;
— Android Development Tools для Eclipse (ADT) — расширение для разработки Android-приложений.
NetBeans
Предлагает широкий набор инструментов для упрощения процесса разработки, таких как автодополнение кода, рефакторинг, отладка, наборы горячих клавиш. У NetBeans хорошая библиотека и быстрое подключение зависимостей.
Плюсы:
- автодополнение кода;
- настраиваемый интерфейс.
Минусы:
- не всегда корректное автодополнение;
- отсутствие встроенных справочных материалов.
Стоимость: бесплатно
Популярные модули и плагины:
— Checkstyle Beans — выявляет нарушения стандартов в коде и помогает обеспечить читаемость;
— Gluon Plugin — позволяет создавать приложения на Java для Android и iOS;
— NB SpringBoot — облегчает работу с платформой Spring Boot в NetBeans;
— GitHub Issues Support — упрощает взаимодействие с задачами GitHub.
IntelliJ IDEA
Среда разработки с уникальными инструментами, умной поддержкой кода, отличной интеграцией с системами сборки, а также возможностью работы с множеством технологий, включая Spring и Android.
Плюсы:
- умные подсказки;
- высокая производительность и стабильность;
- интеграция с популярными фреймворками;
- хороший набор инструментов для рефакторинга.
Минусы:
- дорогостоящая платная версия.
Стоимость:
- лицензия Ultimate — от $169 за год для частных лиц и от $599 — для организаций;
- скидки для студентов и open-source разработчиков;
- бесплатные версии для университетов и колледжей.
Как установить IntelliJ IDEA на Windows 10 и написать первую программу на Java, смотрите в видео.
Популярные модули и плагины:
— Lombok — упрощает создание Java-классов, автоматически генерируя геттеры, сеттеры и другие методы;
— Maven Helper — облегчает работу с проектами, использующими Maven, позволяя управлять зависимостями и профилями;
— Checkstyle-IDEA — интегрирует инструмент для анализа и автоматической проверки кода на соответствие стандартам;
— SonarLint — подключает анализатор кода для выявления потенциальных проблем и улучшения качества кода;
— Key Promoter X — помогает выучить горячие клавиши.
BlueJ
Среда разработки с простым и интуитивно понятным интерфейсом. Она разработана для обучения объектно-ориентированному программированию и хорошо подойдет начинающим Java-разработчикам.
Плюсы:
- понятный интерфейс;
- простая установка.
Минус:
- не такая мощная и расширяемая, как другие IDE, предназначенные для профессиональной разработки.
Стоимость: бесплатно
Популярные модули и плагины:
— Extensions — предоставляет набор расширений для более продвинутых задач;
— BlueJ-Checkstyle — позволяет использовать инструмент Checkstyle для проверки стиля кода.
jGrasp
Эта IDE отличается простым интерфейсом, который специально разработан для обучения работе со структурами данных и алгоритмами. Средой jGrasp могут пользоваться студенты и преподаватели, обучающие Java-программированию.
Плюсы:
- доступный интерфейс;
- поддержка нескольких языков программирования;
- удобство изучения алгоритмов.
Минусы:
- подходит только для небольших учебных проектов;
- отсутствие расширений.
Стоимость: бесплатно
Greenfoot
Еще одна образовательная IDE для средних школ и университетов, специализированная на создании 2D-игр на Java. Она сделает процесс изучения Java более увлекательным и понятным для новичков.
Плюсы:
- понятный интерфейс;
- удобный набор инструментов и библиотек для создания интерактивных приложений;
- бесплатная и с открытым исходным кодом.
Минусы:
- не подходит для разработки крупных и сложных приложений;
- основана на старой версии Java, что ограничивает использование современных функций языка;
- отсутствие модулей.
Стоимость: бесплатно
Replit
Онлайн-IDE с облачным выполнением кода. Обеспечивает доступ к разработке из веб-браузера или мобильного приложения. Отличительная особенность — возможность быстро создавать, редактировать и выполнять Java-программы онлайн в совместном режиме.
Плюсы:
- кроме ПК, доступна также на устройствах Android и iOS;
- нет необходимости устанавливать среду на компьютер;
- можно работать командой, что удобно для совместной разработки;
- простой и удобный интерфейс для быстрого создания и редактирования Java-кода.
Минусы:
- ограничения по производительности в сравнении с десктопными IDE;
- платное расширение функционала и производительности;
- для работы нужен интернет.
Стоимость:
- бесплатный тарифный план;
- план Hacker — $7 в месяц;
- план Pro — $20 в месяц.
Android Studio
Официальная IDE от Google для разработки приложений под Android. В среде есть мощный редактор макетов для создания пользовательского интерфейса, удобное отладочное окружение. Также среда интегрирована с Android SDK, в ней есть множество инструментов для разработки Android-приложений.
Популярные модули и плагины:
— Android Jetpack— набор библиотек и инструментов для упрощения разработки Android-приложений;
— LeakCanary — инструмент для обнаружения утечек памяти;
— Codota — предлагает автодополнение кода с помощью ИИ.
Плюсы:
- интеграция с Android SDK и эмуляторами;
- удобный визуальный редактор макетов;
- поддержка Kotlin и Java;
- множество инструментов для профилирования и отладки.
Минусы:
- может быть требовательной к ресурсам системы;
- ограничена разработкой для Android;
- нужен интернет, если вы фиксируете изменения кода в Git, пользуетесь внешними библиотеками или API с помощью Gradle (чтобы продолжить работу, включите автономный режим).
Стоимость: бесплатно
Популярные IDE для разработки Java на устройствах Android
Jvdroid
Хорошая образовательная IDE, которая содержит эффективный компилятор, который работает в офлайн-режиме. Есть поддержка Maven и OpenJDK 11, а также эмулятор терминала и инструменты для анализа и форматирования кода.
Плюсы:
- удобство работы с проектами Maven;
- режим интерпретатора Java на основе JShell;
- наличие терминала;
- автоматическая поддержка отступов, прогнозирование и анализ кода;
- удобный просмотр Javadoc Viewer для методов и классов;
- возможность форматирования кода;
- расширенная клавиатура и темы оформления;
- подсветка синтаксиса и темы.
Минусы:
- затраты дополнительного места при использовании библиотек, таких как Kotlin Runtime;
- прогнозирование и анализ кода доступны только в Premium-версии;
- отсутствие официального сайта со справочной информацией.
Стоимость:
- бесплатная базовая версия;
- Premium-версия — $10.
JStudio
Минималистичная IDE с возможностью автодополнения кода. Она также умеет находить ошибки в коде в режиме реального времени.
Плюсы:
- удобный интерфейс;
- поддержка проверки ошибок при вводе;
- автозавершение кода;
- отмена и возврат действий.
Минусы:
- отсутствие официального сайта со справочной информацией;
- проблемы с набором кода в альбомном режиме экрана телефона.
Стоимость: бесплатно
Code Editor — Compiler & IDE от Rhythm Software
Оптимизированный редактор кода, в котором есть инструменты более чем для 100 языков программирования.
Плюсы:
- подсказки и автодополнение кода;
- доступ к файлам из Google Drive, DropBox и OneDrive;
- поиск и замена кода;
- работает с физической клавиатурой;
- удобный доступ в GitHub.
Минусы:
- содержит рекламу.
Стоимость: бесплатно
Какую IDE выбрать
На выбор среды разработки влияет множество факторов:
- Цель проекта
Что именно вы хотите разрабатывать. Например, если это мобильное приложение для Android, Android Studio будет хорошим выбором. Но для десктопных приложений эта среда не подойдет.
- Комьюнити
Популярные IDE обычно имеют большое сообщество пользователей и, соответственно, множество плагинов, дополнительных ресурсов и форумов. Это немаловажный фактор для начинающих программистов.
- Интеграция с другими инструментами
Убедитесь, что выбранная вами IDE интегрируется с инструментами, которые вы собираетесь использовать в процессе разработки (например, Git).
- Производительность и ресурсы
Узнайте, какие ресурсы (память, процессор) требуются для работы IDE. Какие-то IDE могут быть более легкими и быстрыми, чем другие.
- Личные предпочтения
В конечном итоге выбор IDE будет зависеть от ваших собственных предпочтений.
Также вы можете сравнить некоторые характеристики сред разработки с помощью сервиса TrustRadius. Выберите от двух до трех IDE и сопоставьте их.
Полезные материалы и ресурсы для обучения Java
Чтобы программировать на Java, вам нужно знать:
— синтаксис языка;
— типы данных (примитивные и ссылочные);
— основные конструкции;
— как находить и исправлять ошибки;
— как запускать готовую программу.
В дальнейшем вам может понадобиться знание системы контроля версий Git. Вместе с тем советуем обзавестись качественно оформленным профилем на GitHub.
Видео
Переведенный Гарвардский курс CS50 — подойдет любому человеку, который решил погрузиться в IT. Его можно рекомендовать и способным школьникам, и студентам, и взрослым людям, которые решили сменить профессию. Вы изучите основы программирования и основные концепции компьютерных наук. В курсе нет «воды», а информация подана настолько увлекательно, что лекции смотрятся как любимый сериал.
YouTube-канал alishev — короткие видеоуроки программирования Java, в которых максимально доступно изложены базовые принципы языка. Видео подойдут тем, кто плохо воспринимает формат часовых лекций, так как они длятся от 7 минут до получаса. Материал изложен лаконично, есть примеры, понятные новичкам.
Java Full Course for free от Bro Code — этот курс подойдет людям, которые любят погрузиться в материал и способны воспринимать насыщенные и длинные лекции, ведь он длится целых 12 часов. В курсе раскрываются основы программирования на Java, после него любой новичок сможет начать писать первые программы. Видео на английском языке.
Телеграм-каналы
Библиотека джависта — полезная информация для разработчиков.
Learn.java — канал-чат для начинающих программистов.
Java jobs — канал для поиска рабочих вакансий и стажировок.
Книги
К. Сиерра, Б. Бейтс. «Изучаем Java»
Г. Шилдт. «Java. Полное руководство». 10-е издание
Б. Бхаргава. «Грокаем алгоритмы»
Р. Лафоре. «Структура данных и алгоритмы»