トップ Golang アプリ: Golang で作成された 6 つの最高のアプリ

公開: 2020-06-05

高速で使いやすい Golang プログラミング言語 (Go とも呼ばれます) は、急速に人気が高まっています。 Github の統計によると、2018 年から 2019 年の間に Go コミュニティは 147% 成長しました。 Golang は、複雑なエンタープライズ プロジェクト向けに設計されているため、多くの企業を魅了しています。 では、このプログラミング言語で具体的に何ができるのでしょうか?

この記事では、上位の Golang アプリを詳しく見ていきます。 これらの実際の例は、Google Go がビジネスにとってどのように適切な選択であるかを理解するのに役立ちます!

モバイルアプリ開発レポートの未来

モバイルアプリの未来を探る

無料でレポートを手に入れよう!

Golang を使用して開発された上位 6 つのアプリケーション

1. Golang 銀行アプリ – Monzo

ほとんどの企業は、マイクロサービス アーキテクチャとともに Golang を導入しています。 これは、アプリベースのオンライン バンクである Monzo の場合も同じでした。 2015 年 2 月に最初にアプリケーションのセットアップを開始したとき、彼らは単一責任の原則に重点を置いていました。 すべてのモジュールが単一の機能を担当する必要があると述べています。 この種のアプローチにより、アプリの安定性が向上します。ここで、Go が非常に適しています。 Monzo は、最初から Golang で構築されたアプリの典型的な例です。

Monzo - Golang バンキング アプリ

Monzo が成長を続ける中、Golang は同社の製品のスケーリングを支援しました。 技術チームは、Go は「マイクロサービス アーキテクチャに最適」であると述べています。Go は、安定したアプリに追加されるきめ細かいサービスを作成するのに役立つからです。

Monzo は 1,600 以上のマイクロサービスで構成されています。 同社のシニア エンジニアである Matt Heath 氏は、Go によってこのような複雑なアーキテクチャを維持できると主張しています。 彼の言葉を借りれば、この言語は「非常にシンプル […] であり、[…] 人々の参加を容易にする」 . 実際、Golang は学習曲線が短いことで有名です。一部の開発者は、たった一晩で基本を習得できると主張しています。

2. Golang eコマースアプリ – Allegro

Allegro - Golang e コマース アプリ

Monzo の場合、最初から Go が主要言語でした。 Golang の話は、1999 年から存在しているポーランドの e コマースの巨人である Allegro にとっては異なっていました. 彼らは何か新しいことに挑戦することに決め、そのタスクに Golang を選びました。

Allegro のマイクロサービスのほとんどは Java で記述されていますが、チームは新しいことを探求することに前向きでした。 彼らは以前にオープンソースの Go プロジェクトに参加したことがあり、Golang が大量のトラフィックを処理する方法を見て喜んでいました。

最終結果は驚くべきものでした。 Go は、Allegroがアプリケーションを 2.5 秒から 250 ミリ秒未満に高速化するのに役立ちました。これは最長の要求です! Allegro チームは Golang を信頼しており、Go 関連のカンファレンスで彼らの洞察を喜んで共有します。

3. Golang 音楽アプリ – SoundCloud

SoundCloud - Golang 音楽アプリ

アーティストに焦点を当てた音楽共有プラットフォームである SoundCloud は、かなり早い段階で Go を採用しています。 すべてのトップ Golang アプリの中で、アーティストに焦点を当てた音楽共有プラットフォームである SoundCloud は、非常に早期に採用されています。 2012 年に、SoundCloud で Go に関する記事をリリースしました。

このアプリは主に Ruby on Rails に基づいていますが、SoundCloud は多言語企業であると認識しており、多くの言語がバックエンドに追加されています。 彼らは Golang をWYSIWYG ( What You See Is What You Get) 言語として高く評価しています。 これにより、チーム全体がソフトウェアを理解しやすくなり、メンテナンス プロセスがより効率的になります。

さらに、SoundCloud は Golang の高速コンパイルと静的型付けを高く評価しています。 簡単に言えば、これは、アプリケーションの開発、テスト、および展開が可能な限り高速であることを意味します。 チームは、これらの迅速なプロセスにより、いくつかの単純なアイデアがホワイトボードからわずか 1 時間で本番環境に移行できることを意味すると主張しています。 印象的ですね。

4. Golang デート アプリ – Badoo

Badoo - Golang の出会い系アプリ

