Gần đây tôi đã học khuôn khổ web Ruby Sinatra và tôi đang tìm kiếm nó tuyệt vời để sử dụng. Hầu hết các bài viết và blog tôi đã đọc về nó dường như giả định rằng nó chỉ tốt cho các trang web nhỏ hoặc các ứng dụng web 'nhỏ'. Điều này có đúng không? Một ứng dụng web hoàn chỉnh có thể được xây dựng ở Sinatra hay Ruby on Rails không?Giới hạn của Sinatra là gì?
Trả lời
Bạn có thể, về lý thuyết, xây dựng một ứng dụng web hoàn chỉnh bằng Sinatra, và nó sẽ cung cấp cho bạn khả năng kiểm soát chính xác hơn Ruby on Rails.
Điều đó nói rằng, nó cũng loại bỏ tất cả các tính năng đẹp trên các đường ray mang lại cho bạn, chẳng hạn như kiến trúc Model-View-Controller.
Nếu bạn đang tìm cách xây dựng một ứng dụng web với tương tác cơ sở dữ liệu, tôi khuyên bạn nên sử dụng Ruby on Rails.
Nếu bạn đang tìm cách xây dựng một API rất đơn giản hoặc một cái gì đó chỉ lấy một số dữ liệu và ném nó lên Twitter hoặc một cái gì đó, hãy tiếp tục và sử dụng Sinatra.
Chính xác những gì về lực lượng Sinatra khiến bạn mất đi cấu trúc MVC? Tôi sẽ lập luận rằng bạn bị mất làm những điều "đường ray" nhưng không có gì ngăn cản bạn tổ chức ứng dụng của bạn theo cách MVC. Hơn nữa, nếu bạn yêu cầu đá quý ActiveRecord trong ứng dụng sinatra của bạn, bạn có tất cả các tương tác cơ sở dữ liệu từ các đường ray mà bạn có thể muốn. Sinatra cho phép bạn làm mọi thứ theo cách _your_. Tôi không nghĩ rằng nó giới hạn bạn trong bất kỳ cách nào. – Derek
Tôi đã nói nó loại bỏ kiến trúc cho nó, chứ không phải khả năng sử dụng nó. Tôi cũng không bao giờ nói nó giới hạn bạn (trên thực tế tôi đã nói nó cung cấp sự kiểm soát chính xác hơn). Quan điểm của tôi là Rails _provides_ (và phần nào bắt buộc) một kiến trúc MVC vững chắc trong khi Sinatra thì không. –
Không có lý do gì mà không thể sử dụng để xây dựng trang web doanh nghiệp. Nó nhanh và trực quan. Hai điều quan trọng trong việc xây dựng một ứng dụng web lớn hơn. Trong khi nó thiếu nhiều tính năng của Rails, tôi vẫn chưa chạy vào một khối đường.
Cá nhân tôi thích bản chất mỏng của Sinatra. Nó bao gồm định tuyến thay vì làm cho nó đau đầu.
Tôi thường thấy mình đang vật lộn với Rails, trong khi tôi định cấu hình Sinatra theo ý thích của mình.
Đối với tương tác cơ sở dữ liệu, mongo_mapper + Sinatra hoạt động rất tốt.
- 1. Giới hạn Nak là gì?
- 2. Phiên mặc định hết hạn trong Sinatra là gì?
- 3. SQLite: giới hạn thực tế là gì?
- 4. Các giới hạn kỹ thuật của phoneGap/Cordova là gì?
- 5. Giới hạn không gian của Lucene Index là gì?
- 6. Giới hạn của WiX và WiX Toolset là gì?
- 7. Bộ nhớ trong của Android - giới hạn là gì?
- 8. Giới hạn kích thước của yêu cầu đăng là gì?
- 9. Các giới hạn của suy luận kiểu là gì?
- 10. Giới hạn email trên Google Apps Script là gì?
- 11. localStorage Giới hạn kích thước ... Các tùy chọn là gì?
- 12. Giới hạn tối ưu hóa sử dụng SIMD là gì?
- 13. BigInteger không có giới hạn nghĩa là gì?
- 14. Tối ưu hóa yêu cầu HTTP: Giới hạn là gì?
- 15. Giới hạn sử dụng API Google Drive là gì?
- 16. Các giới hạn của các chức năng đa curl của PHP là gì?
- 17. chỉ đặt giới hạn dưới của giới hạn cho ggplot
- 18. sinatra config.ru: khối cấu hình là gì?
- 19. Các giới hạn của MySQL
- 20. Giới hạn của API Wikipedia
- 21. là gì quá giới hạn hạn ngạch cho gọi Google Contacts v3 API
- 22. giới hạn random.shuffle Python của
- 23. Các giới hạn của hệ thống kiểm tra loại và loại là gì?
- 24. Giới hạn lịch sự đối với API của Google là gì?
- 25. Giới hạn của lý luận trong số học định lượng trong SMT là gì?
- 26. Giới hạn bản ghi của câu lệnh chèn mở rộng MySQL là gì?
- 27. Hộp giới hạn 2D của một ngành?
- 28. Giới hạn của NSView so với khung
- 29. Hạn chế tối đa của ModSecurity (lỗi giới hạn PCRE)
- 30. giới hạn của PhoneGap: Xây dựng
Tôi muốn nói không có giới hạn. ;-) – Derek