6 WEB FRAMEWORKS CHO GOLANG MÀ CÁC LẬP TRÌNH VIÊN CẦN PHẢI BIẾT

29-06-2018 15:30

Golang – ngôn ngữ Google Go, là một trong những lựa chọn hàng đầu để viết các dịch vụ Web và API. Nó có khả năng compile thành các code gốc chạy nhanh và các tính năng hữu ích khác cho dịch vụ web, đồng thời ngôn ngữ còn có lượng người dùng lớn. Dưới đây là một số framework hiện được sử dụng để phát triển web trong Go.

 

Go web framework: Beego

Framework này có thể làm bạn gợi nhớ đến web framework Django dành cho Python. Ngôn ngữ này đi kèm với một loạt các tính năng phổ biến cho ứng dụng web, được tổ chức thành 8 module có thể sử dụng hoặc bỏ qua khi cần thiết. Ngoài ra, nó còn bao gồm object – relationship map (ORM) để truy cập dữ liệu, bộ built – in cache handle, session handling tools, cơ chế ghi nhật ký và thư viện cho các operation với những đối tượng HTTP.

Beego tương tự như Django nằm trong các command – line tool. Ví dụ, bạn có thể sử dụng lệnh bee để tạo một ứng dụng Beego mới hoặc quản lý các ứng dụng hiện có.

Go web framework: Gin

Martini là một trong những web framework đầu tiên dành cho Go nhưng dự án này không còn được tiếp tục nữa. Tuy nhiên, các framework ngày nay vẫn luôn lấy cảm hứng từ những tính năng của Martini vốn vô cùng mạnh mẽ và tiện lợi.

Gin là một trong những dự án như vậy. Nó sử dụng phiên bản tùy biến của gói httprouter vì tốc độ xử lý cực kỳ nhanh. Cùng với đó, nó cung cấp các trình xử lý cho nhiều trường hợp sử dụng phổ biến: middleware, file uploading, logging, binding front-end HTML component với cấu trúc dữ liệu back-end, etc…Các phiên bản API đã ổn định kể từ phiên bản 1.x, vậy nên các thay đổi trong tương lai sẽ không gây crash với các Gin app hiện tại.

Go web framework: Gorilla

Go web framework này được xem như là một “web toolkit”, chứ không phải là một MVC – style framework. Nó bao gồm các thư viện được dùng để giải quyết các khía cạnh khác nhau của việc viết một dịch vụ web: context, mux và các thư viện khác để thực hiện cookie, session, websockets và RPC qua HTTP.

Templates, forms và các phần front-end khác sẽ không bao gồm trong package. Do đó, bạn sẽ phải tự cung cấp chúng.

Go web framework: Echo

Đây là một framework nhỏ dành cho các API. Ví dụ: Echo không bao gồm templating system; thay vào đó, bạn phải sử dụng html/template của Go. Tuy nhiên, nó có cung cấp một số module trung gian hữu ích thường được sử dụng trong các API, ví dụ như compression, proxying, và logging.

Go web framework: Iris

Iris được nhiều người cho là “như một Express.js dành cho Go” – như một phiên bản của JavaScript/Node.js web framework sử dụng thiết kế tối thiểu với hầu hết các chức năng được cung cấp bởi các plugin. Iris bao gồm những chức năng MVC cơ bản, cùng với hỗ trợ tích hợp cho phần mềm trung gian, sessions, routing, và caching.

Go web framework: Revel

Revel được sáng tạo ra dựa trên cảm hứng từ Rubyon Rails. 

Ngoài việc cung cấp MVC cơ bản, Revel cho phép bạn sử dụng component khác một cách tự do để đáp ứng các nhu cầu khác. Caching có thể được thực hiện tự nhiên trong bộ nhớ, hoặc thông qua Memcached hoặc Redis back end. Tuy nhiên, không có ORM gốc cho cơ sở dữ liệu.

Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề