-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
67 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
|
||
Vajif 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) |