Tổng quan
Go mang lại tốc độ, bảo mật và công cụ thân thiện với lập trình viên cho ứng dụng Web
Go được thiết kế để giúp lập trình viên phát triển nhanh các ứng dụng web có thể mở rộng và bảo mật. Go đi kèm với web server dễ sử dụng, bảo mật và hiệu năng cao, đồng thời có thư viện template web riêng. Go hỗ trợ xuất sắc tất cả các công nghệ mới nhất, từ HTTP/2 đến cơ sở dữ liệu như MySQL, MongoDB và Elasticsearch, đến các tiêu chuẩn mã hóa mới nhất bao gồm TLS 1.3. Ứng dụng web Go chạy nguyên bản trên Google App Engine và Google Cloud Run (để mở rộng dễ dàng) hoặc trên bất kỳ môi trường, đám mây hay hệ điều hành nào nhờ khả năng di động cực cao của Go.
Lợi ích chính
Triển khai đa nền tảng với tốc độ kỷ lục
Đối với doanh nghiệp, Go được ưu tiên vì triển khai đa nền tảng nhanh chóng. Với goroutine, biên dịch gốc và không gian tên package dựa trên URI, code Go biên dịch thành một binary nhỏ duy nhất, không có dependency, rất nhanh.
Tận dụng hiệu năng sẵn có của Go để mở rộng dễ dàng
Tigran Bayburtsyan, đồng sáng lập và CTO của Hexact Inc., tóm tắt năm lý do chính mà công ty ông chuyển sang Go:
-
Biên dịch thành một binary duy nhất - “Dùng static linking, Go thực sự kết hợp tất cả thư viện dependency và module thành một file binary duy nhất dựa trên loại OS và kiến trúc.”
-
Hệ thống kiểu tĩnh - “Hệ thống kiểu thực sự quan trọng cho ứng dụng quy mô lớn.”
-
Hiệu năng - “Go hoạt động tốt hơn nhờ mô hình đồng thời và khả năng mở rộng CPU. Bất cứ khi nào cần xử lý một request nội bộ, chúng tôi thực hiện với Goroutine riêng biệt, rẻ hơn 10 lần về tài nguyên so với Python Thread.”
-
Không cần web framework - “Trong hầu hết các trường hợp, bạn thực sự không cần thư viện bên thứ ba nào.”
-
Hỗ trợ IDE và debug tuyệt vời - “Sau khi viết lại tất cả dự án sang Go, chúng tôi có ít hơn 64% code so với trước đây.”
Người dùng nổi bật
| Khách hàng | Giới thiệu ngắn | Dự án sử dụng Go |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bắt đầu
Sách Go về phát triển web
-
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
Web framework
-
Echo
Web framework Go hiệu năng cao, mở rộng được và tối giản
-
Flamingo
Framework mã nguồn mở nhanh dựa trên Go với kiến trúc sạch và có thể mở rộng
-
Gin
Web framework viết bằng Go, với API kiểu martini
-
Gorilla
Bộ công cụ web cho ngôn ngữ lập trình Go
Router
-
net/http
Package HTTP thư viện chuẩn
-
julienschmidt/httprouter
HTTP request router nhẹ hiệu năng cao
-
gorilla/mux
HTTP router mạnh mẽ và URL matcher để xây dựng Go web server
-
Chi
Router nhẹ, idiomatic và có thể kết hợp để xây dựng dịch vụ HTTP Go
Template engine
-
html/template
Template engine HTML thư viện chuẩn
-
flosch/pongo2
Ngôn ngữ template theo cú pháp Django
Cơ sở dữ liệu & Driver
-
database/sql
Giao diện thư viện chuẩn với hỗ trợ driver cho MySQL, Postgres, Oracle, MS SQL, BigQuery và hầu hết cơ sở dữ liệu SQL
-
mongo-driver/mongo
Driver Go chính thức cho MongoDB
-
elastic/go-elasticsearch
Elasticsearch client cho Go
-
GORM
Thư viện ORM cho Go
-
Bleve
Tìm kiếm toàn văn bản và lập chỉ mục cho Go
-
CockroachDB
Cơ sở dữ liệu thế hệ mới, được thiết kế cho đám mây để cung cấp SQL phân tán có khả năng phục hồi, nhất quán ở quy mô lớn
Thư viện Web
-
markbates/goth
Xác thực cho ứng dụng web
-
jinzhu/gorm
Thư viện ORM cho Go
-
dgrijalva/jwt-go
Triển khai Go của JSON web token
Dự án khác
-
gopherjs
Trình biên dịch từ Go sang JavaScript cho phép lập trình viên viết code frontend bằng Go để chạy trên tất cả các trình duyệt.
Khóa học
- Học tạo ứng dụng web bằng Go, khóa học trực tuyến có tính phí
Dự án
- gopherjs, trình biên dịch từ Go sang JavaScript cho phép lập trình viên viết code frontend bằng Go để chạy trên tất cả các trình duyệt.
- Hugo, framework xây dựng website nhanh nhất thế giới
- Mattermost, nền tảng nhắn tin mã nguồn mở linh hoạt cho phép cộng tác nhóm bảo mật
- Caddy, web server mã nguồn mở mạnh mẽ, sẵn sàng cho doanh nghiệp với HTTPS tự động viết bằng Go