Tôi đang viết phần mềm cho thiết bị phần cứng mới mà tôi muốn bất kỳ loại ứng dụng nào của bên thứ ba mới có thể truy cập nếu họ muốn.Tôi có nên sử dụng CORBA, MessagePack RPC hoặc Tiết kiệm, hoặc cái gì khác hoàn toàn không?
Phần mềm sẽ là một quá trình gốc (C++) nên được các trò chơi và ứng dụng của bên thứ 3 có thể hỗ trợ thiết bị phần cứng. Các ứng dụng của bên thứ 3 cũng sẽ có thể nhận các sự kiện từ quá trình gốc, trên cơ sở đăng ký. Vì vậy, ngoài quy trình gốc, tôi cũng sẽ cung cấp thư viện "trình kết nối" cho nhà phát triển bên thứ 3, cho tất cả nền tảng/ngôn ngữ mà họ có thể chọn (Java, C++, Python, v.v.) để nhúng vào ứng dụng của họ để họ có thể dễ dàng kết nối cho thiết bị với hầu như không có bất kỳ mã bổ sung cần phải được viết bởi chúng. Tôi muốn nhắm mục tiêu tất cả các nền tảng hệ điều hành máy tính để bàn/máy tính xách tay và có ý tưởng tốt về những chức năng tôi muốn hiển thị, nhưng lý tưởng là tôi không muốn quá khó khăn (nghĩa là tôi muốn nó có thể mở rộng thanh lịch từ cả máy khách và máy chủ) quan điểm).
Tôi đang tìm kiếm độ tin cậy về sau, hiệu suất, tính bảo trì trong tương lai và tính linh hoạt đa nền tảng/ngôn ngữ trong tương lai, và dễ phát triển theo thứ tự đó.
Tôi nên sử dụng thông tin gì?
CORBA, MessagePack-RPC, Tiết kiệm hoặc hoàn toàn khác?
(Tôi đã bỏ qua ICE vì đó là cấp phép)
CORBA là * cổ *. Nó cũng nặng và lỗi thời. Có gần như chắc chắn là một giải pháp tốt hơn. – skaffman
skaffman, tính từ cổ xưa, nặng ký và lỗi thời không làm tôi thất vọng chút nào. Số lượng bộ nhớ trên mỗi ORB chỉ là một vài megabyte, có thể là xấu cho nhúng, nhưng hoàn toàn tốt cho máy tính để bàn, và hiệu suất là nhanh. Tôi lo ngại về tốc độ hiệu suất, tính linh hoạt đa nền tảng, dễ phát triển, bảo trì và độ tin cậy trong tương lai. Miễn là nó là tốt nhất trong các phòng ban tổng thể, nó không quan trọng bất cứ ai khác "nghĩ" về nó, cũng không phải là "mốt nhất thời", nó sẽ giành chiến thắng. Tôi tự hỏi nếu đó là điều tốt nhất cho những gì tôi đang làm. – Navigateur
Chúng tôi chỉ đơn giản là không thể trả lời một câu hỏi mở này mà không biết yêu cầu của bạn, phần mềm của bạn là gì, đối tượng mục tiêu, đường dẫn nâng cấp, nền tảng nó sẽ chạy trên, v.v. –