【ITニュース解説】Build Web Apps with Pure Go (No JavaScript Required!)
2025年09月05日に「Dev.to」が公開したITニュース「Build Web Apps with Pure Go (No JavaScript Required!)」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
GoだけでWebアプリが作れる「gofred」が登場。JavaScript不要で、GoのコードがWebAssemblyにコンパイルされブラウザで実行。レスポンシブなUIコンポーネントやホットリロード、豊富なドキュメントも完備。Go開発者がWeb開発の複雑さを解消するために開発。
ITニュース解説
gofredは、Go言語だけでWebアプリケーションを構築できるフレームワークだ。通常、Webアプリケーションのフロントエンド開発にはJavaScriptが必須だが、gofredを使えばJavaScriptを一切書く必要がない。これは、GoのコードをWebAssemblyと呼ばれる形式にコンパイルし、それをブラウザ上で直接実行することで実現している。
gofredの大きな特徴は、Webアプリケーションのフロントエンドからバックエンドまで、すべてGo言語で開発できる点にある。JavaScriptやTypeScriptといった別の言語を習得する必要がなく、Go言語の知識だけでWeb開発が可能になる。
WebAssemblyを利用することで、ブラウザ上での実行速度も向上する。Go言語は並行処理に優れているため、gofredで作られたアプリケーションも高いパフォーマンスを発揮できる。
UI(ユーザーインターフェース)を構築するためのコンポーネントも豊富に用意されている。レイアウト用のコンテナやカラム、行、グリッドといったウィジェットや、ボタン、リンク、フォームなどのインタラクティブなコンポーネント、テキスト、アイコン、画像を表示するためのコンポーネントなどがある。これらのコンポーネントを組み合わせることで、様々なUIを構築できる。
また、gofredはレスポンシブデザインに対応しており、画面サイズに応じてUIが自動的に調整される。XS、SM、MD、LG、XL、XXLといったブレークポイントが定義されており、モバイルファーストなデザインを容易に実現できる。
開発体験を向上させるための機能も充実している。コードを修正すると自動的にブラウザがリロードされるホットリロード機能や、詳細なドキュメント、便利なツールなどが提供されている。
gofredの仕組みは、ウィジェットと呼ばれる部品を組み合わせてUIを構築する、コンポーネントベースのアーキテクチャを採用している。基本的な構成要素となるFoundationウィジェット、柔軟なレイアウトを実現するレイアウトシステム、UIの状態を管理するステート管理機能、クリックやホバーなどのイベントを処理するイベントハンドリング機能、そしてCSS-in-Goと呼ばれる手法でスタイルを定義するスタイリング機能などが備わっている。
gofredは、Go言語でWebアプリケーションを開発したい開発者や、JavaScriptの複雑さを軽減したいチーム、高いパフォーマンスを求めるプロジェクト、そして静的型付け言語を好む開発者にとって最適な選択肢となるだろう。Go言語のエコシステムをWeb開発に活用したい人にもおすすめだ。
gofredを使った開発を始めるには、まず新しいプロジェクトを作成し、Go Modulesを使ってgofredをインストールする。その後は、提供されているコンポーネントを使ってUIを構築していく。
gofredが開発された背景には、既存のWeb開発の複雑さに対する不満があった。Webアプリケーションを開発するためには、JavaScriptやその周辺技術を習得する必要があるが、gofredを使えばGo言語のシンプルさとパワーをWeb開発に活かすことができる。
今後の展望としては、UIコンポーネントの拡充、ツールの改善、IDE(統合開発環境)のサポート、CLI(コマンドラインインターフェース)ツールの開発、パフォーマンスの最適化、コミュニティによるサンプルやテンプレートの提供、そしてGo言語の主要なライブラリとの連携などが計画されている。