На сегодняшний день, согласно надежным общедоступным источникам, Java остается одним из самых популярных языков программирования. Специалисты со знанием этого языка всегда востребованы. Различные крупные корпорации используют этот язык программирования для разработки и поддержки своих продуктов, известных по всему миру. Именно об этих компаниях и их продуктах мы поговорим в этой статье.
Скажу сразу, здесь не будет кода или каких-то технических тонкостей. Просто легкое чтиво для тех, кому интересно, где и как используют наш любимый Java.
Но сначала немного о самом языке
Большинству постоянных читателей хабра наверняка все и так известно, но я на всякий случай повторюсь.
Java — язык программирования общего назначения. Он может использоваться для создания приложений в разных областях: от веб-сайтов до компьютерных игр, от мобильных приложений до тяжеловесных программ для корпораций и научных целей.
Создатели реализовали принцип WORA: write once, run anywhere или «пиши один раз, запускай везде». Написанное на Java приложение можно запустить практически на любой платформе, что является большим преимуществом.
Теперь можно перейти к самим продуктам
NASA World Wind
NASA World Wind относится к типу геоинформационных систем. Это полностью трехмерный интерактивный виртуальный глобус, который использует спутниковые снимки NASA и аэрофотосъемку Геологической службы США для построения трёхмерных моделей Земли, Луны, Марса, Венеры и Юпитера.
NASA World Wind имеет статус проприетарного ПО с открытым исходным кодом. Программа написана на Java, и работает под управлением всех операционных систем, для которых реализован OpenGL-стек.
Первоначально программа содержит карты с низким разрешением. При приближении некоторой рассматриваемой области на карте, изображения с высоким разрешением загружаются с серверов NASA.
Программа позволяет выбирать масштаб, направление и угол обзора, видимые слои, а также производить поиск по географическим названиям. В приложении также есть возможность отображения названий географических объектов и политических границ.
NASA World Wind имеет расширяемую архитектуру. Существуют GPS плагины для отображения облачности, землетрясений, ураганов в приближенном к реальному времени и ряд других.
Вот как это выглядит
Google и Android OS
Компания Google использует Java для многих своих продуктов. В основном для программирования сервера и разработки пользовательского интерфейса.
Например, для Google Docs — приложение для работы с документами, которое очень похоже на Microsoft Word. Только все изменения в нем сохраняются автоматически, и если вы авторизованы в Google на своих устройствах, вы всегда и везде можете открыть и поработать с документом без необходимости его скачивать.
И конечно, здесь мы никак не можем пройти мимо операционной системы Android — ведь она берет свое начало именно от виртуальной машины Java (JVM). Поэтому на этом языке можно разрабатывать и мобильные приложения.
Кстати, по поводу использования Java в Android у компании Oracle, владеющей Java, когда-то случился серьезный конфликт с компанией Google. Подробнее об этом можно почитать здесь.
Не смотря на популярность Java, многие Android разработчики уже активно переходят на Kotlin — еще один язык программирования (правда не от Google, а от JetBrains), работающий поверх JVM и имеющий ряд преимуществ именно для мобильной разработки — он гораздо более лаконичный и менее ресурсоемкий.
Netflix
Эта компания и ее платформа не нуждаются в длинном представлении. Netflix — одна из крупнейших американских компаний в индустрии развлечений — является поставщиком фильмов и сериалов на основе потокового мультимедиа.
Компания использует Java для серверной части большинства своих приложений, наряду с Python. Аndroid и Android TV приложения практически полностью построены на Java, с небольшой примесью C++.
Spotify
Spotify — один из популярнейших в мире интернет-сервисов потокового аудио, позволяющий легально и бесплатно прослушивать более 50 миллионов музыкальных композиций, аудиокниг и подкастов. Доступен в виде веб-приложения, десктопных приложений, приложений для смартфонов и множества других смарт-устройств, а также для медиа-систем автомобилей.
В основном, Spotify использует Java и Python для реализации некоторого функционала своего веб приложения, например для логирования и стабилизации передачи данных.
Ну и конечно же, Java является основной технологией для приложения Spotify на Android OS.
На сегодняшний день LinkedIn является одной из крупнейших социальных сетей для поиска и установления деловых контактов. В LinkedIn зарегистрировано около 600 млн. пользователей, представляющих 150+ отраслей бизнеса из 200 стран.
Java является одним из основных языков серверной части платформы. Главным образом он помогает реализовать функционал логирования, совершать обмен сообщениями, а также распознавать и преобразовывать ссылки в текстах.
Официальное мобильное приложение LinkedIn для Android OS также разработано на Java.
Uber
Для приложения Uber, Java — одна из важнейших технологий на ряду с Python, Node.js и Go. Согласно заявлению разработчиков, они выбрали Java именно по причине высокой производительности, что является одной из главных характеристик этого языка. Также Java обладает преимуществами экосистемы с открытым исходным кодом и интегрируется с внешними технологиями, такими как Hadoop и другими аналитическими инструментами.
Ну и конечно же, как и в большинстве случаев представленных ранее, Uber использовали Java как основной язык при разработке своего мобильного приложения для операционной системы Android.
Amazon
Кроме электронной торговли, главные направления компании включают разработку и поставку облачных и стриминговых решений, а также активно занимаются направлением искусственного интеллекта. Amazon признан одной из крупнейших технологических компаний в мире наряду с Google, Apple и Facebook.
Главным образом, Amazon используют Java для разработки своих веб сервисов (AWS). Они также предпочитают писать на Java сценарии автоматизации, так как они хорошо поддерживаются, имеют много внутренних инструментов/сред, которые помогают писать вспомогательные инструменты.
Minecraft
Да, эта всемирно известная компьютерная инди-игра в жанре песочницы тоже написана на Java. По словам разработчиков “пусковая установка Minecraft поставляется с Java версии 1.8.0_51, которая используется по умолчанию”. Однако они рекомендуют обновиться, чтобы увеличить производительность.
В отличие от многих других языков, Java работает не на железе, а непосредственно на виртуальной машине Java. В игре Java используется прежде всего для построения игровой логики, рендеринга и обмена сообщениями.
Заключение
Все вышеперечисленное в очередной раз доказывает популярность и эффективность Java. Хоть этот язык за последние пару лет начал слегка терять свою популярность, тот факт, что крупнейшие корпорации продолжают его использовать, указывает на его надежность и хорошую поддержку.
Я специально подбирал абсолютно разные примеры, чтобы было интереснее. Если у вас есть еще больше интересных примеров использования Java в известных продуктах, пишите в комментариях. С удовольствием почитаю.
Fregl
Все эти приложения не показатель эффективности или неэффективности JAVA. Приложений очень много, как клиентских так и серверных.