|
| 1 | +--- |
| 2 | +title: "Working with Akkling (F# API for Akka.NET)" |
| 3 | +preview: "F# API for Akka.NET" |
| 4 | +isDraft: true |
| 5 | +date: 2024-10-18T15:00:00.000Z |
| 6 | +slug: "2024/10/18" |
| 7 | +champion: "Vagif Abilov" |
| 8 | +zoomLink: "https://us06web.zoom.us/j/83103283643?pwd=WWl5AEbthJaPw02ao4R0bq0zdkwTOm.1" |
| 9 | +zoomPasscode: "aka" |
| 10 | +issueLink: "" |
| 11 | +company: "Miles AS" |
| 12 | +youtubeId: "" |
| 13 | +--- |
| 14 | + |
| 15 | +# Topic |
| 16 | + |
| 17 | +Working with Akkling (F# API for Akka.NET) |
| 18 | + |
| 19 | +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. |
| 20 | + |
| 21 | +Vagif will introduce Akka.NET and Akkling, and demonstrate how to use Akkling to build a simple actor system in F#. |
| 22 | + |
| 23 | +### Workshop plan |
| 24 | + |
| 25 | +- Scaffolding a project with SAFE template |
| 26 | +- Serving the content of a file from a Saturn Web service |
| 27 | +- Retrieving file content using HTTP requests in a Fable app |
| 28 | +- Implementing playback of individual lines of a file |
| 29 | +- Replacing direct calls to Fable.React with Feliz |
| 30 | +- Adding Bulma CSS and FontAwesome to a Fable app (using CSS F# type provider) |
| 31 | +- From file lines player to events player (parsing text lines with Thoth.Json decoder) |
| 32 | +- Implementing event subscriptions using Web sockets (and Elmish.Bridge) |
| 33 | +- Adding live tiles (presentation of state changes) |
| 34 | +- Using Redux DevTools with Fable applications |
| 35 | + |
| 36 | +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). |
| 37 | + |
| 38 | +### Prerequisites |
| 39 | + |
| 40 | +- Visual Studio Code (running on Windows, Linux or macOS) |
| 41 | +- Ionide F# plugin (Ionide-fsharp) by Ionide |
| 42 | +- Basic understanding of F# |
| 43 | +- .NET Core version 8.0 or later |
| 44 | +- npm JavaScript package manager |
| 45 | + |
| 46 | +More details can be found at [Prerequisites](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#prerequisites) |
| 47 | + |
| 48 | +### Recommended tools and resources |
| 49 | + |
| 50 | +1. The [Elmish Book](https://zaid-ajaj.github.io/the-elmish-book) |
| 51 | +2. An Introduction to [Elm](https://guide.elm-lang.org/), it helps to understand of Elmish and MVU architecture |
| 52 | +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 |
| 53 | +4. Chrome browser |
| 54 | +5. Redux DevTools Chrome extension (remember to enable it) |
| 55 | + |
| 56 | +More details can be found at [Recommended tools and resources](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#recommended-tools-and-resources) |
| 57 | + |
| 58 | +## Champions |
| 59 | + |
| 60 | +- [Vagif Abilov](https://github.com/object) |
| 61 | + |
| 62 | +### Resources |
| 63 | + |
| 64 | +- [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) |
| 65 | +- [Prerequisites](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#prerequisites) |
| 66 | +- [Recommended tools and resources](https://github.com/object/FableWorkshop.2024/blob/main/FableWorkshop.md#recommended-tools-and-resources) |
| 67 | +- [Elmish Book](https://zaid-ajaj.github.io/the-elmish-book) |
0 commit comments