Chào mọi người, em thấy thư viện sau có thể giúp Dart có thể gọi hàm viết từ Rust, và ngược lại. Thông qua phương pháp generator code:
Em tự hỏi điều đó là nhờ Dart và Rust có mối lương duyên đặc biệt nào đó hay là thực sự có những cách tổng quát nào đó giúp 2 ngôn ngữ lập trình bất kỳ có thể tương tác với nhau ?
Ngoài cách thức dễ hình dung là thông qua các giao thức truyền tin: http, gRPC, …
thì em chưa hiểu được các nguyên lý đằng sau các cơ chế như JNI, MethodChannel, Dart FFI, … hay như thư viện flutter_rust_bridge kể trên. Dường như chúng đều tuân theo việc truy cập cùng bộ nhớ, chuyển đổi kiểu dữ liệu cho phù hợp với công nghệ của mình, dùng 1 cái gì đó (em chưa rõ, có lẽ là api hệ thống) để công nghệ này có thể tìm tên hàm từ công nghệ kia và gọi nó.
Rất mong được các bác giải đáp, cho gợi ý, từ khóa và bỏ qua việc mô tả chưa rõ ràng do thiếu nhận thức về các khái niệm kỹ thuật kể trên.
Em cảm ơn ạ !