From cd6e103c2c201459b0c649946da7a31e9da8595b Mon Sep 17 00:00:00 2001 From: Edgar Gonzalez Date: Tue, 8 Oct 2024 16:14:03 +0100 Subject: [PATCH] Working with Akkling session --- src/content/sessions/2024-10-18.md | 67 ++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/content/sessions/2024-10-18.md diff --git a/src/content/sessions/2024-10-18.md b/src/content/sessions/2024-10-18.md new file mode 100644 index 0000000..89a61d5 --- /dev/null +++ b/src/content/sessions/2024-10-18.md @@ -0,0 +1,67 @@ +--- +title: "Working with Akkling (F# API for Akka.NET)" +preview: "F# API for Akka.NET" +isDraft: true +date: 2024-10-18T15:00:00.000Z +slug: "2024/10/18" +champion: "Vagif Abilov" +zoomLink: "https://us06web.zoom.us/j/83103283643?pwd=WWl5AEbthJaPw02ao4R0bq0zdkwTOm.1" +zoomPasscode: "aka" +issueLink: "" +company: "Miles AS" +youtubeId: "" +--- + +# Topic + +Working with Akkling (F# API for Akka.NET) + +In this session we will explore Akkling, an F# API for Akka.NET. Akka.NET is a port of the Akka actor model framework from the JVM to .NET. Akkling is a library that provides a more idiomatic F# API for Akka.NET. + +Vagif will introduce Akka.NET and Akkling, and demonstrate how to use Akkling to build a simple actor system in F#. + +### Workshop plan + +- Scaffolding a project with SAFE template +- Serving the content of a file from a Saturn Web service +- Retrieving file content using HTTP requests in a Fable app +- Implementing playback of individual lines of a file +- Replacing direct calls to Fable.React with Feliz +- Adding Bulma CSS and FontAwesome to a Fable app (using CSS F# type provider) +- From file lines player to events player (parsing text lines with Thoth.Json decoder) +- Implementing event subscriptions using Web sockets (and Elmish.Bridge) +- Adding live tiles (presentation of state changes) +- Using Redux DevTools with Fable applications + +More details can be found at [Real-time event visualization using F# and Fable](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#workshop-plan). + +### Prerequisites + +- Visual Studio Code (running on Windows, Linux or macOS) +- Ionide F# plugin (Ionide-fsharp) by Ionide +- Basic understanding of F# +- .NET Core version 8.0 or later +- npm JavaScript package manager + +More details can be found at [Prerequisites](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#prerequisites) + +### Recommended tools and resources + +1. The [Elmish Book](https://zaid-ajaj.github.io/the-elmish-book) +2. An Introduction to [Elm](https://guide.elm-lang.org/), it helps to understand of Elmish and MVU architecture +3. REST Client [plugin](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) by Huachao Mao to be able to execute HTTP request right from Visual Studio Code +4. Chrome browser +5. Redux DevTools Chrome extension (remember to enable it) + +More details can be found at [Recommended tools and resources](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#recommended-tools-and-resources) + +## Champions + +- [Vagif Abilov](https://github.com/object) + +### Resources + +- [Real-time event visualization using F# and Fable](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#real-time-event-visualization-using-f-and-fable) +- [Prerequisites](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#prerequisites) +- [Recommended tools and resources](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#recommended-tools-and-resources) +- [Elmish Book](https://zaid-ajaj.github.io/the-elmish-book)