Лучшие приложения Golang: 6 лучших приложений, созданных с помощью Golang

Опубликовано: 2020-06-05

Быстрый и простой в использовании язык программирования Golang (также известный как Go) быстро набирает популярность. Согласно статистике Github, с 2018 по 2019 год сообщество Go выросло на 147%. Golang привлекает множество компаний, так как был разработан для сложных корпоративных проектов. Итак, что именно вы можете сделать с этим языком программирования?

В этой статье мы подробно рассмотрим лучшие приложения Golang . Эти примеры из реальной жизни помогут вам увидеть, как Google Go может быть правильным выбором для вашего бизнеса!

Отчет о будущем разработки мобильных приложений

Узнайте, что ждет мобильные приложения в будущем

Получите отчет бесплатно!

Топ 6 приложений, разработанных с использованием Golang

1. Банковское приложение Golang – Monzo

Большинство компаний внедряют Golang вместе с архитектурой микросервисов. Это не было исключением в случае с Monzo, онлайн-банком на основе приложений. Когда они впервые приступили к настройке приложения в феврале 2015 года, они были ориентированы на принцип единой ответственности. В нем говорится, что каждый модуль должен отвечать за одну функциональность. Такой подход делает приложение более стабильным — и здесь Go отлично подходит. Monzo — классический пример приложения, изначально построенного на Golang.

Monzo — банковское приложение Golang

По мере роста Monzo Голанг помогал компании масштабировать продукт. Техническая команда заявляет, что Go «идеально подходит для архитектур микросервисов», поскольку помогает им создавать детализированные сервисы, которые составляют стабильное приложение.

Monzo состоит из более чем 1600 микросервисов. Мэтт Хит, старший инженер компании, утверждает, что Go позволяет им поддерживать такую ​​сложную архитектуру. По его словам, язык «довольно простой […] и позволяет легко […] привлечь людей» . Действительно, Golang славится своей низкой кривой обучения — некоторые утверждают, что разработчики могут изучить основы всего за один вечер!

2. Приложение для электронной коммерции Golang — Allegro

Allegro — приложение электронной коммерции Golang

В случае с Monzo Go с самого начала был основным языком. История Golang была другой для Allegro, польского гиганта электронной коммерции, который существует с 1999 года. Перенесемся в 2016 год, техническая команда Allegro искала эффективный способ создать очень быстрый сервис кэширования. Они решили попробовать что-то новое и выбрали для этой задачи Golang.

Большинство микросервисов Allegro написано на Java, но команда была открыта для изучения новых вещей. Они уже работали с проектом Go с открытым исходным кодом и были рады видеть, как Golang справится с большими объемами трафика.

Окончательные результаты были ошеломляющими. Go помог Allegro ускорить работу приложения с 2,5 секунд до менее чем 250 миллисекунд , и это для самого длинного запроса! Команда Allegro верит в Golang и с удовольствием делится своими мыслями на конференциях, посвященных Go.

3. Музыкальное приложение Golang — SoundCloud

SoundCloud — музыкальное приложение Golang

SoundCloud, платформа для обмена музыкой, ориентированная на артистов, довольно рано внедрила Go. Из всех лучших приложений Golang SoundCloud, платформа для обмена музыкой, ориентированная на артистов, довольно рано стала популярной. Еще в 2012 году они выпустили статью о Go на SoundCloud.

Хотя приложение в значительной степени основано на Ruby on Rails, SoundCloud идентифицирует себя как компанию-полиглота, и многие языки добавляются к их серверной части. Они ценят Golang как язык WYSIWYG ( что видишь, то и получаешь ) . Это облегчает понимание программного обеспечения всей командой и делает процесс обслуживания более эффективным.

Более того, SoundCloud ценит быструю компиляцию и статическую типизацию Golang. С точки зрения непрофессионала, это означает, что разработка, тестирование и развертывание приложения выполняются максимально быстро. Команда утверждает, что эти быстрые процессы означают, что некоторые простые идеи могут быть воплощены с доски в производство всего за один час. Впечатляет, не так ли?

4. Приложение для знакомств Golang – Badoo

Badoo — приложение для знакомств на Голанге

