От автора: среди всех языков, которые используются в веб-разработке, наиболее чувствительным является Java. Этот PL характеризуется сложным синтаксисом, высокой типизацией данных и невосприимчивостью к ошибкам. Именно потому столь востребованным является этот инструмент для Java – IDE. Среда разработки помогает обойти подводные камни, которые ждут программиста, пишущего в текстовом редакторе. Если не хотите идти долгой и тернистой дорогой текстовика, добро пожаловать в обзор топовых сред разработки, наиболее подходящих для кофейного языка.
Java – один из тех языков, для которого среда разработки является не прихотью отдельных специалистов, а настоящим средством выживания. Сложный язык не поддается чтению и выполнению, пока все элементы системы не будут настроены должным образом. Иногда, веб-разработчику трудно понять зачем ему такое громоздкое и производительное программное обеспечение. Все веб-языки, вроде HTML/CSS, JavaScript и PHP можно внедрять без дополнительного ПО (хотя, для последнего даже есть топовая платная IDE – PHPStorm). Но, как только дело доходит до Java, все становится на свои места. Длинные и сложные документы кода не поддаются ручной систематизации.
Но, как всегда, есть противники идеологии. Некоторые разработчики называют IDE «костылями», которые нужны только мало подготовленным программистам. Для них скачать среду разработки подобно измене основным принципам. К сожалению, такой подход может оставить разработчика позади эволюции программирования: большие корпоративные проекты, как и высокофункциональные веб-приложения, требуют тесного взаимодействия между членами команды, быстрого запуска и отладки кода. Тем более, что скилл работы с основными IDE является критерием для трудоустройства на лучшие позиции.
Конечно, существуют и те, кто умеет настолько хорошо отстроить свои инструменты разработчика, что полноценная IDE становится ненужной. Как бы там ни было, среда разработки потребляет ресурсы устройства, которые нужны для обеспечения работы остальных инструментов разработчика. Особенно это видно в устаревших версиях Windows/Linux – как только запускается среда разработки, остальные ресурсы испытывают стагнацию.
Разработчики в сети почти всегда отдают предпочтение текстовым редакторам. Они более легкие и позволяют создавать решения на коленке. Никаких дополнительных инструментов, не нужно глубокой настройки, а ассортимент программного обеспечения значительно шире. Такой взгляд сохраняют веб-программисты, пока не начинают работу с Java.
Сфера программирования предлагает множество решений для создания полноценного кода. В особенности, это касается различных сред разработки. Не только большие компании, вроде Oracle, занимаются созданием IDE. Работа над подобным ПО, как правило, прерогатива профессионалов, которые хотят оптимизировать свою деятельность. Именно так случилось с Visual Studio: одной из лучших IDE всех времен. Microsoft, которая во всю готовилась представить версию Windows в новом столетии, просто представила свои инструменты в одном приложении. Теперь VS – выбор миллионов.
К сожалению, ее не назовешь «for Java developers». Нет, это вовсе не значит, что в этой среде разработки не получится написать что-то на Java: существуют даже специальные расширения. Просто она больше ориентирована на C, C# и некоторые другие продукты компании Microsoft. Для Java существует собственный топ IDE, который мы представим сегодня. Но, для начала, нужно понять, какой мы хотим видеть идеальную IDE (созвучно ).
Во-первых, можно сразу определиться с тем, что для Java-разработчика не подойдут те, которые работают в онлайне. Они будут создавать проблемы с интерпретацией, а постоянные зависы только отобьют желание к программированию. Более разумным решением будет скачать одно из представленных сегодня ПО. Лучше один раз нажать download, чем постоянно мирится с багами. Эпоха облачных IDE еще настанет.
Также, среда разработки для Java должна поддерживать ряд технологий, которые необходимы для эффективного кодинга. Среди них языки виртуальной машины Java: прежде всего, Java 10, а также Groovy и Scala. Контроль версий тоже является одним из ключевых моментов. Одного Git будет мало: нужен Mercurial, SVN и прочие. Угадать какая будет популярна через несколько лет (Git, конечно ☺) невозможно. Веб-разработчику не помешает поддержка широкого круга языков, среди которых PL баз данных, веб языки, как фронта (TS, JS, HTML), так и бэкэнда (один из популярных языков общего назначения). Так как особенностью JVM является преобразование слов языка программирования в байтовый код, необходимы и мощные интерпретаторы. Именно они могут сделать быстрый в теории Java, быстрым на практике.
Ну, и конечно, как и сам язык Java, среда разработки под него должна быть кроссплатформенной. Все остальные решения тормозят развитие программиста. Раз он выбрал Java, значит выбрал универсальность.
Как всегда существует тройка лучших и все остальные. К этому уже привыкли в индустрии веб-разработки, и мы не будем изменять традициям. Преимущество нашего обзора в том, что здесь не будет платного ПО (почти ). Каждую среду разработки вы сможете свободно скачать с официального сайта. Также, это будет один из тех топ-чартов, где мы субъективно выберем победителя. Ну, а собственное решение вы сможете сложить, опираясь на свой опыт и наши выводы.
IntelliJ IDEA – это IDE, выпущенная компанией JetBrains, на основе виртуальной машины Java. Сама среда написана тоже на Java и частично на Python, для них и предназначена. Они сразу обозначили себя, как среда для Java, еще в 2001. Тогда среда разработки представила целую библиотеку средств для рефакторинга, что сразу вывело IDEA в топ. Разработчики сделали выбор не столько в пользу удобства, сколько в пользу продуктивности. Некоторые рутинные операции полностью выполняются средой разработки.
Мы обещали, что платного ПО сегодня не будет. Но правда в том, что ультимативная версия IDEA имеет свою стоимость, хоть и незначительную (до 500$), как для IDE. Если вы профессиональный джавист, который зарабатывает от 20$ в час – это мелочь. Кстати, только в пакете Ultimate у разработчика появится возможность работать с платформой Java EE.
Но существует и бесплатная версия IDEA, которую не назовешь урезанным вариантом. Да, некоторые функции отсутствуют, зато поддержка языков аналогична коммерческой версии. На ней удобно писать свои первые строчки кода и расширять с помощью плагинов.
Современные тенденции и подходы в веб-разработке
Узнайте алгоритм быстрого роста с нуля в сайтостроении
IDEA – это одна из тех сред разработки, которую можно назвать по-настоящему умной. Вместо исправлений и подсвечивания, которыми обладает даже самый простой текстовый редактор, IDEA предлагает автозаполнение: фрагменты готовой программы генерируются под руками разработчика. Уже не стоит даже говорить о том, что все скобки и прочие синтаксические плюшки будут закрыты автоматически. А если что-то пойдет не так и IDEA не справится с проблемой, она тут же просигнализирует Java-разработчику по ту сторону экрана.
Подкупает и рефакторинг, который происходит сразу на нескольких языках. Джависты знают, что код никогда не бывает на чистой Java, особенно, если дело касается веб-разработки. Сюда подключаются языки баз данных, гипертекст и так далее. В этот момент IDEA делает то, на что пока не способны многие: анализируя написанную программу, IDE отделяет языки друг от друга и анализирует их по отдельности.
У программы хорошо реализованы хоткеи, к которым, конечно же, нужно будет привыкнуть. Но, как только все произойдет, продуктивность зашкаливает. Ими же можно вызывать отладку кода, которая происходит в соседнем окне.
Среда разработки примечательна и тем, что постоянно расширяет число поддерживаемых технологий. Впрочем, разработчики не очень зависят от этих обновлений. В любой момент они могут скачать соответствующий плагин.
Это среда разработки популярна не только среди джавистов, но и среди веб-разработчиков в целом. Существенным преимуществом по сравнению с IDEA, однозначно станет цена – Eclipse полностью бесплатна, как и дополнения к ней. Кстати, в планах создателей среды разработки не было соперничества с IDEA: они хотели затмить успех, который получила Visual Studio. В какой-то мере это им удалось: веб-программисты средней руки почти всегда отдают предпочтение Eclipse.
Что еще лучше, чем в IDEA? Бесплатный доступ к Java EE. Она доступна сразу, без дополнительных платежей и установки плагинов. Кстати, о последних. Их установка в Eclipse составляет значительную задачу. Они могут «ссорится» между собой, доставляя неудобства разработчику. Но позитивным моментом можно назвать их количество. Советуем выбирать официальные, ведь таким образом меньше вероятность, что они начнут конфликтовать со средой разработки.
Eclipse рассчитана на то, что вы персонализируете ее под себя. Потому, первый опыт работы с IDE может оттолкнуть от дальнейшего использования. Тот редкий случай, когда для одной из лучших сред разработки нужен мануал. Благо, их масса на YouTube.
Это среда разработки, которая родилась из-под пера создателей Java – Sun Microsystem. Они хотели создать лучшее решение для своего языка, а потому спроектировали IDE, которая дружит не только с Windows.
В нашем списке она наиболее кроссплатформенная. NetBeans можно запустить не только на топовых осях, но и на любом другом устройстве, которое оснащено JVM. Сразу видно подход Sun: они хотели, чтобы их язык работал на всех девайсах (от компьютера до стиральной машины). Естественно, что «бобы» были названы официальной средой разработки для Java, хоть она и не столь хороша. Сегодня, над NetBeans работают в компании Oracle, которая поглотила Sun.
NetBeans так же умна, как IDEA, способна на смарт-рефакторинг. С этой задачей система справляется значительно лучше, чем Eclipse, но хуже, чем IDEA.
Как вы могли понять из объема сказанного, лучшей будет названа IDEA. Вот перечень причин:
понимание программирования. Никто так быстро не заполняет код и не исправляет ошибки, как IDEA;
эффективность рефакторинга;
цена. Да, Eclipse полностью бесплатна. Но вы же не станете покупать плохую еду, только потому что она дешевле?
Это наше видение! Кстати, у Oracle есть еще одна IDE в арсенале, под названием JDeveloper – полностью заточенная под 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 |
При разработке опросного листа мы попытались выяснить следующее:
Дальнейшие задачи заключались в обработке и анализе, полученной статистической информации, оценки "ресурсоемкости" популярных средств. Кроме того, были подготовлены обзоры некоторых средств, которые размещены на сайте проекта .
Таблица 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Мб |
Запуск | 5с | 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 |
Исходя из этого, проанализируем, с каких позиций программист подходит к самостоятельному выбору средства.
Проанализировав, по этим признакам, все существующие на сегодняшний день 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, на котором ведется разработка проекта, если программист вливается в команду разработчиков, или выбирать наиболее доступное, если планируется разработка самостоятельного проекта.
Как вы знаете, Java - один из самых популярных языков программирования в мире и его знание существенно увеличит вашу значимость как программиста. Итак, вы решили начать писать на этом языке. Вам понадобится поставить JDK для того, чтобы писать и запускать программы на Java. JDK - набор софта, разработанного Oracle, содержащий в себе компилятор (javac), среду выполнения (Java Runtime Environment), стандартную библиотеку языка, примеры и документацию. Прочитав эту статью, вы узнаете, как установить и настроить JDK на своей системе, что такое среда разработки и какие варианты IDE существуют для Java. Также вы напишете свою первую программу на Java.
Итак, вы установили Java Development Kit, но это еще не всё. Необходимо настроить его для вашей системы.
После установки JDK и JRE не помешает установить на компьютер одну из IDE.
Для начала разберёмся, что такое IDE .
IDE (Integrated Development Environment) — это комплекс программных средств, используемый программистами для разработки программного обеспечения. IDE позволяет с лёгкостью писать, запускать, отлаживать и тестировать код.
Для написания сложных программ целесообразно использовать IDE. Мы рассмотрим наиболее популярные.
Да, и в блокноте можно писать код! Для разработки вам потребуется всего лишь установить JDK и указать путь к ней. Пишете код в блокноте, компилируете с помощью командной строки. Тем не менее, для разработки сложных программ это не самый лучший вариант из-за отсутствия каких-либо дополнительных возможностей, присутствующих в продвинутых IDE.
NetBeans - выбор профессиональных Java-разработчиков. В ней есть уникальные возможности и инструменты, которые позволят вам сделать вашу программу кроссплатформенной, а код удобочитаемым. NetBeans поддерживает не только Java, но и другие языки программирования для десктоп- и веб-разработки. Она полностью бесплатна, скачать её можно с официального сайта. Вот лишь некоторые её возможности:
Eclipse , как и Netbeans - одна из наиболее популярных IDE. Она предоставляет впечатляющий интуитивно понятный интерфейс и производительную среду разработки, позволяющую комфортно разрабатывать приложения на Java. Скачать Eclipse можно бесплатно с официального сайта. Преимущества:
IntelliJ IDEA - известная IDE для Java, написанная, как ни странно, на Java. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Нахождение ошибок и отладка кода никогда не были такими легкими, как с IntelliJ IDEA.
JCreator - продвинутая и самая быстрая IDE для Java, написанная на C++.
Итак, вы установили и настроили JDK, JRE и IDE для Java. Каков следующий шаг? Конечно же, написать программу, чтобы окончательно убедиться, что всё работает и вы готовы к изучению языка. Вы познакомитесь с базовой структурой кода на Java и создадите свою первую программу! Стоит отметить, что перед изучением Java следует ознакомиться хотя бы с самыми простыми принципами объектно-ориентированного программирования.
Структуру программы на Java можно представить так:
Структура программы на Java
В файле с исходным кодом содержится несколько классов - это части программы, имеющие определённые функции. Хорошей практикой считается разбиение программы на несколько файлов с исходным кодом, каждый со своим назначением. В классах содержатся методы - действия, которые могут выполнять объекты данного класса. В методе содержатся команды, с помощью которых вы можете получить желаемый результат.
Перед тем, как приступить к созданию программы, необходимо создать проект, а в нём и файл, в котором будет содержаться ваш код. Рассмотрим создание проекта на IDE Eclipse, но в остальных IDE процесс отличается не сильно. Cверху выберите «File», затем наведите курсор на «New», в открывшемся меню выберите «Java Project». В появившемся окне введите имя проекта и другие нужные вам настройки (если не уверены, что делать, то можно просто оставить все как есть) и нажмите «Next». Готово, вы создали проект! Осталось лишь создать в нём класс, в котором вы напишете свою первую программу. Щёлкните правой кнопкой мыши по вашему проекту (он должен появиться справа) и выберите «New» → «Class». Присвойте новому классу имя (в данном примере — это first) и нажмите «Finish».
Приступим к написанию вашей первой программы. По традиции - это программа, выводящая на экран «Hello, world!».
Public class first{ public static void main(String args) { System.out.println("Hello, world!"); } }
Разберём по частям написанное нами:
Хорошо, вы написали вашу первую программу. Теперь её надо запустить. Для этого просто нажмите белую стрелочку в зеленом кружке на верхней панели (при наведении курсора на неё должно высветиться «Run»). После нажатия внизу откроется консоль, в которой вы увидите сообщение «Hello, world»! Поздравляю, вы написали вашу первую программу на Java и готовы погрузиться в увлекательный мир этого языка!
Представляем вашему вниманию адаптацию статьи Мартина Хеллера, программиста и редактора ресурса JavaWorld. Вы, вероятно, уже слышали о тройке самых популярных IDE для разработки на языке Java. Процентов 90 промышленных программистов пользуются либо Eclipse, либо NetBeans или же IntelliJ IDEA, и у каждой из этих IDE есть свои преимущества и недостатки. В этой статье мы постараемся описать их так, чтобы вы поняли, какая из них подходит именно вам. Хотя, конечно, лучше попробовать все три в работе, и выяснить, что лучше всего подходит именно вам. Этого не заменит ни один обзор. Я и ранее работал с этими IDE, но для этого исследования я установил IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE, и NetBeans 8.1 Java EE на ноутбук MacBook Pro. Я тестировал IDE на нескольких open source Java-проектах.
С понятием платформы Java знаком чуть ли не каждый обладатель самого примитивного мобильного телефона. Среда разработки Java предполагает создание универсальных приложений, которые могут использоваться для запуска, вне зависимости от установленной операционной системы. Рассмотрим основные аспекты ее функционирования и применения.
На самом деле среда разработки является исключительно языком программирования, основанном на универсальных командах, распознаваемых в среде Java Runtime.
Грубо говоря, среды разработки языка Java без изначально установленной платформы в той же Windows работать не будут. Зато такая поддержка предусмотрена изначально, что избавляет любого юзера от необходимости инсталляции дополнительных компонентов.
Изначально данный проект был разработан корпорацией Sun Microsystems, которую позже поддержала компания Oracle.
Но в конечном итоге среда разработки Java от компьютерных или мобильных систем является абсолютно независимой.
Если говорит о смартфонах и планшетах, та же версия Java) относится только к использованию графического приложения, позволяющего создать Java-приложение за несколько минут.
На самом деле в самом приложении производится некая адресация или запрос, функции которого предусмотрены в операционной системе.
И это касается мобильных девайсов. Замечали, что иногда со временем либо Windows Phone, либо Android начинает «плеваться» в плане предложения немедленного обновления? Это не что иное, как два компонента:
Что самое печальное, первый компонент с ошибками системы не связан. Эта платформа является полностью независимой и исполняемой в плане команд по умолчанию.
То, что эта система применяется в мобильных версиях, ни у кого сомнений не вызывает. Поддерживается среда разработки Java Android, не говоря о "яблочных" продуктах.
Однако же в плане исполняемых приложений все обстоит не так просто. И вот почему.
Во-первых, сразу стоит обратить внимание на систему, в которой должен быть установлен соответствующий архиватор (WinRAR - как минимум, лучше - 7-Zip).
Среда разработки Java-программ относится к тем, что данные сохраняются в виде архива, недоступного для открытия стандартными средствами Windows.
В лучшем случае можно применить экстракторы вроде выше указанных. Но если при формировании архива использовались технологии дополнительного (максимального) метода сжатия, тут не поможешь ничем.
Даже обновление архиватора не сможет произвести нужных изменений. Тут придется применять апдейт всей платформы, хотя изначально сообщение о доступном обновлении «висит» в системном трее.
Апдейт же производится достаточно просто. Достаточно просто кликнуть в трее на мигающем значке, предлагающем инсталлировать доступное обновление. Время для распознавания может занимать до нескольких минут. Это нормально.
Если не хочется ждать, нет проблем - заходите на официальный ресурс Microsoft и скачивайте программу оттуда. Не нравится такой метод? Устанавливаем JDK или J2SE, что является расширением Java, а потом инсталлируем нужный модуль из выбранных, после чего активация происходит автоматически. По окончании процесса можеть понадобиться полная перезагрузка системы.
Как уже говорилось, этот язык программирования относится к объектно-ориентированным (сродни C+/C++, на которых программируется Windows).
Но его суть такова, что виртуальная Java-машина способна транслировать команды исполняемых приложений в специальные байт-коды, распознаваемые любой компьютерной системой, независимо от ее разработчика. Одинаково хорошо среда разработки Java-программ используется и на PC, и на Intel-платформах, и на мобильных системах Android, Blackberry, iOS и других.
В самой программной среде «операционки» уже имеется встроенный модуль, отвечающий за исполнение команд языка. И он никоим образом не касается специфичных сред вроде Microsoft .NET Framework или любых других, которые производители операционных систем разрабатывают для функционирования собственных апплетов.
Что касается даже обычных мобильных телефонов без операционной системы на борту, в них тоже имеется изначальная поддержка этой платформы. Как правило, инсталляторы имеют расширения JAR или JAD и совершенно элементарно устанавливаются даже на примитивные телефоны.
В операционных системах можно применять архиваторы вроде WinRAR, которые распознают такие самоизвлекающиеся архивы наподобие SFX-файлов без проблем. При двойном клике на таком файле его содержимое будет экстрагировано автоматически, а архиватор вместе с платформой Java в данном случае срабатывает в фоновом режиме.
Что говорить, ведь даже старые игры на простейшие телефоны можно установить совершенно просто. Хотя и считается, что в них «продвинутые» операционные системы не используются, это не так.
Даже в самых старых моделях типа платформа есть. Иначе как бы телефон функционировал? В этой же системе, как уже понятно, есть и встроенная поддержка, которая отвечает за среды разработки Java.
Что же касается самих команд, используемых при создании приложений, их описание может занять слишком много времени. Но если уж идея создания приложения на основе этого языка все же возникла, лучше установить специализированную программу вроде платформы, предлагаемой средой Delphi очень похож).
Как видим, среда разработки Java является универсальной и совместимой с любыми системами. Но работает она намного быстрее, нежели трансляция команд на основе C+/C++. Согласно некоторым исследованиям, скорость работы может быть выше в 20-30 раз, хотя потребление ресурсов памяти находится на отметке рангом выше.
Но если подводить некий итог, стоит отметить действительную универсальность, которую предлагает среда разработки Java. По сути, она совместима со всеми системами, что и делает ее наиболее популярной при создании тех же мультимедийных приложений или игр.
Отдельно стоит сказать, что последние версии Java основаны на поддержке средств обобщенного программирования, в основу которых положены технологии Eiffel и C#, кардинально отличающиеся от средств C++. Тут можно использовать автоматическое преобразование скалярных типов данных и импорт так называемых статических полей, не говоря уже о возможности создания сопутствующей документации с исходным кодом.
В версии Java SE 6 реализовано множество новых функций, которые включают в себя даже распознавание японского и буддистского календарей, возможность создания полноценного HTTP-сервера, ускоренную передачу класс-потоков и сжатых данных с повышением производительности до 70 %, не говоря уже о панели мониторинга JConsole, поддерживающей OpenGL и DirectX.
Это касается в основном графических адаптеров, хотя и может относиться к использованию даже аудиоустройств (чаще всего виртуальных на основе драйверов ASIO4ALL). То же самое касается и некоторых программных синтезаторов или MIDI-клавиатур. Но использование исполняемых Java-апплетов предусмотрено не всегда.