神刀安全网

Getting started with F#

Getting started with F#

tl;dr This post is a list of resources for learning F# and overview of my mini-project: Stock Estimator.

I couldn’t resist anymore, and I finally tried F#. For the first two days it was painful. Some elements of F# syntax are weird. However after getting use to that, F# became a joy, and instead of a week (as I planned) I spent with F# almost two months.

Getting Started

Deep Dive

There is also a book written by Jon Skeet and Tomas Petricek: Real World Functional Programming: With Examples in F# and C# .

Testing

Web Development

The most popular F# Web Framework is Suave . There is great SuaveMusicStore tutorial ( code ), which is inspired by ASP.NET MVC Music Store tutorial . If you want to build Web API with F#, check Building REST Api in Fsharp Using Suave .

It is also worth to check End-to-end Functional Web Development by Tomas Petricek where he showcases building web app with Suave.

For more, check Web Programming with F# Guide .

Stock Estimator

I created F# based app for predicting future stock prices ($1,000,000 idea!). The back-end is written in F#, and communicates with stock data API (Yahoo Finance) through F# type provider. There is also Suave Web API (microservice), and ASP.NET Core web app that communicates with it. Front-end is powered by Aurelia Framework , and D3 library . In other words: I built F# microservice, consumed it from non-F# app, and have reusable logic in separated project. All communication with microservice happens through the client (with Aurelia Framework). So, there is no usage of F# from C#, but…I also created simple Console app (with C#) that uses mentioned F# logic. There is also Windows Forms app for displaying estimates, written in F#, that also use reusable logic.

Entire source code is available on github . Check it out!

Summary

Programming in F# is pure joy! It’s a great language for working with data. Moreover, F# fits perfectly into today’s World of microservices. You don’t have to rewrite your already existing app, or create entire app with F#. You can just create one microservice with F#, and see how it works for you!

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Getting started with F#

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