WebSharper

WebSharper is an open-source and commercial web-programming framework that allows web developers to create and maintain complex JavaScript and HTML5 front-end applications in the F# programming language. Other than a few native libraries, everything is F# source.

WebSharper
Original author(s)Intellifactory
Initial release2008
Stable release
4.5.14 / May 29, 2019 (2019-05-29)
Written inF#
Operating systemLinux, Windows, Mac OS X, Android, iOS, Windows Phone
Available inF#, C#
TypeAjax framework
LicenseApache License 2.0, Commercial
Websitewebsharper.com

Overview

WebSharper includes support for jQuery, HTML5, DOM and EcmaScript. WebSharper Mobile includes support for Android, iOS and Windows Phone Formlets and Sitelets.

Unlike many other web-programming toolkits, WebSharper offers a rich set of abstractions and DSL syntax for common web-related chores, such as composing HTML, defining web forms, managing required resources and handling URLs safely.[1]

Extensions

WebSharper extensions include

  • Bing Maps
  • DHTMLX
  • Ext JS
  • Formlets for jQuery UI
  • Formlets for jQuery Mobile
  • GlMatrix
  • Google Maps
  • Google Visualization
  • InfoVis
  • jQuery Mobile
  • jQuery Tools
  • jQuery UI
  • Kendo UI
  • Modernizr
  • O3D
  • Protovis
  • Raphael
  • Sencha Touch
  • TinyMCE
  • Twitter
  • WebGL
  • YUI

Development Environments

WebSharper can be used with any text editor. WebSharper can also be used with Visual Studio 2008/2010/2012 templates with full ASP.NET integration and with MonoDevelop.

Mobile

As a general framework for making web apps, WebSharper is also capable of being used as a framework for making mobile and tablet apps, either by making the needed widgets and animations from scratch, or by using one of the mobile frameworks for WebSharper. An HTML5 app written in WebSharper can have separate views for Tablets and Mobile phones.

Examples

The following sample displays a single HTML paragraph:

[<JavaScript>]
let Main () = Div [ P [Text "Welcome"] ]

The matching server-side code is also written in F#:

type HelloWorldViewer() =
    inherit Web.Control()
  
    [<JavaScript>]
    override this.Body = HelloWorld.Main () :> Html.IPagelet

See also

Notes

  1. Adam Granicz. "F# mobile development". Retrieved 2012-11-26.

References

  • Syme, Don; Granicz, Adam; Cisternino, Antonio (2012). "Expert F# 3.0". Apress. Cite journal requires |journal= (help)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.