Jump Start Sinatra 1.a - Sinatra là gì?
Ruby
114
sinatra
1
White

Nguyễn Như Huy viết ngày 26/08/2015

Tại sao có chuỗi bài này?

Rails rất "magical", để nhảy vào Rails từ Ruby cơ bản sẽ dễ dàng khiến cho bạn hoa mắt, hãy thử với Sinatra để có thể nắm rõ hơn cách một Web hoạt động và nâng cao kỹ năng lập trình bằng Ruby.
Chuỗi bài viết này đều được biên dịch từ Jump Start Sinatra bởi Darren Jones.

Sinatra là gì?

Đây là những gì mà trên trang chủ Sinatra đã viết: "Sinatra là một DSL để xây dựng ứng dụng web bằng Ruby nhanh nhất với nỗ lực tối thiểu"

Vậy cụ thể là như thế nào, DSL (Domain-specific language) là một ngôn ngữ được thiết kế để thực hiện trong một lĩnh vực cụ thể, nó trái ngược với các ngôn ngữ có mục đích chung để giải quyết nhiều lĩnh vực. Sinatra là một thư viện Ruby có trọng lượng nhẹ để tạo ra các truy cập HTTP cực kì dễ dàng. Ruby đơn giản nhưng là một ngôn ngữ lập trình hướng đối tượng rất mạnh mẽ, cú pháp Ruby trong sáng và linh hoạt. Còn HTTP là một giao thức cực mạnh của ứng dụng Web.

HTTP (Hypertext Transfer Protocol) là một giao thức truyền tải, nó sẽ chấp nhận sự liên lạc giữa clients (người dùng) và servers (máy chủ) qua internet. Một client (như trình duyệt web) sẽ yêu cầu cung cấp tài nguyên (thông thường là nội dung một trang web) từ một server, server sẽ xử lý yêu cầu và sau đó sẽ gửi trả lại một phản hồi cho client. Phản hồi này sẽ chứa một mã trạng thái (thông thường là 200, chỉ ra rằng mọi thứ đều ổn) những yêu cầu và phản hồi này là những tin nhắn được gửi qua HTTP.alt text
Sinatra làm những điều đó rất dễ dàng - gần như là bình thường - để xây dựng dịch vụ hay ứng dụng web bằng Ruby. Một ứng dụng Sinatra cơ bản được tạo bởi một hoặc nhiều tập tin Ruby. Bạn không cần thiết phải trở thành một chuyên gia Ruby để sử dụng Sinatra, nhưng nếu bạn biết sâu Ruby hơn, bạn sẽ tạo được các ứng dụng Sinatra một cách tốt nhất. Và bên cạnh đó, thật đáng tiếc nếu không học Ruby bởi vì nó là một ngôn ngữ rất thú vị. Mặt khác, học Sinatra và nghiên cứu những đoạn mã của người khác viết chắc chắn sẽ cải thiện kỹ năng lập trình Ruby của bạn. Như tôi đã đề cập ở trước, Sinatra là một thư viện có trọng lượng nhẹ, với dưới 2000 dòng mã viết bằng Ruby. Đó là một giá trị đáng để học tập, bạn sẽ biết Sinatra hoạt động như thế nào, và bạn cũng sẽ biết thêm nhiều đoạn mã Ruby rất tuyệt.

Sinatra được viết vào năm 2007 bởi Blake Mizerany, và liên tục được phát triển, tại thời điểm bài viết này thì Sinatra đã được tải hơn 25 triệu lần tại trang web RubyGems từ năm 2010. Cơ bàn thì vì sự yêu thích, nhưng Sinatra cũng có khả năng sáng tạo ra những web có dữ liệu lớn như BBC, Github, Linkedin. Và còn là ý tưởng cho các ngôn ngữ khác sao chép, kể ra như Express, Slim, Flasl, Spark và Nancy.

Không giống như Ruby on Rails, Sinatra được xác định không như một framework. Nó không có các quy ước và các áp đặt khung sườn tập tin cho bạn. Sinatra cơ bản là một ứng dụng Ruby, những gì Sinatra làm là kết nối ứng dụng đó vào Web (qua HTTP). Thay vì ẩn dấu phía sau nhiều ma thuật, thì Sinatra lại phơi bày cách mà một Web hoạt động bằng khái niệm của HTTP và URL. Điều đó có nghĩa là bạn hoàn toàn có thể xây dựng một Web có dữ liệu lớn và mạnh mẽ bằng Sinatra. Nó sẽ hoạt động theo cách mà bạn muốn mà không bị các quy ước hạn chế như Rails. Tuy vậy, Sinatra cũng sẽ không ngăn cản bạn viết các mã tệ.

Sinatra được xây dựng từ trên nền Rack, nó là một giao diện cấp thấp tương tác giữa một HTTP server và một đối tượng Ruby. Các Ruby Framework như Rails, Ramaze, Rango, Camping và Halcyon cũng được xây trên nền Rack. Nó giúp Sinatra dễ dàng mở rộng để sử dụng các API, RubyGem riêng cho ứng dụng của bạn.

Tại sao bạn nên sử dụng Sinatra ?

Sinatra giúp bạn viết những đoạn mã thanh lịch nhưng vẫn có kết quả tuyệt vời. Điều đó có nghĩa là bạn có thể tạo đầy đủ một ứng dụng web chỉ trong một tập tin. Nó không có các thủ tục thiết lập phức tạp hay phải lo lắng về cách cấu hình. Bạn chỉ cần mở một trình chỉnh sửa văn bản (sublime chẳng hạn) và bắt đầu, để bạn có thể tập trung vào ứng dụng của bạn.

Phát triển bằng Sinatra là hoàn hảo cho việc tạo mẫu các ý tưởng. Cú pháp của nó đủ để bạn bắt đầu, nhưng rất mạnh mẽ. Sinatra vô cùng linh hoạt - nó giải thoát cho bạn và giúp bạn làm những gì mà bạn muốn. Nó là lựa chọn hoàn hảo để triển khai API, Widgets, Facebook Apps và nhiều hơn nữa.

Và một điều cuối những không kém ý nghĩa, đó là cộng đồng hỗ trợ Sinatra khá tuyệt vời.

Chúng ta hãy chờ đợi tiếp bài sau nhé - Cài đặt và viết ứng dụng đầu tiên bằng Sinatra.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Nguyễn Như Huy

1 bài viết.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Bài viết liên quan
White
8 6
Chưa xem phần 2? Xem (Link) Trong bài viết này tôi giới thiệu cho các bạn về khái niệm function arity, một cách gọi mĩ miều của số lượng argument ...
Lơi Rệ viết gần 3 năm trước
8 6
White
8 1
Tiếp theo (Link) Mình sẽ hướng dẫn cách test căn bản cho API mình tạo. Thật ra mà nói thì mình phải viết test trước khi làm nhưng mà để tránh việc...
My Mai viết 3 năm trước
8 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
1 bài viết.
2 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!