WebSharper
By Kimserey Lam on Wednesday, March 23, 2016 — 0 comments

How WebSharper.Warp works behind the sceneCommunity

How WebSharper.Warp works behind the sceneLately I’ve been very happy about how WebSharper.Warp allows me to iterate quickly and without pain. Last week, I covered how we could use WebSharper.Warp to build prototypes quickly. Check it out if you haven’t read it yet. Today, I decided to explore how WebSharper.Warp actually works behind the scene.By looking at how WebSharper.Warp works, we will learn two things:The process of compiling F# to WebSharper using WebSharper.CompilerWhen does the JS fi[...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Friday, March 18, 2016 — 0 comments

Prototyping web app made easy with WebSharper WarpCommunity

Prototyping web app made easy with WebSharper WarpScripting quick prototypes in WebSharper can sometimes be troublesome. If for each prototype, a new project has to be created or code needs to be commented/uncommented, it can become quite demotivating as too many steps are required. In F#, .fsx files are a great tool to script disposable code. Write some isolated functions, run on FSI and then forget about it.With WebSharper, it is possible to script a complete sitelets in .fsx files using WebS[...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Wednesday, March 9, 2016 — 0 comments

Create forms with Websharper.FormsCommunity

Create forms with Websharper.FormsIn my previous posts, I have covered multiple aspects on how WebSharper can be used to make nice webapps by using animations, by tapping into external JS libaries or by using the built in router in UI.Next to make SPA. Today I would like to cover another aspect which is essential for making useful webapps - Forms.Most of the site we visit on a daily basis have forms. WebSharper.Forms is a library fully integrated with the reactive model of UI.Next which brings [...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Tuesday, March 1, 2016 — 0 comments

Create an animated menu with WebSharper.UI.NextCommunity

Create an animated menu with WebSharper.UI.Next@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.2.0/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-rad[...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Sunday, February 14, 2016 — 0 comments

Improving developer feedback loop in WebSharper.UI.Next with FAKECommunity

Improving developer feedback loop in WebSharper.UI.Next with FAKE@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.2.0/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px sol[...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Sunday, February 7, 2016 — 0 comments

Method chaining for Bootstrap components with WebSharper in F#Community

Method chaining for Bootstrap components with WebSharper in F#@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.2.0/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid [...]
>> Read the full article on kimsereyblog.blogspot.com
By Kimserey Lam on Saturday, January 30, 2016 — 0 comments

External JS library with WebSharper in F#Community

External JS library with WebSharper in F#@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.2.0/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4p[...]
>> Read the full article on kimsereyblog.blogspot.com
By Loïc Denuzière on Wednesday, January 13, 2016 — 4 comments

WebSharper 3.6.7 releasedCore team

We are pleased to announce the release of WebSharper 3.6.7. This is a minor release with bug fixes and updates for dependent libraries. Here is the full change log.

WebSharper

  • #512: Fix JSON deserialization of [<NamedUnionCases>] union types in some situations.

WebSharper.Suave

  • #8: Update to Suave 1.0.0.

WebSharper.UI.Next

  • #65: Fix initial selected index in Doc.Select.
  • #66: Fix exception when calling a client function from server in on.*.

WebSharper.JQueryUI

  • #8: Fix Autocomplete.Source's variants to use a union case. Thanks @juselius for your contribution!

Happy coding!

By Kimserey Lam on Sunday, January 3, 2016 — 0 comments

One way to structure Web App built in F# and WebSharperCommunity

One way to structure Web App built in F# and WebSharper@import 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.2.0/katex.min.css';code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;margin:0 0 10px;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;bo[...]
>> Read the full article on kimsereyblog.blogspot.com
By Adam Granicz on Saturday, December 26, 2015 — 2 comments

WebSharper - a year in reviewCore team

WebSharper – a year in review

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:

We have also:

Conferences and academia

This year we concentrated on getting work out and attended fewer conferences than in previous years. In 2014, the WebSharper team gave 16 talks on WebSharper in six countries, this year we gave nine talks in six countries.

The team submitted three research papers to academic conferences in 2015, continuing our tradition to publish research results in peer-reviewed conferences.

Next to conferences and research papers, our team has been active in teaching and trainings. Among others, we run functional reactive web development courses with F# and WebSharper at the Eotvos Lorand University (ELTE) and the University of Dunaujvaros, and have signed a similar agreement with the University of Szeged. We are also involved in creating an online semester long course for international students.

Coming up

Our WebSharper team has been cooking up some awesome things that are not yet available or not yet documented. In particular, with more blog entries coming up on each:

  • WebSharper 4 - we are finalizing the last bits of moving WebSharper to the F# Compiler Services (FCS) and merging the F#+WebSharper compilation steps into a single sweep, giving a significant boost to compilation speed, better F# language coverage, and fixing a number of corner cases in earlier releases. The first alphas are out in early January under a new WebSharper codename “Zafir”.

  • WebSharper 4 for C# - we are finally able to bring WebSharper to C# developers, covering the most common C# scenarios (asyncs, LINQ, etc.), most of the language, and calls to any one of the existing extensions in the WebSharper ecosystem. A lot more on this in upcoming blogs.

  • WebSharper.React - bringing React to WebSharper applications. Here is a live example:

  • WebSharper.LiveData - automatic syncronization of reactive data models between a server and its participating clients. You can read a draft of our first, upcoming tutorial.

  • WebSharper.Forms and WebSharper.Forms.Bootstrap - reactive web forms (aka. reactive Piglets) with custom rendering. Here is a live example that uses Bootstrap-based rendering for a login form:

  • New extensions, in particular WebSharper.JointJs and WebSharper.Rappid - bringing awesome diagramming solutions to WebSharper:

  • Updating CloudSharper with the latest WebSharper - this has been left on the backburner for several releases, now it's time to sync the two again. Once this work is finished, CloudSharper will be your one-stop shop for online web and mobile development with C# and F#; quick data access, analytics and visualization, and a host of other interactive capabilities.

This article gave you a quick overview of WebSharper in 2015, and is by no means complete. One thing is certain: WebSharper remains the primary choice for F# web developers, giving unparalleled productivity and access to the largest F# web ecosystem, and works well with a number of other efforts (ASP.NET, MVC, OWIN, Suave, Hopac, etc.) in the web and development space.

Happy coding and Happy Holidays!