Develop Web Apps in F# with WebSharper
Join the DZone community and get the full member experience.
Join For FreeA New Programming Language Has Grabbed the Spotlight
Programmers universally stand up and take notice when a new programming language takes hold. Sometimes, those programmers are eager to give it a try and see what it is all about. In other cases, they may pan the whole thing as not being the right fit for what they need out of it.
Either way, there is no question that programmers will at least take a look at what this new language is about and try to determine on their own if it has real value for them or not. Right now, that programming language is F#.
Microsoft bills this as a programming language that may be used to create "robust, and succient" code. They say that it makes things easier on programmers and that the number of applications where this language may prove useful is nearly endless. Indeed, it does seem like there are many upsides to using this particular programming language.
F# is a relatively new language for Microsoft's .NET framework that is quickly gaining momentum in the financial and scientific software development communities. IntelliFactory believes that it can forge a new path for F# in the mainstream web application space.
In less than two weeks, the company will debut its WebSharper platform for writing web apps in F# that are easily compiled into JavaScript for the client-side.
F# is a three-paradigm language that uses imperative, functional, and object-oriented programming (class-based). New programming design approaches that are not easily expressed by just objects are possible with F#.
The functional programming capabilities can also lead to some mind-bending code. F# is a strongly typed language that uses a type interface so that data types don't need to be explicitly declared. It includes a functional programming component that supports eager evaluation. The language also uses pattern matching to resolve names into values.
In ASP.NET development, F# also offers productivity advantages over VB and C#. F# is different because it is statically checked and type-safe. It addresses weaknesses in ASP.NET development like untyped values, complex form construction, and using strings for IDs and method names that connect markup with code-behind (class-files).
Writing a web application in F# on the WebSharper platform can be less time consuming if a developer is not great at writing web apps in JavaScript. Through WebSharper, developers can write a web app using a large subset of F# and .NET core libraries and then just let WebSharper map the code to JavaScript.
WebSharper can integrate with ASP.NET applications, but it is different from the standard approach because it builds applications from miniature web pages called "pagelets". The pagelets correspond to functions on the client-side and they are automatically translated into JavaScript.
WebSharper supports a wide range of JavaScript libraries, making it easy for developers to optimize their code in whatever way they choose. jQuery, qooxdoo, Flapjax, and Yahoo UI are all supported by WebSharper. The leap from F# to JavaScript is manageable because both are functional languages that support lambda expressions and closures.
Another unique part of WebSharper is a "formlet". A formlet is a special pagelet that provides form functionality. Formlets in Web Sharper run and validate on the client, submitting their result to either a client- or a server-side callback.
jQuery auto-complete
WebSharper will be released on February 8th. Pricing has yet to be determined, but customers will be required to pay for support. WebSharper comes fully integrated into Visual Studio.
Want to get ahead of the curve before F# really takes off? DZone's Essential F# refcard can jumpstart your exploration into Microsoft's newest language. The card was authored by Chance Coble and Ted Neward.
What People Love About F#
F# is still relatively new as far as programming languages are concerned, and this means that there is still a lot to learn about it. That said, there are people from all over who are clamoring for it already. A few of the reasons why they love it include:
It is Interactive
This coding language responds well to virtually any challenge that you throw at it. It is interactive in the sense that it updates to the latest developments and challenges that you throw its way. It will move along with you as you work through the various steps required to get it working exactly how you want it to. For most people, this is a top benefit.
They don't have time or energy to slow down and try to get their programming language to catch up to whatever it is that they are doing. Fortunately, they don't have to worry about this as much because they can simply use the F# system to take giant leaps and bounds in the right direction.
It is User-Friendly
There are many pieces of programming code that get complex and in the weeds with the programming side of things that they are not efficient tools to work with. Instead, it seems like those programming languages are practicing a bit of gate-keeping in the sense that they don't allow non-programmers to make much progress with them.
The last thing in the world that true developers want is for people to feel like they are unable to do their programming. The beauty of programming is that you never know who might create the next big thing.
However, this can only happen if the tools they use make sense to them. Fortunately, the F# programming language is adapted for people who are not necessarily programmers themselves.
A Flurry of New Apps May Come From WebSharper
WebShaper is making it easier for anyone to get involved with creating their own apps for the Internet via their platform. You don't have to have any extensive knowledge of coding or app development in order to get involved. In fact, the entire platform is designed with beginning users in mind.
The goal is to make things as simple and straightforward for them as possible. A great way to make this all happen is to use WebSharper to start creating today. People say that it is:
- Easy to get on and get started
- Great for beginners
- Encouraging people with new and interesting ideas
In short, the WebSharper platform is exactly what people are looking for when they are first getting started in their app development journey. It gives them the space to be flexible and interesting, but it is also not overly complex.
Think of it as the training wheels for app development. You can make a lot of mistakes with training wheels and still be just fine. You are still learning at this time, so it just makes sense that you would want to try out your ideas in an environment where it is safe to do so. WebSharper is that space.
If you are still uncertain about how to get started or if app development is right for you, poke around the platform for a while and see what other people are up to.
What you may be surprised to find is that there are many people just like yourself who have some basic questions about how things work and what steps they should take next. This should give you some confidence that you are among people at a similar skill level as yourself.
Opinions expressed by DZone contributors are their own.
Comments