190 か国に存在し、世界中で 4 億人のユーザーを誇る Badoo は、世界で最も広く使用されている出会い系ネットワークです。 これらの数字には、非常に効率的な検索アルゴリズムが必要です。ここで、Golang が役に立ちます。

可能な限りスムーズな検索体験を提供するために、Badoo の技術チームはビットマップ インデックスを使用してサービスを作成しています。 ビットマップ インデックスは、エンティティ (この場合は出会い系アプリのユーザー) とそのパラメーター (年齢や髪の色など) を表す複数のビットマップで構成されます。 これは、これこれ、およびそれではなく、たとえば、25 ~ 30 歳の男性、金髪、身長 180 cm 以上の人を探しているユーザーに最適です。 出会い系アプリとしては最高の出会いですね。

ここに秘訣があります。ビットマップ インデックスは、MySQL などの多くの一般的なデータベース管理システムで実装するのが難しい場合があります。 ソリューション? ご想像のとおり、Golang です。 ビットマップ インデックスは、Go で記述されたデータベース管理システムである Pilosa で一般的に使用されます。 Go 言語は、技術的な詳細に踏み込むことなく、ビットマップ インデックスのスムーズな実装を可能にします。これが、Badoo チームが保守性の高い製品に Go 言語を使用することに決めた理由です。

5. Golang 配車アプリ – Uber

はい、そのとおりです。Uber でさえ、Golang を使用してライドシェアリング サービスの品質を向上させています。

同社はジオロケーションにジオフェンスを使用しています。 ジオフェンスは、特定の要件を持つエリアを定義します。 ほとんどの場合、空港や特に混雑した地域に当てはまります。 ウガンダのカンパラのジオフェンスの例をご覧ください。

Uber - Golang の配車アプリ

Node.js は Uber が最初に選んだ言語でしたが、このサービスに Go を使い始めることにしました。 同社は、毎秒数十万件のジオフェンス ルックアップ リクエストを処理しているため、迅速な処理が必要でした。 Golang は複数の CPU コアで同時に動作できるため、最適な選択であることが判明しましたが、Node.js はシングルスレッドです。 つまり、Go 言語は一度に複数のことを実行できます。

この選択は大成功を収め、Uber チームは Golang の使用に満足しています。 高速になるだけでなく、ソフトウェア開発者の生産性も向上します。 Java、C++、または Node.js に慣れている場合は、Go をわずか数日で学習できます。

アプリのパフォーマンスに関して言えば、結果は本当に印象的です。 2015 年の大晦日に、Uber のデータ センターはわずか 35% の CPU 使用率でピーク負荷を正常に処理しました。 さらに、同社はなんと99.99% のアップタイムを誇ることができ、ダウンタイムは Golang 自体ではなく、サードパーティのライブラリによってのみ引き起こされます。

ジオフェンスの成功に後押しされて、Uber はより多くのマイクロサービスに Golang の実装を開始しました。 たとえば、彼らはこの言語を使用して、乗客を適切なドライバーとマッチングしています。 製品内で新しいサービスを作成するための最も人気のある言語になっています。 人気に関して言えば、Uber はトップの Golang アプリの 1 つと言っても過言ではありません。

6. Golang プロジェクト管理アプリ – タイムシート

最後になりましたが、これは私たちが作成した Golang アプリの例です。 Timesheets は、社内ツールとして最初に使用したタイム トラッキング ソリューションです。 とても満足しているので、タイムシートを一般公開することにしました。 このツールは、Slack、Jira、さらには音声アシスタントなど、他のさまざまなツールと統合することもできます.

製品設計サービス アイコン

私たちの他の成功したプロジェクトをチェックしてください

ポートフォリオを見る

タイムシートを作成するとき、Golang を最初に選択しました。 超軽量、高速、十分なアプリを作成したいと考えていましたが、Golang のマルチスレッド機能により、それがはるかに簡単になりました。 さらに、1 つのリポジトリ内で共通のパーツを使用すると、異なるプロセスを同時に実行できます。 要約すると、Golang は開発プロセスを大幅にスピードアップします。

Golang アプリ開発の扱い方

トップの Golang 開発会社をお探しですか? どんなものを作ろうとしても、 アドバイスをいただければ幸いです。 Go を使用したアプリ開発の経験は、必ず役に立ちます。 詳しくはお気軽にお問い合わせください! この Golang で作成されたアプリのまとめが、あなたにインスピレーションを与えてくれることを願っています。