The framework itself handles all thread management, low-level networking, and the utility code and “plumbing” for you. You just focus on the logic and workflow of your application.
After releasing v0.8 last week, the core contributors met to lay out the roadmap to v1.0 and decide which features will be finalized for the release, and which will remain in beta.
The general focus for the release is a lot of polishing and testing, along with some feature improvements.
When Will 1.0 Come Out?
With some room for error built in, we expect to have 1.0 live in the next 1-2 months.
What’s in 1.0?
Scheduler API Rework
Supervisor Strategy Serialization
Roger is already well-underway on reworking how Supervisor strategies are serialized. This will help us ensure that remote hierarchies work as intended when using Akka.Remote and Akka.Cluster.
Specs & Added Stability
The test suite is already thorough, but Bartosz is leading the charge on adding more tests, general polishing, and digging through APIs just to make sure.
Documentation Rework and Cleanup
Andrew is working with a number of community members to rework the documentation, especially the onboarding process for new users to Akka.NET.
Two key goals of the rework are:
- Make it obvious that F# is a first-class citizen. Even though Akka.NET has fully supported F# from early in the project, some of the docs/examples are only in C# or don’t speak to F# developers enough.
- Provide clear guidelines and HOWTO for developers to add relevant documentation when they add features, so the docs don’t lag behind.
New Build Servers
Among his ongoing work on Akka.Cluster and Akka.Remote, Aaron will be setting up new TeamCity build servers. Petabridge is sponsoring these and they will be hosted on Azure. This will help us all know that releases are stable and also speed up integration testing in the development cycle.
Why are we getting new build servers?
- To add Mono build support, so we can run the full test suite on Mono.
- To build out multinode testing for Akka.Cluster and Akka.Remote
- In general, the AppVeyor servers are a little underpowered for the amount of concurrent work we’re doing, so we see a lot of timeouts and a generally slow process that we don’t see on local machines. This inconsistency has made it very difficult for us to do good regression testing on PRs since we couldn’t really trust the build server.
What’s Not Leaving Beta?
v1 will also include the following modules, but they will remain in beta:
- Akka.Persistence: Bartosz let us know that Akka.Persistence is fully ported. BUT, Akka.Persistence is still in early beta everywhere (including JVM Akka). So things may change, and it stays in beta.
- Akka.Cluster: this module is very well developed and is in “final polish” model as well as adding multi-node testing, which is a difficult project that Aaron continues to work on.
People are talking about Akka.NET, which is humbling, flattering, and thrilling. Here are some of the recent and upcoming talks or presentations about the framework.
- February 12: Realtime Decision Making w/ Actor System & Cassandra (slides only for now, video coming)
- March 7-8: Andrew & Aaron presenting 100- & 200- level Akka.NET trainings at SoCal Code Camp
- March 17: The Actor Model in F# and Akka.NET (online)
- April 13: The Actor Model in F# and Akka.NET (meetup)
All in all, this is a very exciting time for the community. The whole team is making wonderful contributions, and the community is about to get an even better framework and documentation to boot.
Please let us know which questions you have about releases, functionality, etc in the comments!If you liked this post, you can share it with your followers or follow us on Twitter!
Upcoming Petabridge Live Akka.NET Webinar Trainings
Get up to speed on the bleeding edge of large-scale .NET development with the Petabridge team. Each training is done remotely via webinar, lasts four hours, and will save you weeks of trial and error.
|Course||US/EU Dates||Asia / Australia Dates|
|Akka.NET Application Architecture and Design Patterns|
|Building Networked .NET Applications with Akka.Remote|
|.NET Distributed Systems Architecture and Design with Akka.Cluster|