petabridge / akka-bootcamp

Self-paced training course to learn Akka.NET fundamentals from scratch
http://learnakka.net/
Apache License 2.0
1.04k stars 1.57k forks source link

Port to net5 #306

Closed vilinski closed 4 years ago

vilinski commented 4 years ago

Ported all lessons to net5 framework, which should be a future of .NET, proposally released at November 2020.

Note that System.Windows.Forms.DataVisualization used in Unit-2 is deprecated, gets no updates anymore, but still usable. The last available version (2020-06), compatible with .NET Core, is 1.0.0-prerelease.20110.1

CLAassistant commented 4 years ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

:white_check_mark: vilinski
:x: Andreas Vilinski


Andreas Vilinski seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

vilinski commented 4 years ago

I have some of commits with no author settings in git, So I cannot sign your CLA twice. Should I care?

Aaronontheweb commented 4 years ago

@vilinski nope, so long as you're fine with us merging in this PR.

This is amazing - I'm going to have a member of our team look at it briefly since we were planning on updating everything this summer to run on .NET Core, but this is a fantastic jump ahead to the latest and greatest.

snekbaev commented 4 years ago

@Aaronontheweb just to confirm: no plans on dropping full .net framework support just yet, right? :)

Aaronontheweb commented 4 years ago

For Akka.NET? Definitely not - we have thousands of users who would love to move off of .NET Framework, but can't just yet because those software systems are doing critical things like running live banking / healthcare / transit infrastructure and migrating requires a very large amount of risk management. We're committed to supporting those users.

For Akka.NET bootcamp - I don't think it matters as much here since this is meant to be a set of learning exercises. Do you agree?

snekbaev commented 4 years ago

@Aaronontheweb that's basically what I thought, but life has taught me that it's always good to confirm. Thank you! :)

Aaronontheweb commented 4 years ago

Always good to ask and I'm happy to answer :)

Aaronontheweb commented 4 years ago

Going to go through and review this next week - very excited to check it out.

vilinski commented 4 years ago

glad you like it! )) Main purpose was to introduce an actor system to my collegues, because our development is .NET Core only. Surely I'm fine with any merges or anything you think is right

Actually there was not much work, what you evtl. expect, and was as easy as

Despite net5 it is still windows-only because of not completely cross plattform windows forms.

sambeckingham commented 4 years ago

Unit-2, Lesson 1 is not right. The state of the project in DoThis is different.

  1. The HOCON string is now in a property in Program.cs
  2. There is no app.config
  3. The application no longer throws an exception in its default state

I feel this is important, the exception was meant for demonstrative and educational purposes. I'm running through this lesson as someone new to Akka.NET now and I have no idea if Akka or .NET 5 has fixed its threading in such a way that the issues discussed in Lesson 1 no longer apply.

Could we possibly reintroduce the broken functionality or if it's no longer possible, can we update the context of the lesson to describe dispatchers with the new behaviour taken into consideration?

(Unit 1 is absolutely fine, as an aside 👍 )

EDIT: Okay so I just tried it in the master branch (Framework 4.5) and it doesn't throw an exception either. So, did something change in Akka in the 5 years since this was written? This seems like a pretty large change functionally and the lesson should probably be updated to take this into consideration. I'm going to open an issue about it, but there's no reason it should hold back this PR since the problem is in both branches)

vilinski commented 4 years ago

Hi, @sambeckingham, thanks for looking at this.

vilinski commented 4 years ago

Great news! Thanks to @Arkatufus the work is done in #315.

Aaronontheweb commented 3 years ago

thank YOU @vilinski - couldn't have done it without your help. We opted to do .NET Core 3.1 since it's stable, but we will happily port this to .NET 5 when it RTMs later this month hopefully.