概要
GoはWebアプリケーションに速度、セキュリティ、開発者向けツールを提供します
Goは、開発者がスケーラブルで安全なWebアプリケーションを迅速に開発できるように設計されています。Goには、使いやすく、安全で高性能なWebサーバーが付属しており、独自のWebテンプレートライブラリも含まれています。Goは、HTTP/2から、MySQL、MongoDB、Elasticsearchのようなデータベース、そしてTLS 1.3を含む最新の暗号化標準まで、最新のすべての技術を優れたサポートで提供します。GoのWebアプリケーションは、Google App EngineおよびGoogle Cloud Run(容易なスケーリングのため)でネイティブに実行できます。また、Goの極めて高い移植性のおかげで、任意の環境、クラウド、またはオペレーティングシステムで実行できます。
主なメリット
驚異的な速さで複数のプラットフォームにデプロイ
企業にとって、Goは迅速なクロスプラットフォームデプロイメントを提供する点で好まれています。Goのゴルーチン、ネイティブコンパイル、URIベースのパッケージネームスペースにより、Goコードは単一の小さなバイナリにコンパイルされ、依存関係がゼロであるため、非常に高速です。
Goの標準搭載のパフォーマンスを活用し、簡単にスケーリング
Hexact Inc.の共同創設者兼CTOであるTigran Bayburtsyan氏は、彼の会社がGoに切り替えた5つの主な理由をまとめています。
-
単一のバイナリにコンパイルされる — 「静的リンクを使用することで、GoはOSタイプとアーキテクチャに基づいて、すべての依存ライブラリとモジュールを1つの単一バイナリファイルに結合します。」
-
静的型システム — 「型システムは大規模アプリケーションにとって非常に重要です。」
-
パフォーマンス — 「Goは、その並行処理モデルとCPUのスケーラビリティにより、より優れたパフォーマンスを発揮しました。内部リクエストを処理する必要があるときはいつでも、Pythonのスレッドよりもリソースが10倍安い個別のGoroutinesで処理しています。」
-
Webフレームワークは不要 — 「ほとんどの場合、サードパーティライブラリは本当に必要ありません。」
-
優れたIDEサポートとデバッグ — 「すべてのプロジェクトをGoで書き直した後、以前よりも64%少ないコードになりました。」
主要ユーザー
| 顧客 | 簡単な紹介 | Goを使用しているプロジェクト |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
始める
Web開発に関するGoの書籍
-
Web Development with Go
-
Go Web Programming
-
Web Development Cookbook: Build full-stack web applications with Go
-
Building RESTful Web services with Go
-
Mastering Go Web Services
ウェブフレームワーク
-
Echo
高性能で拡張性のあるミニマリストなGoウェブフレームワーク
-
Flamingo
クリーンでスケーラブルなアーキテクチャを持つ、Goベースの高速オープンソースフレームワーク
-
Gin
MartiniライクなAPIを持つ、Goで書かれたウェブフレームワーク。
-
Gorilla
Goプログラミング言語のためのウェブツールキット。
ルーター
-
net/http
標準ライブラリのHTTPパッケージ
-
julienschmidt/httprouter
軽量で高性能なHTTPリクエストルーター
-
gorilla/mux
🦍でGoウェブサーバーを構築するための強力なHTTPルーターおよびURLマッチャー
-
Chi
Go HTTPサービスを構築するための軽量でイディオマティックな構成可能なルーター。
データベースとドライバー
-
database/sql
MySQL、Postgres、Oracle、MS SQL、BigQuery、およびほとんどのSQLデータベースのドライバをサポートする標準ライブラリインターフェース
-
mongo-driver/mongo
Go用のMongoDBサポートドライバー
-
elastic/go-elasticsearch
Go用のElasticsearchクライアント
-
GORM
Go用ORMライブラリ
-
Bleve
Go用の全文検索とインデックス作成
-
CockroachDB
データベースの進化 — クラウド向けに設計され、回復力があり、一貫性のある分散SQLを大規模に提供
ウェブライブラリ
-
markbates/goth
Webアプリケーションの認証
-
jinzhu/gorm
Go用ORMライブラリ
-
dgrijalva/jwt-go
JSONウェブトークンのGo実装
コース
- Goを使用してWebアプリケーションを作成する方法を学ぶ、有料オンラインコース
プロジェクト
- gopherjs、GoからJavaScriptへのコンパイラで、開発者がGoでフロントエンドコードを書き、それがすべてのブラウザで実行できるようにします。
- Hugo、世界最速のウェブサイト構築フレームワーク
- Mattermost、安全なチームコラボレーションを可能にする、柔軟なオープンソースメッセージングプラットフォーム
- Caddy、Goで書かれた、自動HTTPS機能を備えた強力でエンタープライズ対応のオープンソースウェブサーバー