I’m starting an ASP.NET Core project and I want to know if there are any downsides to developing in ASP.NET Core on MacOS vs Windows and if there are, what are they?
>Solution :
What is your target?
It is always a downside to not develop on the target. Sometimes it is neccessary (don’t want to develop on my iPhone), sometimes it’s just convenient. But your first line of testing is your own local machine and if that differs a lot from your final deployment target, you basically just invented another stage of testing. Maybe that is worth it, if the advantages of your development enviroment outweight the disadvantages of always testing once more than strictly neccessary.
But maybe you want your product to be multi platform. Then again it is an advantage to have different people work on different environments, so you can find mistakes early.
If you want the lastest pre-release technology, that might not be available on a Mac. That might be a drawback if you are a startup, or you might want to only rely on proven technology, maybe not even be on the latest released version, for stability. Then it doesn’t matter.
Do you use dependencies, other libraries? Do you know if they are available on Mac or as .NET Standard? Some might only be available for Windows, and if Windows is your deployment target, it would be a hard sell why you cannot use them.
All else being equal, you probably have an easier life if you pick the vendors default, in this case Windows. But who has ever developed something in a vacuum of all else being equal?
You need to make that decision in your context, something we cannot really know.