When it comes to functional languages, F# often gets left out in the cold while the Clojures, Erlangs and Haskells of the world get the nerdy, Ph.D. treatment. But Microsoft’s F# got a major boost in usefulness last week when WebSharper 2.0 was finally released.
This Web application development framework offers numerous time-saving additions, and the ability to change F# code into JavaScript for easy deployment. Adam Granicz, CEO of IntelliFactory and creator of WebSharper, said that this second release of the platform was focused on saving developers time when building websites and applications.
“We have redesigned the architecture from the ground up, with several objectives in mind,” he said. “One is accessibility. Depending on the kind of application you’re working with, sometimes you need to be able to plug in new JavaScript libraries and access them from F# with type-safe discipline. That’s one of the accessibility points. That’s what we call stubbing. It’s a different way of doing it in this version, which is a lot easier than the last version.”
WebSharper 2.0 is now called WebSharper Pro, and a single, perpetual developer seat license costs €995. WebSharper 1.0, on the other hand, is now available for free. Granicz said anything developers can do in the new version can also be done in the 1.0 edition; the primary difference is the ease with which developers can accomplish their goals.
WebSharper Pro also offers HTML5 support for the first time. Developers looking to build forms on their sites will also have access to the sitelets and formlets templates, which make it easy to quickly construct sites from base primitives.
“WebSharper also has different abstractions we can use to define your website,” said Granicz. “One abstraction is for declaring user interfaces in a type-safe manner. These are called formlets. You can express dependencies between your different UI controls and represent them in a wizard-style presentation. Now we have more combinators to allow formlet combinations.
“We started to provide different rendering engines for these formlets, so the same code can be rendered in HTML and JavaScript, or have them rendered into XJS or Yahoo UI presentation layers. You write your form or user interface forms once, then you have type safety. At the end, you end up being able to have a presentation layer for the same format. That makes it nice and easy, and you can declaratively design forms.”