3
comments
comments
on 10/1/2015 6:09 AM
We are happy to announce the release of WebSharper.Suave, an adapter to run WebSharper applications on Suave.
With WebSharper.Suave, creating a Suave WebPart
from a WebSharper Sitelet
is as simple as a single function call.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
module Main open WebSharper open WebSharper.UI.Next.Html [<JavaScript>] module Client = open WebSharper.JavaScript open WebSharper.UI.Next.Client open WebSharper.Charting let RadarChart () = let labels = [| "Eating"; "Drinking"; "Sleeping"; "Designing"; "Coding"; "Cycling"; "Running" |] let data1 = [|28.0; 48.0; 40.0; 19.0; 96.0; 27.0; 100.0|] let data2 = [|65.0; 59.0; 90.0; 81.0; 56.0; 55.0; 40.0|] let ch = Chart.Combine [ Chart.Radar(Seq.zip labels data1) .WithFillColor(Color.Rgba(151, 187, 205, 0.2)) .WithStrokeColor(Color.Rgba(151, 187, 205, 1.)) .WithPointColor(Color.Rgba(151, 187, 205, 1.)) Chart.Radar(Seq.zip labels data2) .WithFillColor(Color.Rgba(220, 220, 220, 0.2)) .WithStrokeColor(Color.Rgba(220, 220, 220, 1.)) .WithPointColor(Color.Rgba(220, 220, 220, 1.)) ] Renderers.ChartJs.Render(ch, Size = Size(400, 400)) open WebSharper.Sitelets open WebSharper.UI.Next.Server let MySite = Application.SinglePage (fun ctx -> Content.Page( Body = [ h1 [text "Charting on Suave is easy with WebSharper!"] div [client <@ Client.RadarChart() @>] ]) ) open Suave.Web open WebSharper.Suave startWebServer defaultConfig (WebSharperAdapter.ToWebPart MySite)
This opens up awesome ways to combine Suave and WebSharper applications, and we are excited about the synergies this will bring to the F# web programming community.
Happy coding!
If you're interested, it would probably take minutes to convert this adapter to something that makes websharper runnable on DNX (Asp.NET v5).