Представленная в 190 странах и имеющая 400 миллионов пользователей по всему миру, Badoo является самой широко используемой сетью знакомств в мире. Эти цифры требуют высокоэффективных поисковых алгоритмов — и здесь Golang пригодится.

Чтобы обеспечить максимально плавный поиск, техническая команда Badoo создает сервисы с использованием растровых индексов. Битовый индекс состоит из нескольких растровых изображений, которые представляют объекты (в данном случае пользователей приложения для знакомств) и их параметры (например, возраст или цвет волос). Это делает его идеально подходящим для пользователей, которые ищут людей с этим , этим , а не этим — скажем, мужчин 25-30 лет, блондинов, ростом выше 180 см. Брак, заключенный на небесах для приложения для знакомств, не так ли?

Вот в чем хитрость: растровые индексы сложно реализовать во многих популярных системах управления базами данных, таких как MySQL. Решение? Вы уже догадались: Голанг. Растровые индексы обычно используются в Pilosa, системе управления базами данных, написанной на Go. Не вдаваясь в технические подробности, язык Go позволяет легко реализовать растровые индексы, поэтому команда Badoo решила использовать его для своего продукта, требующего больших затрат.

5. Приложение Golang для райдшеринга — Uber

Да, вы все правильно прочитали — даже Uber использует Golang для улучшения качества своих услуг по совместному использованию поездок.

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

Uber — приложение для совместного использования на Голанге

Хотя Node.js был первым языком, выбранным Uber, они решили начать использовать Go для этой службы. Компании нужно было что-то быстрое, так как они каждую секунду обрабатывают сотни тысяч запросов на поиск геозон! Golang оказался идеальным выбором, так как он может работать на нескольких ядрах ЦП одновременно, а Node.js является однопоточным. Другими словами, язык Go может делать несколько вещей одновременно.

Выбор оказался в значительной степени удачным, и команда Uber довольна использованием Golang. Это не только быстрее, но и делает разработчиков программного обеспечения более продуктивными. Когда они уже знакомы с Java, C++ или Node.js, они смогут изучить Go всего за пару дней.

Когда дело доходит до производительности приложения, результаты действительно впечатляют. В канун Нового 2015 года центр обработки данных Uber успешно справился с пиковой нагрузкой, загрузив ЦП всего на 35%. В довершение всего компания может похвастаться колоссальным временем безотказной работы 99,99% , при этом время простоя вызвано только сторонними библиотеками, а не самим Golang.

Вдохновленный успехом геозоны, Uber начал внедрять Golang в большее количество своих микросервисов. Например, они используют этот язык, чтобы сопоставлять гонщиков с правильными водителями. Он стал их самым популярным языком для создания новых услуг в рамках продукта. Можно с уверенностью сказать, что Uber является одним из лучших приложений Golang, когда дело доходит до популярности.

6. Приложение для управления проектами Golang — расписания

И последнее, но не менее важное: вот пример созданного нами приложения Golang. Табели учета рабочего времени — это решение для учета рабочего времени, которое мы впервые использовали в качестве внутреннего инструмента. Поскольку мы действительно довольны этим, мы решили поделиться расписаниями с широкой публикой. Инструмент также можно интегрировать с рядом других инструментов, включая Slack, Jira или даже голосовых помощников.

Значок услуг по дизайну продукта

Посмотрите другие наши успешные проекты

Посмотрите наше портфолио

При создании расписаний Golang был нашим первым выбором. Мы хотели создать сверхлегкое, быстрое и достаточное приложение, а многопоточность Golang значительно упрощает эту задачу. Более того, когда мы используем общие части в одном репозитории, мы можем одновременно запускать разные процессы. Подводя итог, Golang значительно ускоряет процесс разработки.

Как справиться с разработкой приложения Golang

Ищете лучшую компанию по разработке Golang? Неважно, что вы планируете создать, мы будем рады поделиться некоторыми советами. Наш опыт разработки приложений на Go обязательно поможет. Свяжитесь с нами для получения более подробной информации! Мы надеемся, что этот обзор приложений, созданных с помощью Golang, вдохновил вас.