- Java IDE для разработчиков с Linux’ом
- Новичок против
- IDE, которых много
- Топ по категориям
- Универсальность не стоит денег
- Лидер фримиума – NetBeans
- Лидер топа в будущем – MyEclipse
- Full-Stack практика. Создание JavaScript блога
- Первые шаги в Java: как начать разрабатывать ничего не устанавливая
- Облачная IDE и разработка в Docker контейнере
- Система управления зависимостями и сборки
- Магия «верблюда»
- Что дальше?
Java IDE для разработчиков с Linux’ом
Дата публикации: 2018-11-15
От автора: трудно представить, где была бы разработка Java-приложений, если бы не существовало операционной системы Linux. Она привлекает все больше поклонников, ведь развивается с каждым годом. Благодаря тому, что над этими системами работает мировое сообщество, а не ограниченный круг сотрудников компании, Линуксы владеют гораздо более широким функционалом, чем их коммерческие оппоненты – Mac и Windows. Если вы начинающий джавист и тоже хотите присоединится к линуксоидам, значит нужно подобрать хорошую среду разработки. Хватит забивать в Google «linux java ide» – читайте все что ниже!
Новичок против
По критике, обрушенной на операционную систему, Linux может соперничать разве что с Windows. Последнюю и вовсе не жалуют разработчики: то, что плохо работает на Windows, гораздо сложнее исправить, чем ошибку в операционной системе из семейства Linux. Сегодня мы не будем говорить о том, насколько хороши эти системы. Зато рассмотрим пункты, которые обычно отпугивают новичков от разработки на Linux.
Среди проблем, характерных для Linux, называют:
трудно использовать. Этот тезис может убедительно звучать из уст разработчика, которому не хватает Photoshop или другого профессионального программного обеспечения. Но, когда речь идет о простых пользователях, для которых нужен браузер, текстовые редакторы и видеокодеки, то этот аргумент сразу ломается. Со всеми «простыми» функциями эти OS отлично справляются. Иногда, даже лучше пресловутого Windows. Старые компьютеры «оживают», когда на него прямыми руками устанавливают качественный дистрибутив;
подключение сторонних устройств. Для полноценной веб-разработки иногда необходимо подключение внешних дисков и других девайсов. К сожалению, начинающие пользователи не знают, что поддержкой «осей» должен заниматься вендор – тот, кто производит устройство. Так что, если Linux не видит накопитель, это вина накопителя, а не операционной системы. К тому же, на рынке уже не встретишь устройство не совместимое с Linux-семейством;
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
управление системой из консоли. Несмотря на то, что на этот инструмент порицается новичками, это лучшее, что придумали для Linux. Графический интерфейс никогда не даст такой функциональности. Если все, что можно сделать через терминал, оформили бы в GUI, он бы занял целое хранилище. Ну, а скорость и четкость выполнения не сравнима ни с одним интерфейсом. Главное все уметь ;
время работы батареи. Единственный минус для разработчика, который взаимодействует с портативным ПК (80%). Windows и Mac научились рационально распределять использование батареи. Ни один «голый» дистрибутив не может с ним сравниться. И это очевидно: в распоряжении сообщества разработчиков Linux нет таких экспериментальных возможностей, как у компаний Apple и Microsoft. Лучшее, что они могут предложить для Linux – это некоторые утилиты, которые оптимизируют батарею.
IDE, которых много
Сам Linux очень хорош для Java: это будто операционная система, которая является средой разработки. Сама операционная система разработана на основе компилируемых языков. Значит, лучшее, что можно создать для Linux – это группа компиляторов, которые будут оптимизировать работу системы. Им стал GCC (GNU Compiler Collection). Кроме компиляции, GCC выполняет функцию фронта для языков C, С++, Java. И это не все плюшки, которые Linux приготовил для программистов. Сегодня эта система стоит на 3 из 5 машинах разработчиков. IDE для Java, которые поддерживают Linux – масса.
Каждый разработчик ставит к среде разработки определённые требования. К примеру, кому-то предельно важна стоимость программного обеспечения. И это не порок: когда вы программируете на Java лишь для утилитарных целей своего предприятия, трудно раскошелится на платный софт. Для других нужно чтобы IDE поддерживала сразу несколько операционных систем, для работы в команде это необходимое условие.
Множество школ, колледжей и университетов используют Java, как первый язык программирования для ученика. Стоит ли говорить на какой платформе работают школьные компьютеры? Конечно же Linux! Ведь это гораздо дешевле, чем приобретение корпоративной лицензии для машин. Для обучения нужна и среда разработки, которая не будет генерировать код, но подсветит место ошибки. Выбрать лучшую не получится, но можно отметить сильные стороны каждой из сред разработки на Линукс.
Топ по категориям
Сегодняшний топ-лист сред для разработки на Линукс чем-то напомнит школьный конкурс красоты: без титула не останется ни один участник. К тому же, зачем описывать IDE, которые не имеют никаких достоинств? Концентрируя внимание на том, что лучше для Linux и эффективности самой программы, мы поможем новичку выбрать среду разработки, которая будет выполнять конкретную роль.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Универсальность не стоит денег
Обычно стоит, но не в случае с JDeveloper. Это среда разработки на Java, которая имеет славу наиболее универсальной IDE, если говорить о языке Java. Является одной из сред разработки для Java, которая разработана компанией Oracle. Их главной целью было создание Java IDE, которая вытеснит всех других игроков из этой ниши.
JDeveloper поддерживает взаимодействие с системами контроля версий, такими как Git. Благодаря этому, среда разработки активно используется в open-source проектах, включая и сводные дистрибутивы Linux. Вместе с гит-подобными в эту IDE внедрили поддержку облака от компании Oracle, редакторы всех основных веб-языков и веб-сервер. JDeveloper впечатляет разнообразием и функциональностью графического интерфейса, что делает его привлекательным для новичков. Кроме того, что эта программа отлично ладит с Java-кодом, она еще и написана на Java, что дает повод для создания расширений к этому ПО.
Фактором выбора для серьезных разработчиков стала поддержка Java EE – фреймворка по созданию приложений с уклоном на e-commerce. Тем не менее, JDeveloper не так распространен, как другие среды разработки на Линукс. Полноценно он ориентирован на Java, а один язык редко используется в крупной разработке. Хотя для Java трудно найти что-то более подходящее.
Лидер фримиума – NetBeans
Вот вам еще один пример софта от компании Oracle. Здесь нет прямой конкуренции «сам с собой», и вы поймете почему: это две разных среды разработки, которые используются для разных целей. Общим здесь будет разработка на Java и бесплатное распространение.
NetBeans не только разработан на Java, как и предшественник, но и является настоящим open-source, с двумя GPL на структурные элементы программы. Это значит, что все необходимые улучшения может провести тот, кто использует программу – джавист.
Из бесплатных IDE, NetBeans является наиболее распространенной средой разработки, в том числе и для Linux. Считается, что «бобы» всецело ориентированы на веб-разработку, и это не беспочвенные заявления. Среда поддерживает PHP, Ruby и Python – лидеров веба. Правда для этих PL необходимо установить соответствующий плагин.
У NetBeans есть еще один очень привлекательный элемент для разработки – GUI Builder. Из названия вы могли догадаться о его предназначении: составление интерфейсов для программ. Только у NetBeans он делает программирование все больше похожим на дизайн. Вы просто перетаскиваете нужные элементы и конструируете из них интерфейс.
Лидер топа в будущем – MyEclipse
Со средой разработки Eclipse вы уже, наверняка, знакомы – одна из самых популярных в свободном доступе. Ее создали в ответ на Visual Studio и понемногу она отбирает поклонников у продукта Microsoft.
Для Java-разработчика Eclipse привлекателен тем, что владеет Java Development Tools, которые существенно ускоряют разработку. Ну, а если к этому добавить еще различных фишек из My, получается полноценный элемент для веб-разработки на Java.
По сути, это совокупность плагинов и расширений Eclipse. MyEclipse можно собрать самостоятельно, скачав плагины из магазина на сайте eclipse.org. Но, здесь уже все адаптировано для фулл-стека: присутствует даже редактор изображений, хоть и довольно примитивный. Несмотря на красивый лозунг – «Лучшая Java EE IDE для разработчика-фуллстека», продукт еще не нашел признания у масс. Впереди развитие!
Оффтоп: кроме этих серьезных инструментов, существуют и решения для обучения такие, как DrJava. Исключительно университетский вариант, но, как это бывает среди программистов, существуют фанаты этой системы. Ее легко настроить и немедленно приступить к созданию программы. Здесь вы не установите массу плагинов и не расширите функционал. Но, как инструмент обучения – эта среда разработки идеальна. Особенно, если учесть, что она «дружит» с Linux. Популярности этой IDE способствует и то, что у нее не так много конкурентов. Самый яркий из них – BlueJ, но с ним мы встретимся в других обзорах. А пока все!
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Full-Stack практика. Создание JavaScript блога
Создание веб-приложения с нуля на JavaScript, NodeJS, ExpressJS
Источник
Первые шаги в Java: как начать разрабатывать ничего не устанавливая
По прошествию многих лет я подумал, а как бы я разрабатывал свою первую программу на Java, если бы я начал сегодня?
Знакомство с Java было в университете и при воспоминаниях об этом бросает в холодный пот. Кроме нового незнакомого языка, приходилось устанавливать какой-то JDK, потом IDE, потом создавать первый проект и вручную добавлять в него библиотеки. Делать по аналогии с готовыми программами и ловить неизведанные java.lang.ClassNotFoundException и java.lang.NoSuchMethodException и тому подобный ужас. Когда знал как работать только в операционной системе Windows и доступ в интернет был по модему через телефонную линию.
Надеюсь интересно будет как тем, кто делает первые шаги в java и тем, кто помнит jdk 1.4. Попробуем online IDE Eclipse Che.
Оговорюсь про главное условие — сейчас у вас должен быть стабильный доступ в интернет. И конечно же после прочтении статьи вы не получите работу Java архитектором в Нью-Йорке за 180 000 $ в год и даже не выучите Java за 21 день. Просто разработаем в современном окружении свой Hello world в несколько строчек кода, но с веб сервером.
Облачная IDE и разработка в Docker контейнере
Открытое программное обеспечение Eclipse Che — IDE нового поколения для коллективной разработки ПО. Не столь привычно нам «старичкам», но позволяет разрабатывать имея локально лишь современный браузер и стабильный доступ к сети. Сервер Che может быть запущен в локальной сети. Для быстрого старта нам даже не нужно ничего устанавливать.
Перейдите по ссылке Eclipse Che. Там возможно создать бесплатный аккаунт на codenvy.com. Можно зарегистрировать его на свою почту, либо воспользоваться OAuth провайдерами: Github, Google или Microsoft online.
На стороне сервера автоматически создается Docker контейнер с уже настроенным окружением для разработки. С помощью агента в контейнере к нему подключается IDE на javascript из вашего браузера.
При создании из шаблона «Java» в контейнере обычная сборка Ubuntu, а это значит что можно устанавливать необходимые вам для работы пакеты. Шаблон «Eclipse Che» основан на Alipine — минималистичной сборке linux под Docker и там такой свободы у вас нет.
Итак о чем я это. Если вы не знаете что это такое, пока можете даже не беспокоиться об этом. Все работает и так «из коробки», пусть на первом шаге это будет казаться магией! Со временем при желании разобраться во всем этом довольно просто.
Создадим новый «Workspace» из шаблона «Java». Прийдется посмотреть мультфильм со строительным краном, пока создается ваше пространство для разработки.
В вашем окружении разработки будут доступны Oracle JDK 8u45 и Maven 3.3.9. Точно также легко можно начать разработку на основе проекта с Github.
Система управления зависимостями и сборки
Стандартом де-факто в мире Java является Maven и, наверное, самая лучшая поддержка в разных IDE. Gradle более молодой проект и он заслуживает право стать вашим выбором №1. Но при выходе на работу Java разработчиком вероятность встретить Maven гораздо выше, особенно на унаследованных проектах. К тому же он тоже пытается молодиться и уйти от XML формата за счет проекта Polyglot. Atom, Groovy, Clojure, Ruby, Scala, YAML — как основа для написания файла сборки. Тут история как и с языком программирования в JVM. Несмотря на существование Groovy, Scala, JRuby, Jython, Clojure всю их мощь и лаконичность, язык Java живее всех живых. И даже не сравнивайте Java с вождем — язык программирования живой и хоть медленно, но развивается.
Проект по-умолчанию console-java-simple предложит нам любимый Hello World.
Предлагаю чуть усложнить наш первый шаг и добавить Apache Camel в проект. Источники и приемники данных и вся сложность работы с технологиями скрываются за Url синтаксисом внутри его компонент и мы не будем погружаться глубоко.
Магия «верблюда»
Eclipse Che создал для нас нас шаблон проекта, который мы сейчас отредактируем и создадим наше веб приложение.
Apache Camel — это open source интеграционный фреймворк и нам он нужен лишь для простого Hello World. Добавим его библиотеки в pom.xml зависимость на ядро «верблюда» и компонент jetty веб сервера.
Для того, чтобы компилировались лямбды добавим в этот же файл:
После этого отредактируем файл /console-java-simple/src/main/java/org/eclipse/che/examples/HelloWorld.java заодно прочувствуем как работает эта online IDE.
Запустим проект командой из терминала
Или отредактируем конфигурацию запуска «по щелчку» в IDE.
Подключиться к нашему веб приложению из внешнего мира можно по адресу из столбца «Server Address» для строки «tomcat8». Как это сделать можете посмотреть в видео дальше:
Результат работы нашей программы:
В этом примере создается Apache Camel и его маршрут обработки данных. Маршрут начинается с веб сервера jetty, который слушает http запросы на порту 8080. При получении запроса мы создаем ответ с помощью строчки process(exchange ->
Скринкаст процесса написания java кода (без звука и мата) в Che и запуска программы Hello World:
Что дальше?
Достаточно доступа в интернет и браузера в 2016 году чтобы учиться разрабатывать на Java. Не надо решать 1000 и 1 проблему с установкой и настройкой IDE и окружения, чтобы начать учиться программировать.
А еще не верьте курсам что вас научат программировать на Java за 21 день и тому подобному маркетингу. Чтобы познать дзен разработки на Java нужны годы. Учиться, учиться и еще раз учиться!
Источник