admin / 31.05.2018

Быстрый старт в Java: от установки необходимого софта до первой программы

Приложения Java

НовыеПопулярныеЭксклюзив

Безопасность (2 шт.)

Беспроводная связь и Сети (25 шт.)

Браузеры (19 шт.)

Время, Часы, Будильники (31 шт.)

Живые обои (32 шт.)

Изображения, Рисовалки (31 шт.)

Калькуляторы, Конвертеры (67 шт.)

Камера (12 шт.)

Контакты, Звонки, SMS (1 шт.)

Мультимедиа (74 шт.)

Навигация, Геосервисы, Карты (44 шт.)

Новости, СМИ, RSS (15 шт.)

Офисные, Органайзеры (28 шт.)

Погода (10 шт.)

Прочие (134 шт.)

Прочие сетевые (46 шт.)

Развлечения (109 шт.)

Системные (8 шт.)

Словари, Переводчики (35 шт.)

Сообщения, Почта (60 шт.)

Соцсети, Знакомства (11 шт.)

Спорт, Здоровье (1 шт.)

Справочники (125 шт.)

Тестеры, Бенчмарки (23 шт.)

Утилиты (51 шт.)

Файл-менеджеры и Архиваторы (26 шт.)

Файлообмен и Облака (6 шт.)

Финансы (18 шт.)

Читалки, Редакторы текста (18 шт.)

Эмуляторы (3 шт.)

© Seclub.org 2003-2013

В этой статье будет рассмотрены следующие вопросы:

Статья в разработке

Что такое Java?

Изначально, в далеком 1995 году, был создан язык Oak (Дуб), который был призван решить проблему кросплатформенности (одинаковая работа на все операционных системах: Windows, Linux, MacOS) засчет выполнения программы в специальной песочнице (другой программе). Позже, либо по религиозным соображениям, либо по спорам с правообладателями товарного знака Oak, язык был переименован в Java, а песочница получила название JVM (Java Virtual Machine). На данный момент Java — один из самых популярных язык программирования в мире.

Как вы уже убедились, Java — один из самых мощных языков программирования. Самое интересное, этот язык позволяет писать программы под совершенно разные устройства (от серверных приложений до программирования сим-карт).

Выбираем IDEA

