Применение Java для веб-разработки

Применение Java для веб-разработки

От автора: единственные веб-разработчики, которые пользуются уважением у разработчиков программного обеспечения — это те, кто пишет на Java. И это неудивительно, ведь язык в меру сложен и могуществен. Разработчик, досконально знающий Java, без труда осваивает любой другой, легко работает с новыми технологиями и востребован на рынке труда. Сегодня расскажем обо всем, что знаем о Java для веб разработки, не вдаваясь в детали — лишь по существу. Поехали!

История создания

Сегодня трудно представить, что один из ведущих языков для web-разработки был создан для обеспечения работы бытовых устройств. Да-да, сначала нужно было придумать, как настроить кондиционер, а уже после создавать игры вроде Minecraft (полностью написан на Java).

В начале девяностых годов, когда создание веб-сервисов было только впереди, перед компанией Sun стояла задача создать язык, на котором будут работать обычные устройства без особых компьютерных мощностей: холодильники, автомобили, телевизоры, пылесосы и прочее. На самом деле, с этой задачей мог справиться любой из существующих тогда языков (впоследствии они тоже приняли участие в web-разработке). Но от нового programming language (далее PL) ожидали конкретных характеристик.

Во-первых, он не должен был потреблять много ресурсов. Это сегодня компьютер достаточной мощности можно поместить в пульт от телевизора. Но в 1995-ом, когда первые ПК начали появляться у обычных пользователей, такая роскошь была за гранью возможного. В бытовые устройства встраивался небольшой чип. C++ и ему подобные не могли работать на такой платформе.

Во-вторых, разработчики не хотели программировать каждое устройство отдельно. Экспорт с разных стран Азии уже был поставлен на промышленные рейки, и систем, на которые нужно было остановить программный код, было более, чем достаточно. Перед командой стояла задача создать возможность, которая впоследствии стала одним из девизов Java: «Напиши раз, выполняй где угодно». Несмотря на то, что сегодня платформ еще больше, он не утратил своей актуальности.

Кофейный логотип и название

Множество web-разработчиков настолько привыкли к эмблеме языка и платформы, что даже не задумываются о ее происхождении. Создателям PL свойственно называть свои детища как-то по-особенному, добавляя языку свои персональные переживания.

Именно так поступил один из разработчиков языка — Джеймс Гослинг. Когда ему поступило указание создать новый язык, он работал в офисе, из окна которого было видно старое дерево — дуб. Поэтому он решил дать языку название Oak, что так и переводится. Возможно, сейчас язык так и назывался бы. Даже звучит неплохо: «Требуется web-разработка на Oak». Но интересы бизнеса здесь сыграли решающую роль. Прежде всего, нужно было имя с хорошим звучанием на разных языках. А во-вторых, язык с названием Дуб тогда тоже набирал популярность (но так и не набрал :) ). Поэтому коммерсанты решили судьбу Java, дав ему такое название.

Само по себе слово не имеет определенного значения — так называется один из островов. Именно оттуда привозят лучший кофе под маркой острова. Также сорт кофе часто красовался на вендинг-машинах, которые его продавали. А так как Java создавался для подобных устройств, то решение напросилось само собой. К тому же, кофе — один из любимых напитков разработчиков.

JavaScript: побратим или однофамилец?

Между PL Java и JavaScript действительно есть общие черты. Например, это два объектно-ориентированных языка. Реализованные продукты являют собой совокупность объектов, которые отнесены к конкретному классу. В свою очередь, классами обусловлена иерархия наследования. К примеру, существуют также агентно-ориентированные, компонентно-ориентированные и прототипно-ориентированные языки. Еще одной общей чертой являются похожие названия. И оба языка используются в web-разработке. На этом все.

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

Интересно знать, что даже небольшие игры можно писать на «скриптах»: можете с ними ознакомиться в Интернете. JS был изначально создан для web-разработки и сегодня активно используется в различных продуктах. Все не ограничивается клиентской стороной: на JavaScript активно пишут серверные веб-приложения.

Но связь с Java у него все же есть. Дело в том, что изначально «сценарии» назывались LiveScript и не имели никакого отношения к уже известному в то время языку. Но веб-сервисы тогда еще не были популярны, как в целом web-разработка, потому создатели скриптов решили предпринять коммерческий ход: дать частичку названия от уже популярного языка. Теперь мозг программиста невольно вспоминает о JavaScript, когда речь идет о Java.

Подобным путем пошла и компания Microsoft. Когда они увидели успех JavaScript, то создали свой аналог — Jscript. Как всегда, решающую роль сыграла стратегия компании: Embrace, extend and extinguish. Но в этот раз не получилось :) .

Стремительная карьера в веб

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

Благо, коммерческая жилка Патрика Нортона помогла ему понять, где лучше всего может быть реализован язык программирования. Во первой половине девяностых Интернет уже стал основным инструментом профессионалов и средством развлечения любителей. Но сама по себе сеть WWW не работает: ей нужна программа, превращающая гипертекст в страницу. И хотя сегодня Java не так уж часто ассоциируют с web-разработкой, именно она положила начало мании на PL Java.

