F#での実際のプロジェクトの例

マイクロソフトのエコシステムでは、実験的な言語の代わりにF#が使用され、成功した概念はその後C#に引き継がれます。同時に、コミュニティのおかげで、ひき肉は応用プロジェクトの真の代替手段になりました。カットの下で、完全にF#で記述されたプロジェクトのバックエンド、フロントエンド、テスト、アセンブリ、およびインフラストラクチャの要素が説明されます。ソースコードが添付されています。









コンテナ図
コンテナ図





安全

, , SAFe Stack. SAFe dotnet CLI, SPA . .





SAF . . , , , SAFe. 





- ‘S’ - Saturn - Giraffe, , , Asp.net. 





- ‘A’ - Azure. - SAFe, , , , Farmer, , SAFe.





- ‘F’ - Fable - F# JavaScript - .





API Fable.Remoting. Fable.Remoting -. , , ( ). API , ( , , , ) . JSON, .





, , Fable.Remoting, Saturn - Giraffe - Asp.Net. , , Giraffe.





OpenAPI, GiraffeGenerator.





, NoSql DynamoDB. DynamoDb.Ok. Reader. , , . . , , .





C F# . F# Entity Framework Dapper.





: 1, 2 3. , Flexible Types, .





Serilog, Giraffe.





JWT.





AWS AWSSDK, HTTP, SDK .





F# - Fable,  JS. JS. (binding) , .. React .





Elmish - Elm-. Fable.React Bulma.





.





let quizView (dispatch : Msg -> unit) (settings:Settings) (quiz:QuizRecord) l10n = [
   br []
   figure [ Class "image is-128x128"; Style [Display DisplayOptions.InlineBlock] ] [ img [ Src <| Infra.urlForMediaImgSafe settings.MediaHost quiz.ImgKey ] ]
   br []
   h3 [Class "title is-3"] [str quiz.Name]
 
   div [Class "notification is-white"][
       p [Class "subtitle is-5"][
           match quiz.StartTime with
           | Some dt -> str (dt.ToString("yyyy-MM-dd HH:mm"))
           | None -> str "???"
 
           if quiz.Status = Live then
               str " "
               span [Class "tag is-danger is-light"][str "live"]
           br[]
       ]
 
       p [] (splitByLines quiz.Description)
 
       if quiz.EventPage <> "" then
           a[Href quiz.EventPage][str l10n.Details]
    ]
]
      
      







- The Elmish Book.





, , Elmish + Fable.React + Boolma . 2021 , , Feliz + Fable.React.WebComponent + Material UI - Fable.Svetle. .





Aws, AppSync, Aws Amplify.





. ( JMeter ). 





. , F#. . , . FsUnit expecto. , , , , .





, :





  • FsCheck -





  • Canopy - DSL UI





  • NBomber -





Paket. Fake. SAFe. , - , , . , .





AWS Cloud Development Kit. F# , , C#. 





. SAFe . , -.





. , , C#. VSCode Ionide. , , - - . , , , . Ionide Rider. , , .





Ionide, ILSpy, , .





, F# . , . FSI.





2021年初頭の時点で、F#は中小規模のアプリケーションプロジェクトに適しています。私にとって、この言語の利点は次のとおりです。





  • フロントエンド開発エコシステム、





  • 型システム、





  • コンパクトな構文。





これらの機能がC#に表示されるまで、他の条件は同じですが、私の選択はミンチを支持します。





プロジェクトのソースコード





この記事を最後まで読んだ人への励ましの写真。
この記事を最後まで読んだ人への励ましの写真。








All Articles