Ввиду небывалой популярности Java*, многие разработчики озадачились созданием собственной IDEA. (IDEA — интерактивная среда разработки, которая помогает вам писать код) Сегодня мы не будем говорить о небольших любительских проектах, а надо ли оно нам? Мы сразу перейдем к 3ем самым популярным (и лучшим) Java IDEA. (J# — поделку от Microsoft мы не рассматриваем) Так вот, в Java главенствует три IDEA: Eclipse (бесплатная), Netbeans (бесплатная), IntelliJ IDEA (99$ — академическая лицензия, 199$ standart, но есть бесплатная Community Edition).

Eclipse

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

Главное меню

Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.

[Скачать | Документация]

NetBeans

Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведется независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org.
По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др.

[Скачать | Документация]

IntelliJ IDEA

Первая версия IntelliJ IDEA появилась в январе 2001 года и быстро приобрела популярность, как первая Java IDE с широким набором интегрированных инструментов для рефакторинга, которые позволяли программистам быстро реорганизовывать исходные тексты программ. Дизайн среды ориентирован на продуктивность работы программистов, позволяя им сконцентрироваться на разработке функциональности, в то время как IntelliJ IDEA берет на себя выполнение рутинных операций.

[Скачать | Документация]

JDeveloper

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

Oracle JDeveloper интегрирована с Oracle Application Development Framework — Java EE-каркасом для создания коммерческих приложений на Java.

[Скачать | Документация]

Пример программы (вывод/ввод данных)

Вывод данных в консоль

public class HelloWorld { public static void main(String[] args) { System.out.println(«Hello, world!»); } }

Чтение данных из консоли

import java.util.Scanner;//вспомогательная библиотека class HelloWorld { public static void main(String args[]){ Scanner s = new Scanner(System.in); System.out.println(s.nextInt()); } }

Что такое ООП?

ООП (Объектно Ориентированное Программирование) — главная идеология заключается в создании объекта (своеобразной модели), которая потом будет использоваться много раз, как шаблон.

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

Код ниже иллюстрирует схему, расположенную выше.

//package BankAccount; class UserAccount { public void putMoney(int amt) { /* пополнение счета */ } private int moneyCount = 0;//кол-во денег на счету (по умолчанию 0) protected int getMoneyCount() { /* возвращает кол-во денег на счету */ return this.moneyCount; } }

public void putMoney(int amt) — [public] — значит видет всем другим классам и может использоваться любыми классами, [void] — метод не возвращает ни каких значений, [putMoney] — название (имя) метода, [int] — тип входящего параметра [amt].

private int moneyCount — [private] доступен только внутри класса и никому больше(!), [int] — тип переменной, [moneyCount] — имя переменной.

protected int getMoneyCount() — [protected] — доступен только для этого package (сборище классов), обратите внимание на то, что метод getMoneyCount() не содержит входящих параметров.

Методы

{методы}

Конструкторы

Мы уже познакомились с вами с классами и методами, теперь настал момент расширить наши познания, касающиеся создания, а точнее инициализации ( ClassName val = new ClassName() ), класса.

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

class ClassName { ClassName(int N) { System.out.print(«Init vals=»+N); } //Пример работы: ClassName A = new ClassName(5); //Выведет в консоль: 5 }

↑ Расскажите друзьям о статье


Comments system Cackle

.

.

Создание оконных приложений

Для создания оконных приложений удобнее всего использовать класс Frame. В иерархии классов он выглядит следующим образом: java.lang.Object | +—-java.awt.Component | +—-java.awt.Container | +—-java.awt.Window | +—-java.awt.Frame По своей природе этот класс похож на классы Applet и Panel. В объекте класса Frame можно размещать элементы управления. Класс, производный от Frame, может раскрывать интерфейсы ActionListener и ItemListener.

Простейшее оконное приложение имеет вид: // Простое оконное приложение import java.awt.event.*; import java.awt.*; class simpleFrame extends Frame { public static void main(String[] args) { simpleFrame a= new simpleFrame(«Оконное приложение»); } simpleFrame(String title) { setTitle(title); setSize(400,200); show(); } } На первый взгляд структура программы не совсем привычна — в функции main создается объект того же класса, к которому принадлежит функция main. Зато при создании объекта можно вызвать конструктор с параметрами.

Если вы запустите это приложение, то сразу же обратите внимание, что кнопка закрытия окна не работает. Для обработки событий окна нужно писать специальный код. Он может выглядеть, например, так (код располагается в конструкторе) addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); System.exit(0); } }); Это пример определения безымянного класса. Рассмотрим его подробнее. Мы вызываем метод addWindowListener для того, чтобы назначить слушателя оконных событий. В качестве параметра создаем объект класса WindowAdapter. Но этот класс является абстрактным! Поэтому мы неявно создаем производный от него класс и переопределяем нужные нам методы — в данном случае обработку события закрытия окна (метод dispose уничтожает объект Frame). После этого останавливаем виртуальную машину Java вызовом метода System.exit(0). При компиляции будет создан класс с именем simpleFrame$1.class


Важным преимуществом объектов Frame является то, что они могут содержать строку меню. Для создания меню используются классы MenuBar, Menu и MenuItem (операции по созданию меню удобно выполнять в конструкторе).

Линейка меню задается с помощью объекта MenuBar. Этот объект нужно сначала создать, а потом назначить объекту Frame с помощью метода setMenuBar.

Пункты меню (имеющие подчиненные меню) — это объекты класса Menu. Их нужно сначала создать, а потом добавить в объект MenuBar с помощью метода add.

