Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Application Parts usability issues #4420
I think there are several areas where this new "Application Parts" concept can be improved.
First of all, why "application parts"? As someone new to the term, I see it as something very vague and unintuitive. What is an "application part" anyway? Is it just a location where grains are loaded, or does it serve some additional purpose? Why was there the need to confuse people with a new term, rather than just providing an API like
As a result of this, I find the following code (from here the Hello World sample) completely unreadable:
Looking at this, one wonders:
Well, let's check out the method documentation:
As it turns out, Application Parts documentation is buried deep within the Deployment section of the documentation.
If developers are encouraged to configure application parts, then I believe they should be referenced in all documentation which describes setting up a basic silo. That includes the Hello World sample documentation and Running the Application (although this needs to be cleaned up first as per #4416).
I'm not sure that we should encourage developers to configure these things unless they run into issues. Ideally, the default behavior is sufficient and only if users want to optimize startup times or write an extension library should they need to understand Application Parts.
We used the same name that ASP.NET used: https://docs.microsoft.com/en-us/aspnet/core/mvc/advanced/app-parts
The functionality covers grain classes, grain interfaces, and serializers.
Your criticisms are fair and your input is welcome.