Ban đầu tôi dự định sử dụng Juggernaut, tuy nhiên, nó không tương thích với Rails 3. Và Juggernaut 2 mới dường như hoàn toàn độc lập với Rails, đó không phải là những gì tôi muốn. Sau đó, tôi tìm thấy chuột rút, có vẻ khá gọn gàng, nhưng vẫn đang được phát triển. Vì vậy, tôi chỉ tự hỏi nên sử dụng framework nào? Hoặc là có một tốt hơn? Cảm ơn!Tôi muốn xây dựng một phòng chat bằng cách sử dụng Rails, tôi có nên sử dụng juggernaut 2 hoặc cramp không?
Trả lời
Tôi đã xem xét các tùy chọn cho công cụ này khá rộng rãi và trò chuyện trong thời gian thực là một chút so với hạt Rails. Nếu bạn thực sự muốn ở bên trong Rails, thì Cramp có lẽ là lựa chọn tốt nhất. Tôi khuyên bạn nên xem bài viết này trên Websockets and Rails: http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/
Sử dụng EventMachine để xử lý giao tiếp nghĩa là bạn vẫn ở ngoài Rails, bạn ít nhất là trong Ruby và có thể chia sẻ mô hình và thư viện.
Tôi có một Async Rails xây dựng trên GitHub: https://github.com/tobyhede/AsyncRails
Đó là chủ yếu dựa vào: https://github.com/igrigorik/async-rails
Bạn nói đúng rằng Juggernaut mới là de-coupled từ Rails, nhưng điều đó không' t có nghĩa là bạn không thể sử dụng hai với nhau. Juggernaut đi kèm với một thư viện Ruby. Sử dụng Juggernaut giải quyết vấn đề kết nối lâu dài mà Toby đang nói đến.
Bất kỳ câu hỏi nào về Juggernaut, hãy ping cho tôi một dòng (Tôi là người sáng tạo).
Vâng - bạn cũng có thể thử Socky: https://github.com/socky/socky-server-ruby
Đó là ruby-based, và sử dụng WebSocket như cơ sở với dự phòng flash để hỗ trợ hầu hết các thiết bị. Ngoài ra nó hoàn toàn dựa trên ruby vì vậy hãy thử nếu bạn muốn :)
- 1. Tôi muốn sử dụng NumPy/SciPy. Tôi có nên sử dụng Python 2 hoặc 3 không?
- 2. Tôi có nhiệm vụ Rails: tôi có nên sử dụng tập lệnh/runner hoặc cào không?
- 3. Tôi có nên sử dụng em hoặc px không?
- 4. Tôi có nên sử dụng bí danh hoặc alias_method không?
- 5. Tôi có nên sử dụng eval() hoặc call_user_func() không?
- 6. Numpy: Tôi có nên sử dụng newaxis hoặc Không?
- 7. Chúng tôi có thể xây dựng một trang web bằng cách sử dụng MSBuild
- 8. Tôi có nên sử dụng một LINQ DataContext hoặc nhiều?
- 9. Tôi có nên thoát khỏi giá trị số nguyên mong muốn bằng cách sử dụng mysql_real_escape_string hoặc tôi có thể sử dụng (int) $ expectedinteger
- 10. Tôi có nên sử dụng AppDomain.CurrentDomain.BaseDirectory hoặc System.Environment.CurrentDirectory không?
- 11. Tôi có nên sử dụng int hoặc UInt16 không?
- 12. tôi có nên sử dụng urandom hoặc openssl_random_pseudo_bytes không?
- 13. Tôi có nên sử dụng byte hoặc int không?
- 14. Tôi nên sử dụng IEnumerable hoặc IList?
- 15. Tôi có nên sử dụng đôi hoặc nổi không?
- 16. Tôi có nên sử dụng Phobos hoặc Tango không?
- 17. Tôi có nên sử dụng HttpRuntime.Cache không?
- 18. Tôi có nên sử dụng thừa kế hoặc sáng tác không?
- 19. Tôi có nên sử dụng ProGuard không?
- 20. Hướng dẫn cho Python - Tôi có nên sử dụng phiên bản 2.x hoặc 3.0 không?
- 21. Tôi có nên sử dụng jQuery.each() không?
- 22. Tôi có nên sử dụng SHA-1 hoặc SHA-2 với Điểm cuối SSL Heroku không?
- 23. Tôi có nên sử dụng `import os.path` hoặc` import os`?
- 24. Tôi có nên sử dụng DataInputStream hoặc BufferedInputStream
- 25. Giới thiệu Rails vào một cửa hàng PHP? Hoặc xây dựng những gì chúng tôi đã sử dụng?
- 26. Một destructor - tôi nên sử dụng xóa hoặc xóa []?
- 27. Tôi có nên sử dụng Rails hoặc Ruby cho ứng dụng trang web này không? Làm sao?
- 28. WEBrick: RequestURITooLớn: tôi có nên cập nhật hoặc sử dụng một máy chủ khác không?
- 29. Tôi có nên sử dụng một khung công tác không?
- 30. Tôi có nên sử dụng @EJB hoặc @Inject
Tôi vừa thêm hỗ trợ thời gian thực cho một ứng dụng sử dụng Juggernaut và đã rất ấn tượng. – lebreeze
+1 cho người sáng tạo đang hoạt động – austinbv