2017-04-04 79 views

回答

2

基本上,主要區別在於你提到的一個區別:通過動態代碼生成,.proto文件在運行時加載並解析,並且在生成靜態代碼時,.proto文件被預處理爲JavaScript。

動態代碼生成使用起來更簡單,可能更容易調試,並生成接受常規JavaScript對象的代碼。

靜態代碼生成(使用protoc)需要用戶創建protobuf對象,這意味着輸入驗證將在早期完成。這也是一個與其他語言更一致的工作流程。

+1

好吧,讓它看起來像動態代碼生成將永遠是要走的路,對吧?我的意思是,爲什麼要經過這麼多麻煩,如果你可以將'.proto'文件放在grpc庫中並完成它呢? 我還注意到,當使用靜態代碼時,你必須使用生成的getter和setter,這使得它使用起來更加麻煩,所以我明白爲什麼動態代碼會更容易。 – Sander

相關問題