WebSharper: What's New (June 2014)

Anton Tayanovskyy

Anton Tayanovskyy

Jun 05, 2014

Reading time:

2 mins

Share via:

Mono, Mac and Linux

Since February, we worked on supporting WebSharper development, and not just deployment, on Mono, Mac and Linux. Most of the code works fine, but unfortunately Mono support for MSBuild with XBuild leaves much to be desired, and Xamarin team is in no hurry to fix or respond to this - see https://bugzilla.xamarin.com/show_bug.cgi?id=18761 and https://bugzilla.xamarin.com/show_bug.cgi?id=15325 - as they do not see XBuild/MSBuild compatibility as a priority.

Fortunately, we were able to find workarounds to avoid buggy XBuild features, by moving most build logic to F# code invoked via XBuild/MSBuild plugins. There is now some preliminary support for building on Mono and using MonoDevelop or Xamarin Studio 4.2, with 5.0 support and project turnaround between all IDEs (Visual Studio, XS/MD, CloudSharper) coming soon.

Numerics

We are working with Microsoft Research to improve WebSharper performance on numeric code for applications such as numeric biology. As part of this work, we created an experimental compiler from an F# subset to ASM.js. So far, the prototype failed to provide speedups on current benchmarks, but came quite close. As the experiments continue, we are considering more approaches, such as integrating loop-invariant code motion into the optimizer, or perhaps even taking advantage of LLVM IR and existing passes written for it.

Visualization and Extensions

  • Andras Janko has done interesting work lowering the barrier to using Sencha Architect UI design tool from WebSharper with Type Providers.

  • D3.js1 binding received an update and multiple improvements. There are also now a few more samples2 of using this wonderful library with WebSharper.

  • Leaflet.js3 now also has a WebSharper binding.

Single-Page Applications and Reactive DOM

There are some lively discussions on better SPA support with the IntelliFactory team - Andras Janko, Loic Denuziere and Simon Fowler who is joining us for a summer internship. We are evaluating Facebook React, Angular JS, and D3.js and looking how we can do better in a typed language, in particular how to better integrate dataflow and data binding. If the prototypes work out, WebSharper is likely to obtain a new powerful front-end combinator library by the end of this summer.


  1. This link has been updated to point to new location.

  2. This link has been updated to point to new location.

  3. This link has been updated to point to new location.

Read more from

Can’t find what you were looking for? Drop us a line.

Anton Tayanovskyy
Found a typo?

This blog post is hosted on GitHub here. Feel free to file a ticket or send a PR.

Newsletter

We will not spam you or give your details to anyone.