Microsoft's Tech Days Paris
began this week, and programming languages and web apps are major themes. During a demo talk at the show, Don Syme, principal researcher at Microsoft Research, Cambridge, will focus on F# (a Microsoft-developed language), Robert Pickering will talk about quotations, and Adam Granicz, founder of the IntelliFactory, will discuss WebSharper
WebSharper is fully supported in the .NET Framework and Visual Studio 2010, which allows developers to leverage the entire .NET Framework and additional F# core libraries. So, what exactly is F#? Wikipedia (http://en.wikipedia.org/wiki/F_Sharp_(programming_language)
) defines it like so: "F# (pronounced F Sharp) is a multi-paradigm programming language, targeting the .NET Framework, that encompasses functional programming as well as imperative object-oriented programming disciplines. It is a variant of ML and is largely compatible with the OCaml implementation." As a developer, learning how F# and WebSharper work could put you on the bleeding edge of next generation web site development.
This doesn't mean that you can't, or shouldn't, use JS technologies. In fact, F# provides bindings to JS, so you can do jQuery, Flapjax, Qooxdoo or even YUI controls.
This is a stark contrast from traditional web applications that are inherently server-based, which requires the server to perform and render most of the interaction on the pages. This client-side approach speeds the delivery of a web page, which allows for more complex functionality without the risk of a slow-loading page.
Developers can easily take existing ASP.NET applications and enhance them with WebSharper-based functionality. This new web developer tool addresses many of the weaknesses of ASP.NET. This includes using strings for IDs and method names to connect markup with code behind untyped form values, overly complex form construction, etc., and provides type-safe and robust alternatives such as formlets or flowlets.
The first version of WebSharper comes with extensions for formlet support to Yahoo UI, and Google Maps and Visualization. Further extensions to Qooxdoo, JQuery UI, surveys, and many more are planned to roll out in the near future.