Конечные пункты меню — это объекты класса MenuItem. Они конструируются в три шага. Такой объект сначала нужно создать, потом назначить ему слушателя методом addActionListener, а затем добавить в объект Menu с помощью метода add.

Для обработки событий меню класс, производный от Frame, должен раскрывать интерфейс ActionListener. Принципы работы те же, что и при обработке событий от элементов управления.

Кроме простых пунктов меню можно использовать пункты меню с «галочками» — подобие элементов управления-переключателей. Для этого есть специальный класс CheckboxMenuItem. Для обработки событий от таких пунктов меню класс, производный от Frame, должен раскрывать интерфейс ItemListener.

Free Java Download


См. другие примеры оконных приложений


ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

  1. Рассмотрите более подробно классы MenuBar, MenuItem и Menu.

Java: мифы, реалии и перспективы для разработки приложений

По версии TIOBE, Java стала языком программирования 2015 года, обойдя в гонке С, С++ и ещё 17 языков-номинантов, и по сей день не теряет позицию. Этот факт весьма занятен и интересен, учитывая 20-летний возраст языка и устоявшиеся стереотипы про него. О том, что такое Java, чем язык хорош, о мифах и реальности я пообщался с Александром Михальченко, Java-программистом в Anadea.

Привет, Саша!
Здравствуй.

По версии TIOBE индекса, Java получила звание «Языка Программирования 2015 года». Вот собственно, хотелось бы узнать, что это за зверь такой, Java?
Java — это больше платформа, нежели язык. В последнее время появляются языки, работающие в JVM, но по синтаксису отличающиеся от Java. Основное применение — это серверная часть приложений, веб- и не очень веб-приложений, всякие корпоративные системы — что-то крупное, тяжеловесное.

То есть, все банковские системы мира сидят на Java?
Не все, но многие. Если нужно разработать что-то большое, то выбирают Java, потому что во-первых, она быстрая (вопреки мифам, которые до сих пор ходят среди незнающих людей), сравнимая по производительности с С++, но при этом, стоимость разработки значительно меньше — это во-вторых. Java заточена под всякие энтерпрайзные штуки, и компания Sun, а позже и Oracle делали на это ставку, на серверные технологии и всё такое. В этом направлении они сделали очень многое, поэтому когда речь идёт о крупных системах вроде банковских, выбор падает на Java.

А может быть так, что Java выбирают ещё и потому, что она безопаснее чем, скажем, Ruby?
Не буду говорить про Ruby, но что касается Java, то безопасность данных — это один из ключевых её аспектов.

Там хватает настроек, позволяющих ограничить выполнение определённого кода. Когда выходит очередная версия Java, то половина последующих патчей — это security-patch’и. Если какая-то компания предпочитает старую версию (например, седьмую) платформы новой (восьмой), а та уже ушла из поддержки, всегда есть возможность заказать платную поддержку у Oracle, и тогда они сделают вышедшие на 8-ю версию security-patch’и для 7-ой.

Что насчёт небольших проектов? Подойдёт ли им Java?
Это напрямую зависит от сложности бизнес-логики этих проектов. К примеру, это может быть трехстраничный сайтик, но этими тремя страницами могут быть какие-то архисложные отчёты, которые задействуют кучу данных. А если мы говорим о сайтах-визитках, то здесь использовать Java, конечно же, не имеет смысла. Стоимость серверов Java выше, чем PHP, поскольку Java требовательна к ресурсам. Она не медленная, но прожорливая — сколько памяти ей дашь, столько она и «скушает».

Сколько Java не корми, всё равно в RAM смотрит?
Именно! (смеётся)

