Lay of the land


Just found out about you guys after seeing you on the Xamarin show. Trying to understand how this whole ecosystem fits together. Can anybody explain the relationship between the .NET MicroFramework (the repo of which appears to be dead), Netduino.Foundation, nanoFramework, and TinyCLR? Are they related? Competing?

Also, what is Netduino’s relationship to the various CLRs out there (.NET Core, Mono, .NET Framework, DotNetAnywhere, etc)? Is there any plan for convergence, or will it always have its own completely separate version of the CLR?

Lots of questions, hopefully someone can help me out! Excited to get started in this community! Thanks! :slight_smile:

The .Net MicroFramework is what Netduino runs by default. Microsoft gave it to the community, but they no longer support it themselves. We’re currently at work getting .Net Standard running on microcontroller hardware via mono to provide a forward path for developers in the hardware space. In the meantime, we’re making Netduino development awesome. Netduino.Foundation is a framework built on the .Net MicroFramework for Netduino to make development about a gajillion times easier.

NanoFramework is an open source effort led by Jose Simoes to rebuild and rework the .Net MicroFramework. It seems awesome, and I think it kind of runs on Netduino right now (last I checked they didn’t have network support), unfortunately the API is completely different from the .Net MicroFramework, and it’s also still in alpha. TinyCLR is the name of the OS that runs .NET MicroFramework applications, but confusingly, is also what GHI is calling their closed source extensions for the .NET MicroFramework.

My recommendation would be to stick to the standard .Net MF stack for now, and use Netduino.Foundation to help you with peripherals. That’s probably the lowest-friction path. In the future, I suspect we’ll combine best of all worlds to continue to provide a great experience.

Thanks for the prompt response and info!

Good luck supporting .NET Standard (I assume 1.0) on a microcontroller. Sounds freakin’ hard! (unless you cheat and throw a PlatformNotSupported exception :stuck_out_tongue: )

Thanks! Have fun and let us know if you run into any problems! We’re tidying things up on the daily. :slight_smile: