Có công cụ nào tồn tại để tạo định nghĩa giao diện tiết kiệm từ định nghĩa Protobuf không?Chuyển đổi định nghĩa Protobuf thành Tiết kiệm
Trả lời
Có vẻ câu trả lời là "chưa". Một vấn đề bạn sẽ phải đối mặt là tiết kiệm định nghĩa một hệ thống RPC đầy đủ với các dịch vụ và các cuộc gọi phương thức, trong khi protobuf thực sự tập trung vào các kiểu dữ liệu và các bit tuần tự hóa. Mô hình dữ liệu tiết kiệm hơn một chút so với protobuf (không có cấu trúc đệ quy, vv), nhưng đó không phải là một vấn đề trong hướng tiết kiệm -> protobuf.
Chắc chắn, bạn hoàn toàn có thể dễ dàng chuyển đổi tất cả các loại dữ liệu tiết kiệm sang định nghĩa protobuf, trong khi bỏ qua toàn bộ phần dịch vụ. Bạn thậm chí có thể thêm một cái gì đó như thế như một máy phát điện tích hợp trong trình biên dịch tiết kiệm nếu bạn muốn.
Tiết kiệm và Protobuf không thể hoán đổi cho nhau. Hãy xem Biggest differences of Thrift vs Protocol Buffers? để xem một số khác biệt chính. Chính xác thì bạn đang cố đạt được điều gì?
Tôi không nghĩ là có. Nếu bạn muốn viết mã cho điều đó, bạn có thể viết trình tạo ngôn ngữ để tạo ra các tệp .thrift cho bạn.
Bạn có thể viết công cụ bằng bất kỳ ngôn ngữ nào (tôi đã viết bằng C++ trong protobuf-j2me [1] và mã protobuf-csharp-port được điều chỉnh trong [2]).
Bạn có thể có protoc.exe gọi nó thích:
protoc.exe --plugin=protoc-gen-thrift.exe --thrift_out=. file.proto
Bạn cần phải đặt tên cho nó là protoc-gen-thrift.exe
để làm --thrift_out
tùy chọn có sẵn.