Web開発のためのGo

概要

Goは、Webアプリケーションにスピード、セキュリティ、および開発者フレンドリーなツールを提供します

Goは、開発者がスケーラブルで安全なWebアプリケーションを迅速に開発できるように設計されています。Goには、使いやすく、安全で高性能なWebサーバーが付属しており、独自のWebテンプレートライブラリが含まれています。Goは、HTTP/2から、MySQLMongoDBElasticsearchのようなデータベース、TLS 1.3を含む最新の暗号化規格に至るまで、最新のテクノロジーをすべて優れたサポートしています。Go Webアプリケーションは、Goの優れた移植性のおかげで、Google App EngineGoogle Cloud Run(簡単なスケーリング用)でネイティブに実行できます。または、任意の環境、クラウド、オペレーティングシステムで実行できます。

主な利点

記録的な速さでプラットフォームを跨いで展開

企業にとって、Goは迅速なクロスプラットフォーム展開を提供するために推奨されます。そのゴルーチン、ネイティブコンパイル、およびURIベースのパッケージ名前空間により、Goコードは、依存関係がゼロの単一の小さなバイナリにコンパイルされ、非常に高速になります。

Goのすぐに使えるパフォーマンスを活用して、簡単にスケーリング

Hexact Inc.の共同創設者兼CTOであるTigran Bayburtsyanは、彼の会社がGoに切り替えた5つの主な理由を要約しています

  • 単一のバイナリにコンパイル - 「静的リンクを使用すると、Goは実際には、OSタイプとアーキテクチャに基づいて、すべての依存関係ライブラリとモジュールを1つの単一のバイナリファイルに結合します。」

  • 静的型システム - 「型システムは、大規模なアプリケーションにとって非常に重要です。」

  • パフォーマンス - 「Goは、並行処理モデルとCPUスケーラビリティのために、より良いパフォーマンスを発揮しました。内部リクエストを処理する必要があるときはいつでも、Pythonスレッドよりも10倍リソースコストが安い個別のゴルーチンで実行しています。」

  • Webフレームワークは不要 - 「ほとんどの場合、サードパーティ製のライブラリはまったく必要ありません。」

  • 優れたIDEサポートとデバッグ - 「すべてのプロジェクトをGoに書き換えた後、以前よりも64%少ないコードになりました。」

顧客 簡単な紹介 Goを使用しているプロジェクト
Caddy Caddy Caddy Caddy 2は、Goで記述された自動HTTPSを備えた強力なエンタープライズ対応のオープンソースWebサーバーです。Caddyは、Cで記述されたサーバーよりも優れたメモリ安全性を提供します。Go標準ライブラリで強化されたハードニングTLSスタックは、インターネットトラフィックの大部分を処理します。
Cloudflare Cloudflare Cloudflare Cloudflareは、インターネットに接続された数百万のWebサイト、API、SaaSサービス、およびその他のプロパティを高速化し、保護します。「Goは、高レイテンシHTTP接続の圧縮処理、DNSインフラストラクチャ全体、SSL、ロードテストなど、Cloudflareのサービスの中心にあります。」
gov.uk gov.uk gov.uk Go言語のシンプルさと安全性は、英国政府のHTTPインフラストラクチャに適しており、優れたnet/httpパッケージを使用したいくつかの簡単な実験で、Web開発者は正しい方向に進んでいると確信しました。「特に、Goの並行処理モデルにより、高性能なI/Oバウンドアプリケーションを構築するのが非常に簡単になります。」

始めましょう

Web開発に関するGoの書籍

  • Echo

    高性能で拡張可能で、ミニマリストのGo Webフレームワーク

  • Flamingo

    クリーンでスケーラブルなアーキテクチャを備えたGoベースの高速オープンソースフレームワーク

  • Gin

    martiniのようなAPIを備えたGoで記述されたWebフレームワーク。

  • Gorilla

    Goプログラミング言語用のWebツールキット。

もっと見る
  • net/http

    標準ライブラリのHTTPパッケージ

  • julienschmidt/httprouter

    軽量で高性能なHTTPリクエストルーター

  • gorilla/mux

    Go Webサーバーを構築するための強力なHTTPルーターとURLマッチャー(🦍付き)

  • Chi

    Go HTTPサービスを構築するための軽量で慣用的かつ構成可能なルーター。

もっと見る
  • html/template

    標準ライブラリのHTMLテンプレートエンジン

  • flosch/pongo2

    Djangoのような構文のテンプレート言語

もっと見る
  • 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を大規模に提供します

もっと見る
もっと見る
  • gopherjs

    開発者がすべてのブラウザで実行されるGoでフロントエンドコードを記述できるようにする、GoからJavaScriptへのコンパイラー。

もっと見る

コース

プロジェクト

  • gopherjs、開発者がすべてのブラウザで実行されるGoでフロントエンドコードを記述できるようにする、GoからJavaScriptへのコンパイラー。
  • Hugo、Webサイトを構築するための世界最速のフレームワーク
  • Mattermost、安全なチームコラボレーションを可能にする柔軟なオープンソースメッセージングプラットフォーム
  • Caddy、Goで記述された自動HTTPSを備えた強力なエンタープライズ対応のオープンソースWebサーバー