Project DescriptionA Mobile Web app sample (for an insurance company) in F# and WebSharper .
All code is in F#.
HTML5 and client side JavaScript is generated by WebSharper.
You can see the live sample running here:
http://mins.apphb.comThe sample shows the following features:
- Use of WebSharper
http://www.websharper.com for rich / mobile web development.
- Use of the JQuery Mobile framework to handle HTML5 mobile browser formatting, touch input, animation effects and DOM manipulation. Including dynamic injection of DOM content.
- Asynchronous browser-server communication via the WebSharper 'RPC' mechanism
- Client side asynchronous processing.
- HTML5 Location (the location is obtained, if enabled, when a "new claim" is created).
- Page formatting (headers / footer toolbar) and transitioning between DOM-loaded pages with page-level event handling.
- Dialog and Notification pages
- Submission of 'form' data (done via the RPC mechanism not actual form submission)
The application has been tested on a variety of HTML5 capable browsers and seems to work fine.
Note: I noticed an issue with an old Android phone where a page transition sometimes resulted in blank page and the application needed to be refreshed. This issue is seen after loading the 'billing' page which downloads a 'large' amount of data. No app issues were seen in the Android emulators targeting different versions of the Android OS.
No JavaScript coding was required. All code - client-side, server-side, HTML5 content, etc. - is done in F#.
Data types (classes) can be shared across the client-server boundary and the RPC mechanism makes the remote 'AJAX' calls trivial to do. (No fluffy 'REST' is required).
WebSharper leverages F#'s functional programming features and meta-programming capability to generate the client side JavaScript and HTML/DOM.
The source code can be downloaded or browsed from the "Source Code" tab.
