Тот факт, что Java является одним из самых популярных языков программирования буквально по всем из основных критериев — практически никем не ставится под сомнение. Впрочем, просто чтобы не быть голословными, немного базовой информации и статистики.
Java is the King
Действительно ли Java можно назвать самым популярным ЯП в мире? С некоторыми оговорками, но таки да. Большинство современных компаний, во всех индустриях и секторах рынка, используют Java. И, что немаловажно, будут им пользоваться еще много лет по таким причинам, как доступ к огромной кадровой базе девелоперов для потенциального найма, наличие фреймворков и уже написанного кода, функций и приложений.
Более 95% компьютеров в компаниях и предприятиях используют Java, более 90% вообще всех компьютеров используют Java, а количество мобильных устройств, где применяется этот язык, превышает 3 млрд. Поэтому неудивительно, что практически любая более или менее крупная компания где угодно в мире применяет Java и берет на работу специалистов по этому языку.
Java + Android = Love
Что сделало Java настолько популярным изначально? В первую очередь, мультиплатформенность и универсальность. Гибкость Java позволяет запускать программы, написанные на этом языке, практически на любом устройстве, включая настольные ПК, мобильные телефоны и даже большинство других устройств, от умных машин до бытовой техники, которая в наше время тоже умнеет не по дням, а по часам.
Безусловно, своей популярностью и столь сильным позициям в современном мире язык Java во многом обязан мобильным платформам, а точнее операционной системе Android. Что и понятно: ни одно приложение сегодня не может обойтись без мобильной версии, Android развалясь сидит на троне короля мобильных операционок, а разработка под Android просто-таки немыслима без Java (есть еще Kotlin, но это отдельная тема). Так и выходит, что большинство крупных современных компаний, для которых критически важно иметь многофункциональные мобильные приложения, просто жить без Java не могут.
Подтверждает лидерское положение Java и статистика. По данным Индекса TIOBE, Java — самый популярный язык программирования в мире с показателем в 16%, опережая С и Python.
Топ-компании и стартапы-единороги. Как они используют Java
С лидерскими позициями Java и вездесущностью этого языка в современной бизнес-среде разобрались. Именно из-за универсальности и распространенности Java новичкам порой бывает сложно сориентироваться в сферах применения языка и том, как именно большие компании и набирающие вес стартапы используют Java, для каких целей он наиболее полезен и чем важен.
Поэтому мы решили подготовить небольшой обзор из нескольких успешных и популярных ИТ-компаний, чей бизнес неразрывно связан с Java и возможностями, которые дает этот язык. Конкретно в этом материале мы поговорим о нескольких гигантах из масс-маркет сегмента — сейчас данные компании известны почти всем, а многие просто не представляют своей жизни без их сервисов.
Uber
Uber — это один из канонических примеров успешной компании, бизнес которой построен вокруг мобильного приложения, а то, в свою очередь, базируется на Java.
Что делает Uber (и аналогичные ему сервисы) настолько привлекательным и популярным? Тот факт, что пользователь может открыть приложение и заказать услугу практически мгновенно. Приложение Uber показывает, где находится машина в конкретный момент времени, куда она движется и когда, с точностью до минуты, прибудет в точку назначения. Uber даже отображает номерной знак, цвет и марку машины, как и имя водителя, позволяя пользователю идентифицировать нужный автомобиль почти мгновенно. Процесс оплаты также прост и быстр — она автоматически снимается с кредитной карты.
Все это возможно благодаря Java. Реалии современного цифрового бизнеса заставляют компании создавать новые мобильные приложения, которые будут удовлетворять спрос потребителя на товары и услуги, доступные 24/7 в течение максимум пары десятков минут после заказа. Чтобы удовлетворить этот спрос, компании обращаются к проектам на Java все более массово и активно.
В значительной степени, именно благодаря
использованию Java, а также постоянному совершенствованию кода, у пользователей современной версии приложения Uber есть доступ к такому объему различной информации (в виде графики и не только), как и к множеству функций и возможностей. Например, приложение позволяет видеть стоимость поездки и отслеживать изменения в тарифах в зависимости от времени суток, погоды и прочих факторов. Также можно выбирать машины разного уровня комфорта или делить такси с другими пользователями, если они направляются в ту же сторону. Для работы этих функций нужны десятки, иногда сотни процессов, работающих в фоновом режиме, и гарантом слаженной работы этих процессов в значительной степени служит, да, снова он, Java.
Netflix
На сегодняшний день всеми любимый видеосервис обрабатывает ни много ни мало 2 миллиарда запросов на стриминг контента каждый день. Все благодаря Java-центрированной архитектуре.
Netflix — это самая популярная в мире онлайн ТВ сеть (если его можно так назвать), а модель работы сервиса и его интерфейс стали эталоном. За небольшую ежемесячную плату, около $10, пользователи Netflix могут смотреть сколько угодно фильмов и сериалов, причем в любое время и на любом устройстве.
Именно масштабируемость Java сыграла ключевую роль в успехе Netflix, позволив компании увеличить свою базу пользователей до 57 млн в более чем 50 странах мира. Эта аудитория ежемесячно просматривает более 1 млрд часов видеоконтента.
“Подавляющее большинство сервисов в рамках нашей архитектуры построены на Java и виртуальной машине Java [JVM], —
говорит Эндрю Гловер (Andrew Glover), один из разработчиков Netflix. — У нас постоянно запущены тысячи Java-процессов, и, по мере роста нашей платформы, мы не наблюдаем серьезных инфраструктурных проблем. Мы также применяем множество инструментов с открытым исходным кодом, которые основаны на Java, что позволяет легко отслеживать, обновлять и масштабировать наши сервисы”.
“Когда пользователь открывает Netflix, за кулисами система запускает около десятка различных процессов, чтобы авторизовать этого человека, выяснить, какое устройство он использует, убедиться, что учетная запись активна, и посмотреть на недавнюю активность его профиля. Управление всеми этими процессами осуществляется с помощью
Eureka, инструмента с открытым исходным кодом, основанного на Java», — отметил Гловер.
Twitter
Самый популярный в мире сервис микроблогов Twitter появился в давние, по меркам интернет-индустрии конечно же, времена — в 2006 г., и в первые годы своего существования имел огромные проблемы с производительностью и стабильной работой на фоне быстрого роста пользовательской базы. Сервис так часто “падал,” что экран с изображением белого кита, которого видит пользователь во время перебоев с работой Twitter, стал мемом.
Однако примерно с конца 2010 года Twitter стал работать куда стабильнее, а в последние несколько лет и вовсе имеет отличные показатели аптайма, так что дремлющий белый кит стал забываться. Кого следует благодарить за такие перемены? Конечно же, Java.
Об этом в ходе одного из интервью рассказал Роберт Бенсон (Robert Benson), старший директор Twitter по разработкам. По его словам, разработчики Twitter с самого начала работы платформы много думали об архитектуре сервиса и о том, как наиболее эффективно обрабатывать огромное количество запросов, поступающих от пользователей ежесекундно. А на сегодняшний день у Twitter более 200 млн активных пользователей, которые оставляют больше 400 млн твитов каждый день. После нескольких лет анализа и поиска лучшего решения инженеры Twitter пришли к использованию Java Virtual Machine, что позволяет горизонтально масштабировать систему и справляться с нагрузкой.
Разработчики Twitter перевели большую часть наиболее критических для компании систем на сервисы, написанные на Java и Scala, которые функционируют на базе JVM. Поэтому сейчас Twitter довольно-таки стабильно работает по всему миру, и даже адаптирован к тому, чтобы безболезненно переносить пиковые периоды высокой нагрузки, которые случаются во время громких событий типа финала Чемпионата мира по футболу или выборов в США. А система позволяет юзерам узнавать новости о событиях, произошедших буквально несколько минут назад.
Priceline
Для Priceline, одного из лидеров в сфере онлайн-бронирования, именно Java является залогом результативности и эффективной работы. Использование этого языка позволяет добиться гибкости, производительности, мобильности и охвата огромной аудитории.
Priceline — приложение для бронирования отелей и апартаментов по всему миру. Этот сервис чуть менее популярен и известен в Европе, чем в США, где он является лидером. Priceline входит в холдинг Booking Holdings, который также включает в себя ряд суперпопулярных букинговых сервисов, а именно — KAYAK, Rentalcars, Booking, Opentable и Аgoda. Так что аспекты применения Java, перечисленные ниже, в значительной степени относятся и к этим сервисам тоже.
Несмотря на то, что с юзерской стороны процесс поиска и бронирования отелей выглядит довольно-таки просто — достаточно ввести желаемое направление и даты, — “за кулисами” таких сервисов как Priceline работают сложные системы со множеством одновременных процессов. Простой поисковый запрос запускает серию взаимодействий и подключений к разным отелям, авиалиниям, базам данных и системам бронирования по всему миру.
Например, поиск отеля для бронирования номера где-нибудь в Нью Йорке создает до 500 одновременных запросов к системам отелей и различных посредников. Принимая во внимание, что поиск отелей в системе могут осуществлять тысячи пользователей одновременно, основной сложностью в работе Priceline и других подобных агрегаторов становится управление этой комплексной матрицей из запросов и подключений, которые происходят в реальном времени. Тут-то и вступает в игру супергерой по имени Java, позволяя сервису быстро и эффективно получать в ответ на запросы информацию от баз данных по всему миру. В случае с Priceline, преданность компании Java настолько велика, что Майкл Дилиберто (Michael Diliberto), операционный директор североамериканского подразделения Priceline, однажды отметил, что для этой компании Java является “образом жизни,” и своего существования без этого языка они не мыслят.
Выводы
Как можно заметить из вышесказанного, без Java практически невозможна успешная работа целого ряда известных сервисов, как и компаний, зарабатывающих на популярности этих сервисов огромные деньги. По крайней мере в таком виде, какими мы привыкли их видеть. А значит, если смотреть на все это с глобальной точки зрения, можно сказать, что и весь современный мир невозможен без Java. Судите сами: кто теперь захочет ловить такси не через удобное приложение, а по старинке, громко крича и размахивая руками на улице; кто станет звонить в каждый отель по очереди, чтобы найти свободный номер, если приложение делает это за тебя; и кто сможет придумать более удобный повод, чтобы заманить объект симпатии к себе домой, чем Netflix and chill. Сервисы и приложения, изменяющие нашу жизнь, пишутся Java разработчиками. И это только начало, ибо возможности для инноваций безграничны, а спрос на масштабируемость, гибкость и охват глобальной аудитории только растет.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