Я читал, что к плюсам Java относится мультиплатформенность?
Да. Изначально задумывалась эдакая ультимативная кроссплатформенность. То есть написанный раз код можно было бы, по первоначальной задумке, запустить где угодно — на телефоне, десктопе, тостере… но в итоге так красиво не получилось из-за производителей виртуальных машин. Код-то мультиплатформенный, переносится, но вот некий производитель смартфонов взял и не включил какую-то фичу (я говорю не о современных устройствах, а про образцы 2005 года, а-ля телефоны на Symbian, Motorola со своей операционной системой, которые поддерживали Java). Поэтому люди, тогда писавшие игрушки и приложения, очень мучились с портированием даже в пределах мобильной платформы: запустить игру на Motorola и на Nokia — две разные задачи.

Что касается современных мобильных приложений — все Android-приложения, это дети Java?
Не все, но большинство. Конечно, есть возможность разработки нативных приложений на С++, но опять же — на Java получится дешевле. Ну и поддержки куда больше — как от самого Google, производителя операционной системы, так и от community Java. Кое-что проще разрабатывать. Игры со сложной 3D-графикой пишутся всё-таки на С++, т.к. Java не даст такой же производительности в этих вещах.

Кстати про игры — я слышал, нашумевший в своё время Minecraft полностью написан на Java?
Отчасти.

Графика, которая там отрисовывается — это заслуга OpenGL. А это — нативный код. У Java есть возможность взять любое нативное приложение, написанное, к примеру, на С++, и вызвать из него определённые функции. Через мостик, соединяющий Java с нативными приложениями, и делается обращение к графической подсистеме.

Быстрый старт в Java: от установки необходимого софта до первой программы

Т.е. все данные про мир игры и игровая механика написаны на Java, но графические вычисления отправляются в OpenGL.

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

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

Есть мнение, что приложения, написанные на Java, не отличаются красивым дизайном. Правда или миф?
Это не касается веб-приложений, потому как такое приложение можно завернуть в какую угодно обёртку. Если мы говорим о нативных приложениях, то да, с этим у Java не очень сложилось. С этим связана одна история. На дебютной демонстрации Java — напоминаю, на дворе был 95 год — в браузере на веб-страничке крутился глобус. Тогда эти красивости не были тепло приняты из-за слишком медленного интернета. Посмотрев на это, люди сказали, мол, зачем нам этот крутящийся глобус, если и так нужно качать виртуальную машину весом в 100 мб, да ещё и сам апплет отдельно скачивать…

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

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

Есть такая вещь, как Look and Feel — у платформы, на которой работает VM, можно запросить набор стилей и компонентов, как они должны выглядеть на конкретной операционной системе. Всё снова зависит от производителей виртуальных машин, плюс нужно учитывать стремительное развитие дизайна операционных систем.

Взять ту же Windows — между «семёркой» и «восьмёркой» ведь просто пропасть! За всеми дизайнерскими новшествами конечно же не поспеешь, но системный Look and Feel делает всё более-менее похожим.

В последнее время я наблюдаю за JavaFX. Когда-то эту технологию забросили за ненадобностью, но недавно за неё снова взялись и теперь активно возрождают. JavaFX позволяет писать десктопное приложение, но стилизовать его под веб-приложение. Точно также в игру вступает CSS, где можно указать, какого цвета будет такая-то кнопочка, с такими-то краями, задать расположение и так далее. С этой технологией можно делать приложения, которые будут выглядеть более нативно. Производительность устройств это уже позволяет — современные смартфоны давно обогнали в мощности компьютеры 1995 года.

На этом мои вопросы заканчиваются. Благодарю за интервью!
Обращайся.

Что ж, неудивительно, что Java победила в гонке с 19-ю другими языками. Взрослая платформа, для которой уже найдены практически все стандартные решения, с огромным сообществом, заточенная под серверные технологии, крупные проекты и мультиплатформенность, совместимая с нативными приложениями — разве это не заманчиво? Добавляет привлекательности и всё растущая популярность платформы благодаря Android-приложениям и проектам вроде Minecraft — глядя на такие результаты, можно с уверенностью говорить, что у Java есть все шансы ещё много лет оставаться языком программирования года.

Software for business

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*