KyleMcMaster / FSharpLunchNLearn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FSharpLunchNLearn

Introduction

  • F# is a functional programming language that can be used to create .NET applications

Goals / Motivation

  • Learn F# by building a web app from scratch
  • Interested more on the App Dev side of F# and less on Domain Modeling / Functional Programming in F# (lots of resources for this)
  • F# Web Dev

Why F#?

  • Looking to learn a new language while still building my understanding of DDD and .NET
  • Can utilize the .NET ecosystem which I already am familiar with
  • Functional Programming is a different way of thinking about problems. Learn different set of best practices and patterns
  • A lot of the concepts in F# are being ported to C# (Pattern Matching, Records, etc) so deepen C# understanding as well
  • Definitely not learning VB.NET ๐Ÿ’€
  • Have fun! ๐ŸŽ‰

Commentary on Socials and Community

  • Small but active
  • Niche enthusiast subject or passion project for most
  • F# has a steep learning curve which is representative of the community in my experience, few intermediate F# resources compared to advanced resources

Who I follow

Tooling

Time to look at some code!

Domain Modeling Made Functional

Open in VS, look at the code, run the tests

Falco

1 - Initialize new F# Web App using ASP.NET Core

Create this to show a resemblance to minimal APIs

dotnet new web -lang F# -o FSharpWebApp

2 - Add Falco dependencies and dive in!

  • Program entry point
  • Simple Index Page
  • Setup Entity Framework and seed Sqlite DB
  • More complex Contributors Page with create endpoint

Future takeaways and next steps

  • Type Unions with Entity Framework
  • Donald
  • F# with bare metal ASP.NET Core
  • F# with Azure Functions ๐Ÿ‘€

Resources

About

License:MIT License


Languages

Language:F# 100.0%