Blogs
The WebSharper blog
Notes on typed web programming, bindings and the WebSharper toolchain.
2025
- f#websharpermetaprogrammingscgfsadvent
- f#websharperuifsadvent
2024
- f#websharperparsinglexinglogofsadvent
- f#websharperuiandroidcapacitorvitefsadvent
- f#websharperuidatatablefsadvent
- f#websharperfullstacktemplatetailwindvitefsadvent
2023
Using the Validus library in WebSharper projects
f#websharperproxyfsadventA quick showcase of WebSharper proxying and Feliz.Engine by implementing a Feliz-like API for WebSharper.React.
f#websharperfelizproxyfsadvent
2022
- Full-stack F# with charting, reactive forms, and more under 300 LOC with WebSharper29 Dec 2022by Adam Graniczf#websharperfsadvent
- f#c#websharpercompilerfsadvent
- f#websharperuicanvasfsadvent
2021
- f#websharperuitemplatingcmsfsadvent
- f#websharperuiroutingfsadvent
- f#websharperuiformsreactivefsadvent
- f#wigwebsharper
- f#wigwebsharper
2020
- f#websharperuitemplatingreactivefsadvent
In my previous article about "F# metablogging: introducing BlogEngine for your static markdown-based F# blog", I briefly outlined a quick strategy to switch a WebSharper HTML project to a hosted, client-server app, and vice versa. In this article, I will walk through some suprises that came along the way and what I did to resolve them.
bloggingf#websharper
2019
- F# metablogging: introducing BlogEngine for your static markdown-based F# blog26 Dec 2019by Adam Granicz
In this article, I want to show you another way of keeping your SSG in F#: using WebSharper. Armed with the full power of a .NET web framework and its templating features (see the HTML templates section), this has numerous advantages, most importantly, among others, that you can embed dynamic features written in F# or C# to give you a truly impressive and dynamic blog, despite being statically generated.
f#websharperbloggingfsadvent WebSharper 4.5.8 has client-side support for FSharp.Core 4.6 functions and templates for VS2019
c#javascriptf#websharperWebSharper 4.5.9 has client-side support for F# anonymous records and build fixes.
c#javascriptf#websharper
2018
- From enterprise to next-generation web: celebrating 11 years with WebSharper10 Dec 2018by Adam Granicz
A brief outline of the historical circumstances around WebSharper (just some notes in no particular order) that **position it for a bright future outlook**, and a quick glimple of what we are working on with it to advance the current state of F# web programming.
f#websharperfsadvent Introducing dynamic templates for WebSharper.UI
uicsharpfsharpwebsharperThis minor release adds sitelet CORS support, drops jQuery from UI's dependencies and fixes a number of issues.
corscsharpfsharpjavascriptwebsharperThis includes a more idiomatic API for WebSharper.AspNetCore.
aspnetcoreuicsharpfsharpjavascriptwebsharperThe new release makes it easy to use React in F#
reactfsharpjavascriptwebsharperThis release simplifies the use of HTML functions in WebSharper UI.
csharpfsharpjavascriptwebsharperThis is a minor release for WebSharper and WebSharper.UI.
csharpfsharpjavascriptwebsharperThis release improves client-side parallel and asynchronous programming in F# and C#.
webworkerpromisecsharpfsharpjavascriptwebsharperWith this release, mono is not required during compile time anymore.
netcorecsharpfsharpjavascriptwebsharperLearn how to use WebSharper's JavaScriptExport feature to create standalone .js files from your .NET projects
c#f#websharperThis minor release brings bug fixes and a few features to WebSharper and UI.
uicsharpfsharpwebsharperThis is a minor release for WebSharper and WebSharper.UI.
uicsharpfsharpwebsharperIn this tutorial, you will learn about using WebSharper UI to implement a simple Model-View-Update (MVU) application pattern, similar to the Elm architecture. In subsequent tutorials, you will learn about enhancing this pattern to a full-scale application development architecture (The WebSharper Architecture) that has superior performance and sufficient flexibility to implement any type of web application.
mvuuielmf#websharperThis is a minor feature release of WebSharper.UI, out-of-band from WebSharper.
uicsharpfsharpwebsharper- First steps: Using HTML templates, accessing form values, and wiring events27 Mar 2018by Adam Granicz
Congratulations on taking the first step to learn WebSharper! We have carefully put together this hands-on tutorial with the aim to help you get started with WebSharper and on your way to learn functional, reactive web development, putting you on a fast track to unleash the real web developer in you. The skills you pick up with WebSharper will make you a better web developer, and the concepts you learn will remain valid and useful with other functional, reactive web frameworks and libraries as well.
templatinguif#websharper The main highlight of this release is in-document template binding, a client-side feature which treats the whole document as a template to be filled.
uitemplatingcsharpfsharpwebsharperToday we are releasing WebSharper.AspNetMvc 4.2.0, with a simplified API.
csharpaspnetmvcwebsharperWebSharper 4.1.6 has F# query on the client and net4x builds not depending on netstandard
c#javascriptf#websharperReactive code can be just as clear and readable as static code with this new WebSharper.UI feature!
uifsharpreactivewebsharperIt is finally here! Today we are releasing WebSharper 4.2.
aspnetcorecsharpfsharpwebsharperTutorial for instantiating a WebSharper site and configuring it to run on AWS Lambda
serverlessawsc#f#websharperThis is a bugfix release for both the stable and beta branches of WebSharper.
csharpfsharpwebsharperWebSharper 4.2-beta adds support for .NET Core and compiler configuration via json
c#javascriptf#websharperWebSharper 4.1.2 has enhancements for C# routing and bug fixes
c#javascriptf#websharperWebSharper 4.1.6 has enhancements for bundle projects and bug fixes
c#javascriptf#websharperThis is a small bugfix release
websharperI wrote a simple template application that you can use as a base to create your own OAuth-based app.
authenticationoauthwebsharperThis tutorial shows how to authenticate a WebSharper Client-Server Application with an OAuth2 service and query its API.
authenticationoauthwebsharperWebSharper 4.1.1 expands and fixes multiple client-server features
c#javascriptf#websharper
2017
Consider a very typical scenario: you have a web application that serves an SPA. The SPA itself has several "pages," each with its own client-side routed URLs (think of Gmail, for instance.) Then people copy some of these URLs from their "session" and send them to others, who in turn expect to find exactly what the sender saw. Except with most SPAs, the server-side knows nothing about the URLs generated on the client and usually throws you back to some initial SPA page. Implementing this properly requires you to share all or a subset of the URLs both on the server and on the client. With WebSharper, this is easy.
f#websharpertemplatinguiroutingfsadventWebSharper 4.1 introduces multiple new client-server features
c#javascriptf#websharperFull stack of `WebSharper.4.0-rc` packages are now available on NuGet.
c#javascriptf#websharperFixes and old and recent community requests are released
c#javascriptf#websharperCompiler and output optimizations, auto-versioning scripts
csharpfsharpjavascriptwebsharperWebSharper 4 beta now has F#4.1 and C#7 language support
c#javascriptf#websharperFixes for tail recursion optimizations, lighter representation of F# unions/records with no extra members
c#javascriptf#websharperWebSharper 4 beta-6 contains updates to DOM and JQuery bindings, erased union types, JS output optimizations and fixes
csharpfsharpjavascriptwebsharper
2016
One of the most fundamental design considerations any developer must deal with is handling change. In this article, we are primarily concerned with client-side state and changes to it. Change can be brought about by various external factors (user input such as mouse or keyboard events, server push messages, etc.) or by means internal to the application itself.
f#websharperuiui.nextreactivefsadventIntroducing new and improved WebSharper 4 beta features for RPCs: customizing both client and server side.
f#websharperremotingjavascriptfsadventWe started work on WebSharper 4 more than a year ago, open-sourced it in May and published first beta packages in August. It is a project with a big scope and still some features are planned before we would call it stable. This article is an introduction and also a status report.
c#javascriptf#websharperA while ago we rolled out a new UI for Try WebSharper, essentially changing it into a snappy single-page application (SPA). Among others, you can now switch between trying out various snippets and making your own without any noticable delay, no more annoying page refreshes. [more..]
trywebsharperf#websharperThis is a minor release with bug fixes and updates for dependent libraries.
suavefsharpjavascriptwebwebsharper
2015
Just over a year ago, last year in December we released WebSharper 3 on Apache, putting it into the hands of every F# web developer. One thing we learned from WebSharper 2 is that more frequent releases are better and this year kept the whole team busy with constant innovation and new releases. Below is a list I cherry-picked from the WebSharper blog.. [more]
f#websharpersourcemapssiteletsuihtmlreactivewarpsuavechartingforumscdnosslivedatajointjsrappidformsreviewreactbootstrapc#fsadventThis release adds a small client-side cookies library, a function to require resources in client-side markup, and various bug fixes.
fsharpjavascriptwebwebsharperWe released WebSharper 3.6 which allows you to automatically point to our CDN for WebSharper libraries.
fsharpjavascriptwebwebsharperWebSharper 3.5.16 splits off the WebSharper.Testing framework into a separate package and fixes a few bugs.
fsharpjavascriptwebwebsharperF# has always excelled at accessing heterogeneous data sources in server-side code through its unique type provider feature: a metaprogramming technique that enables generating (or "providing") domain-specific code to be consumed during compilation, such as generating typed schemas for relational databases, CSV and other data files, or bindings for web services and integration with other languages such as R. Type providers are given an optional set of arguments in your code using custom F# syntax, yielding a type space in return.
datafsharp.datafsharpwebsharperThis is a small bufgix release for SPA projects.
spaf#websharperThis release adds Visual Studio 2015 Enterprise Edition support, and several bug fixes and minor features.
fsharpjavascriptwebwebsharperThis is mostly a bugfix release, with a few shorthands added to the UI.Next API.
fsharpjavascriptwebwebsharperWe are happy to announce the availability of WebSharper 3.5, bringing a couple important changes and numerous bug fixes. Most notably, this release brings alternate HTML implementations to your WebSharper applications, and while there are only two at the moment, new flavors and variations (both in syntax and capabilities), and integrations with third-party markup engines are coming your way soon.
ui.nextfsharpwebsharper- Try WebSharper: version info about extensions and some embedding improvements6 Oct 2015by Istvan Gansperger
A new dialog has been added showing a version number for the site and all the version info about the extensions for better transparency. A new feature has also been introduced, which lets the user decide which page they want to show by default when embedding a snippet.
trywebsharperf#websharper We are happy to announce the release of WebSharper.Suave, an adapter to run WebSharper applications on Suave.
suavefsharpwebwebsharperThis new release of WebSharper adds the Xamarin Studio addin to the main release channel and introduces checked UI.Next number inputs, among many minor features and bug fixes.
ui.nextxsreleasefsharpjavascriptwebwebsharperA new version of Try WebSharper is out featuring type information on hover and the addition of most of our private and premium extensions!
trywebsharperf#websharperThis is a minor release of WebSharper UI.Next which provides the OnAfterRender feature from Html.Client.
ui.nextfsharpjavascriptreactivewebwebsharperThis release introduces features such as lenses to UI.Next and prepares the terrain for UI.Next versions of Formlets and Piglets.
ui.nextowinreleasefsharpjavascriptwebwebsharperTry WebSharper reached an important milestone today: we just released the first bits of on-the-fly typechecking and code completion, and you can now develop F# web snippets, without any installation, online more easily than ever.
trywebsharperfsharpwebsharperA new release of Try WebSharper is out featuring some enhancements regarding snippet meta-data and embedding.
trywebsharperf#websharper- Try WebSharper: snippet versioning, gist import, and other enhancements now available19 Aug 2015by Adam Granicz
A new Try WebSharper is out adding a couple handy new features and addressing a couple annoyances, making it even more easy to publish your F# and WebSharper snippets.
snippettrywebsharpergistf#websharper Just four days ago we released Try WebSharper, and here we go with the first feature enhancement: embedding snippets. A huge thanks to Don Syme for suggesting it.
trywebsharperf#websharperThe recent release of WebSharper 3.4 also brought an update to most of the project templates shipped for Visual Studio, MonoDevelop, and Xamarin Studio.
templatesf#websharperWe are thrilled to announce the availability of Try WebSharper, a simple and fun way to create and share WebSharper snippets with others!
snippetsf#websharperWebSharper 3.4 is out with a slew of features: new F# 4.0 collection functions, revamped sitelets API, anti-CSRF protection for RPC functions, and a reworked HTML language in UI.Next with server-side capability.
fsharpjavascriptwebwebsharperIn version 3.4, WebSharper UI.Next's markup has been overhauled in order to prepare for the upcoming merger into WebSharper in version 4.0.
ui.nextfsharphtmljavascriptreactivewebsharperWe just released WebSharper 3.3 with a new capability: Sitelets-compatible JSON serialization and deserialization on the client.
jsonfsharpjavascriptwebwebsharperThis is a bugfix release including numerous fixes for compilation to JavaScript in Warp applications.
warpfsharpjavascriptwebwebsharperThis is a bugfix release mainly focusing on issues exposed by WebSharper.Warp
javascriptf#websharperWebSharper Warp is a friction-less web development library for building scripted and standalone full-stack F# client-server applications. Warp is built on top of WebSharper and is designed to help you become more productive and benefit from the rich WebSharper features more quickly and more directly. While Warp shorthands target the most typical applications (text, SPAs, multi-page) and easy exploration, you can extend your Warp applications with the full WebSharper capabilities at any time.
warpf#websharper- WebSharper 3.2 with support for scriptable applications, better resource management, and additional streamlined syntax9 Jun 2015by Adam Granicz
We are thrilled to announce the availability of WebSharper 3.2, paving the road to further upcoming enhancements to streamline developing and deploying WebSharper apps, and also shipping several key changes summarized here.
f#websharper The main highlights of this release are ASP.NET MVC support (including Razor pages), and a lighter syntax to embed client-side controls in sitelets.
razorfsharpjavascriptaspnetmvcwebwebsharperThis article describes a basic WebSharper client-server application template that you can deploy to Azure via GitHub commits.
githubazurewebsharperFind out how to easily set up a WebSharper application for deployment to Azure.
paketazurefsharpdeploymenttutorialwebwebsharperThis minor release adds Sitelets-related functionality and bug fixes.
fsharpjavascriptwebwebsharperThe recent WebSharper 3 release also saw a number of enhancements to the WebSharper website, including a major reorganization to its content. In this post, I will summarize these, in particular [...]
websitewebsharperThis new major release adds a cleaner metaprogramming API, date formatting for JSON API, bug fixes and proxy revisions, among many other changes.
javascriptf#websharperIn recent weeks we had been busy with a series of enhancements to the WebSharper website and some underlying FPish services. [more...]
websitefpishwebsharperWe are finally closing in on the final WebSharper 3.0 with this release candidate.
fsharpjavascriptwebwebsharperWe have updated the WebSharper Xamarin Studio / MonoDevelop add-in for the latest WebSharper 3.0.36-alpha.It is now easier than ever to get started with WebSharper 3.0 on Mac or Linux!
xamarinmonodevelopfsharpwebsharperThis is our release candidate API-wise, last batch of breaking changes.
javascriptf#websharperWebSharper 3.0 is coming with an awesome new feature: automatically parse JSON requests into typed F# values, and reply with JSON just as easily!
fsharpwebsharperNew release of WebSharper 3.0-alpha contains strong typing for all kinds of JavaScript functions and a major update to the Interface Generator API.
javascriptf#websharper- javascriptwebf#websharper
This release of WebSharper streamlines a lot of the namespaces, making it more intuitive to use than ever. It is a breaking update, and this article describes all the (mostly trivial) changes that need to be done to existing projects.
f#websharper
2014
This is our first release of WebSharper 3.0-alpha with a new feature: source mapping.
javascriptf#websharper- News from WebSharper 3.0: NuGet, Visual Studio, Mono, upcoming features and API changes8 Dec 2014by Loic Denuziere
The first batch of WebSharper 3.0 releases has just hit NuGet, together with the Visual Studio extension. The build system has been updated to build correctly on Mono. Work has also started on new features and API enhancements.
mononugetjavascriptf#websharper WebSharper sources and issues have moved from BitBucket to GitHub.
bitbucketgithubf#websharperWe are super excited to announce that as of the very latest 3.0-alpha commit, WebSharper is now available under the Apache 2.0 license, free of charge to anyone, for both closed and open source applications!
releasewebsharperIntroducing proxies for Async cancellation, MailboxProcessor, Printf.
f#websharperA new Visual Studio template has been added to the latest Visual Studio installer called "Self-Hosted Client-Server Application," and you can use this template to build OWIN-based self-hosted applications that can be deployed via an .exe file and without requiring an installed web container (IIS, etc.) on the serving machine.
websharperThis version brings small fixes and RPC improvements
f#websharperThis new version brings bugfixes and WIG improvements
f#websharperWebSharper UI.Next Version 0.1.31.32 has been released, with bugfixes, and new event & animation functionality.
ui.nextf#websharperWebSharper.UI.Next provides a powerful declarative animation system. This mini-blog shows how to integrate this with single-page sites and flowlets.
reactivedomanimationui.nextf#websharperIn this post, we see how WebSharper.UI.Next may be used to structure single-page applications with multiple sub-pages, and how this can be integrated with URL synchronisation.
reactivedomspaui.nextf#websharperLearning from and going beyond D3.js to make animation scheduling declarative, in the context of WebSharper UI.Next.
f#websharperd3visualizationanimationIn this blog, we introduce an experimental UI library for the WebSharper web framework, and illustrate this by means of a small example.
dataflowui.nextdomwebf#websharperWebSharper is getting support for Mono, MonoDevelop, Xamarin Studio, CloudSharper on Linux and Mac OS X, improved bindings to D3.js and Leaflet.js. On performance side, we are experimenting with ASM.js for numeric code. For this summer, there are plans for better single-page application support and a functional version of data binding, to incorporate and improve on ideas in Angular JS and Facebook React.
f#websharperspafrontendWe are happy to announce the release of a WebSharper binding for Leafletjs, a library that makes it easy to display and work with maps such as OpenStreetMap.
leafletopenstreetmapf#websharperThis release makes it even more convenient to build Ext JS and Sencha Touch applications with WebSharper.
senchaarchitectextjssenchatouchf#websharperWebSharper development gains support for Mono framework on Linux and Mac OS X, and integration with Xamarin Studio and MonoDevelop.
f#websharpermonodevelopmonoxamarinThis release brings asynchronous sitelets, brings back support for targeting .NET 4.0 - 4.5.1, and offers several bug fixes.
f#websharperWe are happy to announce the availability of the most recent WebSharper update, version 2.5.93, released on Feb 4, 2014. This release brings a new and improved optimizer for the Core language that is used as an intermediate form during compilation to JavaScript. The optimizer is able to eliminate more JavaScript expressions, generates more readable code, and improves JavaScript performance of numeric code (such as code using for loops heavily) by 30-50%.
f#websharper
2013
We are happy to announce the general availability of WebSharper 2.5, and the corresponding new WebSharper site that has gone through a major facelift. I plan to blog about the major individual features in detail as separate blog entries, until then, here is a short list of the main changes.
f#websharperSample jQuery mobile single-page application with dynamically created and reused pages using WebSharper
jquerymobilef#websharper- mlocjsf#websharper
The first Windows 8 Application developed with WebSharper is about to go live on the Windows Store. This is a preview of the upcoming WebSharper WinJS binding.
winjswindows8f#websharperPre-release WebSharper 2.5.2-alpha NuGet package is available and can already be used to build AppHarbor-ready sites.
f#websharperappharborSoon-to-be released WebSharper includes Direct API that will greatly simplifies building tools that compile F# code to JavaScript via WebSharper. It has can work in FSI. We are also finishing some testing on a TypeScript definition file cross-compiler that emits WebSharper FFI definitions based on TypeScript ".d.ts" files, allowing to reuse some work the TypeScript community has done in defining types for JavaScript libraries.
websharperf#We are happy to announce that we offering free WebSharper developer licenses to all language and web MVPs... [more]
freelicensef#websharper
2012
The jQuery Mobile sample on the WebSharper site has been out for quite some time now, but it fails to mention an important detail on how to run it standalone. Indeed, copying it straight into a new WebSharper ASP.NET project produces an empty page (which is not empty, only jQuery Mobile fails to kick in to decorate it into a full application), which can be a discouraging start for anyone looking into using jQuery Mobile for building mobile applications with F# and WebSharper. [...]
jquerymobilef#websharperTech Mesh - The Alternative Programming Conference is designed to support and promote useful non-mainstream technologies in the software industry and dedicated to users and inventors of various languages and technologies. By offering a networking platform to IT architects, software developers and project managers it brings together different programming worlds and creates opportunities to exchange experiences and knowledge, necessary to pick the ”the right tool for the job”.
clojurescriptplayclojureconferencehaskellerlangscalafunctionalf#websharperWebSharper provides an extension to write ExtJS applications in F#. But did you know that you can easily use the visual designer ExtJS Architect in conjunction with WebSharper? Here is how.
extjsf#websharperA few days ago, I blogged about WebSharper 2.4 Q2 Beta, announcing a handful of important changes to WebSharper. Today, we are happy to announce the general availability of WebSharper 2.4 Q2, available from the WebSharper downloads page.
releasef#websharperWe have been working hard to bring you WebSharper 2.4 Q2 - and today we are happy to announce the availability of the the first beta (2.4.46)... [more]
releasef#websharper
2011
We are currently finalizing the 2.4 release of WebSharper. This release is mainly concerned with bug fixes and quality-of-implementation improvements. The exciting part is that we are witnessing about 30%-35% generated code size reduction, and a 40% reduction in compilation time. The optimizer is also more capable, featuring local tail call optimization.
f#websharperThis release ships the preliminary support for mobile devices, a new WebSharper component we call WebSharper Mobile. [more...]
mobilef#websharperBack in 2004 when we founded IntelliFactory to do commercial F# development, there were just a few dozen people who have heard about F# worldwide. When pitching to various companies or talking informally about what we do I usually met with total utter disbelief - how could a company that specializes in something unknown ever succeed? [...]
workshopcufpf#websharperThe WebSharper Extensions for Formlets for jQuery Mobile give you the power of jQuery Mobile combined with the succinctness of formlets.
f#websharperformletsjqueryjquerymobileThe WebSharper Extensions for Bing Maps has been updated to reflect the last changes in the 7.0 API. Among notable additions are Directions, a simplified interface to the Routes REST API, Traffic and VenueMaps, as well as the possibility to implement your own extension modules.
bingmapswebsharperIn this post I introduce our latest WebSharper Extensions for ExtJS 4.
f#websharperextjsWe are happy to announce a new WebSharper extension, this time for TinyMCE. TinyMCE is one of the most popular Javascript WYSIWYG editors.
f#websharpertinymceWe have been pretty busy these past few months working on a number of enhancements to WebSharper for its 2011 Q2 milestone - and I am happy to announce that the new 2.3 release is now out for public consumption. [more...]
enterprisef#websharperIn this post I highlight the enhanced support for asynchronous programming in WebSharper. I show an example, modelling a slot machine as asynchronous computations run in parallel.
f#websharperThe WebSharper 2.3 release is out today.
f#websharperAt DemoJS, a demoparty dedicated to web technologies that took place this weekend in Paris, a demo coded with WebSharper was released.
demoscenef#websharperThis article gives and example of how to interface with dynamically typed JavaScript APIs.
f#websharperWe translated the snooker game sample from the official O3D website to WebSharper. The result is on par with the original in terms of performance, with 25% shorter source code and extra code safety.
o3dwebglf#websharperIn our continuing effort to make the most powerful JavaScript tools available to WebSharper developers, we are releasing the extension for Google O3D. O3D is a 3D programming library built on top of WebGL, enabling high-level resource and rendering management for 3D scenes.
o3dwebglf#websharperIn this post I show how to implement a formlet combinator encapsulating the common AJAX pattern of displaying a loading icon while submitting values to the server and waiting for a response.
f#websharperformletsThis post shows how to create custom formlet controls.
f#websharperformletsSince we released WebSharper Professional last week, we received ~200 requests about extending prior trial versions that expired. As it turns out WebSharper Professional has been in beta for several months and the first users who opted in to try it were now unable to check out the final release due to expired trial licenses. [...]
f#websharperToday we are very excited to announce the availability of the final release of WebSharper Professional (version 2.2.x), the premiere web development framework for F# developers, combining the strengths of functional programming with robust and composable web programming abstractions such as formlets and sitelets that unrival the capabilities of any other web framework. This release follows many long months of hard work and sleepless nights and overall signifies a major new addition to the WebSharper family.
f#websharperHave you ever wanted to give your F# library users a nice and clean API documentation but didn't have the right tools to create it? Or you have tried all kinds of API documentation tools and none of them worked for your F# assemblies? Well, now you have to look no further - we have the perfect tool for you: ApiStack.net.
apistack.netf#websharperToday we are happy to announce the release of a new extension for WebSharper: DHTMLX Touch. This library provides a complete set of UI widgets, alongside a number of tools to seamlessly connect them to application data, resulting in web applications with an impressive native feel.
dhtmlxf#websharperToday we released a comprehensive set of updates for all extensions targeting WebSharper 2 RC2. If you are using any WebSharper 2 extensions and WebSharper 2 RC2, we recommend that you update your extensions by installing the updates from the Extensions page. [...]
f#websharperToday we are happy to announce the release of not one, but two new WebSharper extensions: WebGL and glMatrix. Together, they bring the power of hardware-accelerated 3D into WebSharper.
webglf#websharperWe are happy to announce that WebSharper 2.1 Professional RC2 is now available for Visual Studio 2008/2010 developers. You can find and download the latest version from [...]
f#websharperThe Bing Maps extension for WebSharper has been updated to version 7.0 of the library. It allows developers to use the latest features of Bing Maps, including info boxes and keyboard events. It also provides a convenient interface to the REST API for searches, routes and static map images.
bingmapsf#websharperIn this post I introduce our latest WebSharper extension - Formlets for jQueryUI.
f#websharperformletsjqueryuiToday we are happy to announce the availability of the jQuery UI extension for WebSharper formlets. This brings a number of new formlet primitives to the standard WebSharper formlet library that are rendered using jQuery UI controls. These include tabs, sliders, drag and drop panels, orderable lists, among others. [...]
jqueryuif#websharperThe first release candidate for WebSharper 2 Professional is out today, with a few bug fixes and better support for 64-bit machines. [...]
f#websharperIt's almost March, but don't rush time - there are still two upcoming WebSharper talks before the end of February: ...
f#websharperMobile application developers can now enjoy, in addition to jQuery Mobile, the latest addition to the WebSharper Extensions Gallery - Sencha Touch.
senchatouchf#websharper- websharperf#
In this post I'll highlight some of the features of WebSharper formlets by implementing a user sign-up form.
f#websharperformletsToday we are happy to announce that we released the first batch of WebSharper extensions to match WebSharper 2.1 Beta 5 - you can download them from the WebSharper downloads page. These are bringing the following libraries to F#: Google Maps, Google Visualization, jQuery UI, jQuery Mobile, Bing Maps, Modernizr, InfoVis, Protovis.
f#websharperToday we are happy to announce WebSharper 2.1 Beta 5, with substantial new features and a major redesign of WebSharper sitelets, among others. Now with all major features in place and available, we are ramping up to ship the final WebSharper 2.x Professional in the coming weeks.
f#websharperWebSharper sitelets allow to construct websites as first-class F# values. In this article we build a simple, two-page website with sitelets.
f#websharpersiteletsIn this article we take WebSharper sitelets even further and develop a tiny engine for blogging, demonstrating the use of compositional routers and parameterized actions.
f#websharperwebsiteletsMIX is probably the most well-known and one of, if not the most challenging conferences to present at. It usually features prominent community and Microsoft technology leaders and evangelists and aims to bring together web professionals from all around the world. [...]
f#websharperHappy new year folks, we just rolled out the WebSharper 2.0 Beta4 release - with an enhanced installer and better support for sitelet-based development with some significant performance improvements. The new installer also became smarter and for new users obtains a 90-day trial license automatically so you no longer have to manually activate.
f#websharper
2010
WebSharper sitelets provide the essential mechanism to encapsulateentire websites as F# values. In this talk, I will present how youcan use sitelets to develop dynamic, template-based, markup-less webapplications with WebSharper that seamlessly combine client andserver-side functionality, and briefly discuss the tooling around thisautomation.
siteletsf#websharperIt's never been easier to get started with WebSharper 2.0 - now with a single installer that contains six WebSharper project templates for Visual Studio, including integration with ASP.NET, MVC, and Sitelets. Go and grab your installer (renumbered as a bundle, current latest 2.0.21) at the WebSharper Downloads page.
f#websharperWe just released a new WebSharper 2.0 Beta (2.0.63) and a matching WebSharper Manager (2.0.10) - please go to the WebSharper Download Page to grab the new binaries.
f#websharperThis post highlights some of the new features of our redesigned formlet library.
f#websharperformletsASP.NET MVC framework is lightweight web framework with strong emphasis on loose coupling and testability of involved components. This post will be dedicated to the major subject: how to create WebSharper web application based on ASP.NET MVC so it can take the best from both counterparties.
f#websharperaspnetmvcwebEarlier this week I gave a talk at the first London WebSharper User Group meetup about WebSharper 2.0 and some of its new features such as sitelets and the new Visual Studio templates. This was a longer, class-like talk with many technical points discussed - a great source of information for anyone interested in WebSharper.
siteletsf#websharperWe are making excellent progress on releasing WebSharper 2.0 in the coming weeks, and have just put out the first beta version of WebSharper 2.0, ready for some public testing and community feedback. Here are the links:
f#websharperWebSharper talk at Sinergija 2010, Community Track.
f#websharperWe are thrilled to announce the London WebSharper User Group - a forum for WebSharper professionals and enthusiasts based in London, UK to exchange ideas and experiences, and to serve as a major hub for furthering the interest in functional web programing. We sincerely hope that it will add significant value to our WebSharper user community.
f#websharperScheme is remarkable language; it combines syntactic simplicity and elegance with exceptional expressiveness and power. Implementations of Scheme exist in many languages, and though I’m not the first who used F# for this solving task (shame on me) I still can be the first man who have made it with WebSharper.
websharperf#fp- f#websharperdslwig
WIG is an F# DSL and source-level translator for creating bindings for 3rd party libraries.
f#websharperwigLast week I had a Community for F# talk on WebSharper where I presented a small WebSharper application to implement a client-based, persistent shopping cart, and I received numerous emails asking for the source code for that talk. So in this post I am going to show you the full source code and walk you through what I did to implement the shopping cart functionality. The code provided here should work on any existing 1.0.X installation, preferably on the latest 1.0.28 release.
tutorialf#websharperYou can now install WebSharper through Visual Studio 2010's Extension Manager with a single click.
vsf#websharperThese days WebSharper trenches are teeming with activity as we are busy preparing the next major release of the platform. One of the F#-to-JavaScript compiler highlights of the new release is a host of new optimizations on the JavaScript output. Designing these optimizations with F# was quite rewarding, and I am sharing some of the eurekas in this blog.
f#websharperIn this post I'm implementing a simple spread-sheet grid widget with dynamic summation of rows and columns, using dependent formlets.
f#websharperformletsFollowing up on the previous post on the upcoming WebSharper Ext JS (Native) extension with an example of how to construct a sortable tree widget and reacting to changes of the ordering of tree nodes.
f#websharperextjsA small example highlighting F# (and WebSharper) support for asynchronous and reactive programming.
f#websharperreactiveThis blog describes the pre-release WebSharper Extensibility Framework.
f#websharperSome examples of how to use the upcoming WebSharper binding for Ext JS.
f#websharperextjsThis is an exciting time for the F# world. Monday, April 12, witnessed the launch of VisualStudio 2010 and the release of the official F#, 2.0. Great job, F# team!On our part, today we are pleased to announce the availability of WebSharper Platform 1.0.
f#websharper- f#websharper
A new release of WebSharper (0.4.74) is made available for download today.
websharperf#In this post I'll show you how to make a nice visualization similar to the ones used by Hans Rosling. For this, we'll use the WebSharper Google Visualization bindings available as an extension package to the core platform.
f#websharperwebgooglevisualization
2009
In this post I give a short introduction to the WebSharper formlet library.
f#websharperformlets- WebSharper 0.4.62 is available - with dependent formlets-flowlets-third-party extensions-and more!23 Dec 2009by Adam Granicz
We are happy to announce the availability of WebSharper 0.4.62 - the latest version of the WebSharper Platform that aims to equip professional F# developers with the right platform to rapidly develop rich, scalable, client-based web applications. This is the first release candidate of WebSharper Platform 2010 - our commercial offering for client-based reactive web development with F#. In this release there are a number of new features, including: ...
f#websharper The fundamentals of building HTML (DOM nodes) with WebSharper.
f#websharper- f#websharpereuler
The third part of "Rapid prototyping of DSLs in F#" presents the semantic checker for Simply, a small programming language with functions and expressions.
dslf#websharperThe second part of "Rapid prototyping of DSLs in F#" presents the parser for Simply, a small programming language with functions and expressions.
dslf#websharper