В то время браузер для Интернета, по сути, был один — Mosaic. Он был создан, как дипломный проект Марка Андерсена в Университете Иллинойса. Долгое время был популярен: IE до седьмой версии использует код Мозаики, как основу. В свою очередь, создатели Java решились на браузер, полностью написанный на их языке, чтобы продемонстрировать всю мощь. На презентации компании Sun браузер сделал свое дело: популярность, которая возникла в тот день, не прекращается до сих пор. Фурор произвели апплеты — небольшие программы внутри самой программы, которые позволяют оптимизировать отдельные функции.

Java в решениях для web

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

Но так не случилось: конкурирующие компании представили массу иных решений, которые заставили Java вести разработку в новом направлении. В 1997 компания Sun начала работу над технологией под названием Java Server Pages, которая стала основой web-разработки на Java вплоть до наших дней. JSP это страницы, на которых разработчик может размещать как динамические, так и статические компоненты. Мы уже говорили об этом, когда рассматривали возможности PHP.

Но JSP в web-разработке всегда работает в паре с сервлетом. Это такой интерфейс Java, благодаря которому возможности сервера расширяются. Несмотря на то, что сам по себе сервлет может обслуживать любой запрос в системе вопрос-ответ, история распорядилась так, что он используется для апгрейда веб-серверов. Код от JSP переносится в код сервлета с помощью специального компилятора с созвучным названием — Jasper. Ну а все содержимое вместе управляется с помощью еще одной технологии, которая принесла Java популярность.

Java Platform Enterprise Edition берет свое начало еще с 1997, вместе с началом web-разработки на Java в целом. Это набор различных технологий для создания полномасштабных веб-сервисов. Именно благодаря ей язык закрепился в мире web-разработок прочно и надолго. Используется в больших проектах крупных компаний, а не в простых пользовательских игрушках, которые легко создаются на PHP. Здесь важна надежность, работа с ошибками системы, возможность масштабирования и высокая производительность. Для малобюджетных компаний — бесплатная версия. Компания Oracle, которой теперь принадлежит Java, выпускает поддерживаемый SDK.

Если вы новичок, и все, что было сказано выше, для вас terra incognita, значит, вам стоит хотя бы изучить HTML — основу построения всех веб-страниц, чтобы впоследствии оптимизировать их с помощью Java. Кстати, из-за тесного взаимодействия этих двух технологий PL Java очень часто называют логическим продолжением HTML. Но в свете того, что вы уже знаете о языке и о том, какую роль он изначально играл в web-разработке, становится понятно, что с «гипертекстом» у Java мало общего.

Популярность среди интернет-разработчиков

Зная историю создания языка, невольно удивляешься: «Что вообще этот язык делает в web-разработке?». На этот вопрос есть сразу несколько ответов:

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

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

кроссплатформенная свобода. Мы уже упоминали девиз языка немного выше. И правда, Java запускается на всех (почти) устройствах, у которых достаточно оперативной и физической памяти. Чтобы писать на Java, вам нужен девайс с ОЗУ/RAM 64 MB;

смартфоны захватили планету. Частично — благодаря Java. Достаньте ваш телефон из кармана и, если там установлен Android, поблагодарите за это Нортона и Гослинга — гениев, которые создали язык. Несмотря на то, что изначально iOS работал лучше, сегодня по популярности и качеству приложения явно отстают. Из-за того, что нативный софт в Android работает на Java, веб-сервисы тоже лучше создавать на нем;

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

Java на рынке труда

Это раздел можно считать дополнением к последнему пункту: мы поговорим о возможностях Джавистов (да, звучит, как Джедаев :) ). Правда в том, что они и правда востребованы рынком более, чем когда-либо. Прогрессивные ребята, которые работают на Ruby, Python и С-семействах, обычно шутят: «Может, все-таки поищешь работу в Web 1.0?». Но, как правило, все до того момента, как видят инфографику с вакансиями.

Java до сих пор актуален, так как используется в разработке мобильных приложений, веб-сервисов, программного обеспечения, Big Data и для бизнесовых процессов (язык активно используют гиганты, вроде Goldman Sachs).

Конкуренты не спят

Изначально основным противником Java должен был стать C#. Он и стал, если анализировать список востребованных профессий. Но сконцентрированность на одной платформе работает на благо только в компании Apple (одному Богу известно, как у них это получается). В целом же, C#, хоть и имеет высокие позиции в программировании, не очень хорошо подходит для web-разработки.

Намного более полезен в этом случае Python. Этот язык начал стремительное развитие несколько лет назад и нашел себя в web-разработке лучше многих. Но и здесь у Java есть сильные стороны. Да, создавать на Питоне проще и быстрее. Но если вам нужно качество и стабильность, трудно придумать что-то лучше, чем Java. Кстати, говорят, что зрелому Джависту не помешает практика на Python — это заставляет упрощать код, который вы писали ранее.

Существует и масса критики, которую льют на этот PL. Но, как правило, этого не делает ни один человек, который знает его досконально. Если вы хотите быть серьезным web-разработчиком, создавать мощные продукты, то не ищите легких путей и, конечно же:

class Learn { public static void main(String[] args) { System.out.println("Learn Java!"); }
}