gnh1201 / welsonjs

WelsonJS - Build a Windows app on the Windows built-in JavaScript engine
https://catswords.social/@catswords_oss
GNU General Public License v3.0
143 stars 12 forks source link

[Native/Service] Migrate GRPC service to .NET #132

Open gnh1201 opened 3 weeks ago

gnh1201 commented 3 weeks ago

Summary

For the proof of concept (#71) supporting GRPC, Python was used, but we need to migrate the GRPC service to C# .NET to remove the Python dependency.

This will bring the benefit of making the module more lightweight.

gnh1201 commented 2 weeks ago

Self-Feedback Summary:

  1. Current gRPC Design Evaluation: The current gRPC design is noted to be lacking compared to the original design intended during the competition.

  2. Reevaluation Before .NET Migration: Emphasis on the need to review the overall design before migrating to .NET.

  3. Reconsideration of RPC Functionality: Questions are raised about whether the RPC (Remote Procedure Call) functionality has been overlooked in favor of focusing on the message receiver role.

  4. Review of Existing proto File: Suggestion to review the existing proto file used previously.

Improvement Suggestions:

  1. Functionality Analysis and Requirement Gathering: Analyze why the gRPC design is falling short of its initial intent, and redefine the core requirements.

  2. Design Optimization for .NET Migration: Develop an optimized design that aligns with the architecture and technology stack of the post-migration environment.

  3. Adherence to RPC Principles: Reconsider how to fully implement the RPC (Remote Procedure Call) functionality rather than focusing solely on the message receiver role.

  4. Review of proto File: Re-examine the WelsonAppLoader.proto file to ensure it aligns with the intended design, and make any necessary modifications. This step will help ensure that the gRPC design is appropriate and that the migration to .NET can proceed smoothly.