Bất cứ ai có kinh nghiệm đánh giá BlazeDS và GraniteDS? Tôi tò mò về cái nào tốt hơn khi tích hợp với Spring/Hibernate.BlazeDS vs. GraniteDS
Trả lời
Nếu bạn chỉ tìm kiếm RPC và nhắn tin đơn giản, tôi sẽ đi với Blaze. Việc triển khai được trưởng thành hơn và được chứng minh tốt hơn, đặc biệt là đối với nhắn tin. Tin nhắn trong Granite dựa trên Comet và vẫn còn khá mới từ những gì tôi nhớ. Chi tiết bên dưới ...
Blaze DS về cơ bản là một ngăn xếp bao gồm RPC và một số dịch vụ nhắn tin đơn giản qua HTTP. Tích hợp với Spring đạt được một cách dễ dàng bằng cách sử dụng triển khai SpringFactory của FlexFactory: chỉ cần google tên lớp và bạn sẽ tìm thấy mã. Nó không cung cấp bất kỳ hỗ trợ bổ sung cho những thứ liên quan đến Hibernate.
Granite DS đang phát triển nhanh chóng về mặt tính năng. Nó cạnh tranh nhiều hơn với màn hình LCD hơn Blaze DS. Nó bao gồm khả năng phân tích các đồ thị đối tượng Hibernate và xử lý các proxy lười trong một thời trang sạch sẽ. Họ cũng có một công cụ gọi là "Tide" tạo ra một tương tự của một phiên trong máy khách Flex để đảm bảo tính duy nhất của các thực thể. Họ cũng có sự hỗ trợ rõ ràng cho các dịch vụ tiếp xúc qua Spring, EJB3 và Seam. Granite cũng có một tiện ích để tạo ra các lớp AS3 từ các lớp Java của bạn (mặc dù điều này không khó để viết cho chính mình nếu bạn muốn).
Tôi đã làm việc với Granite khoảng một năm trước và đã có một số vấn đề khiến nó phân tích cú pháp đồ thị đối tượng đúng cách; Trình phát Flash sẽ ném một số ngoại lệ cấp thấp khó chịu. Tôi đoán là các tài liệu và thực hiện đã trưởng thành kể từ khi đó không còn là vấn đề nữa. Tuy nhiên, tôi vẫn còn hơi do dự khi giới thiệu nó vì tôi gặp vấn đề và chuyển sang Blaze ngay lập tức giải quyết chúng mà không gặp rắc rối gì cả.
Một vài lưu ý phía trên ý kiến của Cliff:
- GraniteDS đã được tạo ra vào cuối năm 2006, khoảng một năm trước khi BlazeDS. Nó được sử dụng rộng rãi trong các môi trường sản xuất đòi hỏi và có thể được coi là trưởng thành và được chứng minh hơn BlazeDS.
- Nhắn tin GraniteDS đã được giới thiệu trong bản phát hành 1.0 (cuối năm 2007, vài tuần sau khi phát hành BlazeDS đầu tiên), nó bây giờ rất trưởng thành và được chứng minh cũng như trong các môi trường sản xuất đòi hỏi.
- Ngoại lệ trình phát Flash gặp phải do Cliff thường gặp phải do không biên dịch tất cả các lớp AS3 được tạo trong SWF. Nó chỉ là vấn đề của việc sử dụng tùy chọn trình biên dịch Flex buộc đưa vào các lớp bị thiếu này, là một phần của mô hình biểu đồ dữ liệu và được yêu cầu vào thời gian deserialization nhưng không được sử dụng một cách rõ ràng trong mã MXML/AS3.
- Hầu hết các GraniteDS người dùng đến từ BlazeDS/LCDS vì hai khuôn khổ những không được xử lý một cách chính xác với các mô hình dữ liệu phức tạp (không có hoặc bị lỗi hỗ trợ lười biếng nạp, cô lập giao dịch xấu vv)
Vì vậy, IMHO, trừ khi bạn đang phát triển một ứng dụng nhỏ với một mô hình dữ liệu khá tầm thường, bạn nên đến GraniteDS.