WebSharper 4.1 is now available on NuGet, and as a vsix installer on the WebSharper website.
New and updated documentation: WebSharper 4.1 for C# and WebSharper 4.1 for F#.
See some new features live at Try WebSharper: in C# and in F#.
The release notes are also on GitHub.
ctx.ClientSide
can take any fixed F# quotation now and translates it to JavaScript.WebSharper.Sitelets.Router
type, fully composable and also working on the client-side. WebSharper.UI
adds helpers to use it for client-side routing. This allows generating safe links on the client for server-side endpoints, also on the server to states handled by the client.See the details of Sitelet and Router features in the C# and F# documentation.
WebSharper.UI.Next
has been renamed to WebSharper.UI
, affecting both package and namespace naming. For C# projects, an additional package reference for WebSharper.UI.CSharp
is needed, and .CSharp
has been removed from all namespace names, so now no extra using
s are needed to get the C#-oriented extension methods. A compatibility package WebSharper.UI.Next 4.1
still exists for immediate back-compatibility, switching to WebSharper.UI
is recommended for new features and fixes....Attr
family of functions have been renamed to match just the name of the tag, while the previous functions taking no Attr list have been removed. So previous div [text "Hello"]
becomes div [] [text "Hello"]
with WebSharper.UI
.x
and y
are both Var<int>
or View<int>
then V(x.V + x.Y)
is eqivalent to using View.Map2 (+)
. Also within F# text
or Attr.
functions and any C# HTML combinators, the logic for V(...)
is applied automatically, so no extra wrapping is needed..Vars
property, exposing all the variables that has been bound to inputs in the template. If you specify no binding, a Var
will be implicitly created for the input.IRef
type has been removed and Var
is now an abstract class.See the details of UI features in the C# and F# documentation.
<UseDownloadedResources>True</UseDownloadedResources>
in web.config
, now local script links are correct for any sub-page.WebSharper.Testing
to expose more equality test alternatives provided by QUnit
.inline
function). Now an overloaded method is resolved based on signature.WebSharper.Sitelets
namespace and assembly are now in WebSharper
namespace and in WebSharper.Core.dll
.Sitelet
's Router
field is now of type IRouter
, compatible in capabilities with the old Router
record. The new Router
type offers more combinators and is implementing IRouter
.Can’t find what you were looking for? Drop us a line.