Getting started with Functional web
I am doing web development from quite a long time. And now a days I am keep pushing my self to do functional programming. Learning languages like Haskell, Scala, F#. Obviously I try my hand to other functional languages too as per time permits.
As I am .Net developer my primary focused is working with F# and I will also start from that only. You can also check out other functional articles of mine to check out what I think about functional programming and why it is necessity now a days.
F# for a long is treated as second class citizen in main stream programming in .Net area. But now it is picking up the pace. When I decided to write a complete series of web development with I was even thinking like that only. There will be C# project and F# project. C# project will take care of UI and F# project will do all the heavy lifting.
But thanks to wonderful community of F#, we have now pure templates. And that is the point of start. Complete web development using F# only. Nothing can be more fun that this. And it is not ended here, there are testing , mocking , testing libraries.
With this series, I will try to check out every vertical of web development. Including deployment to cloud.
I will also make sure to keep posting details about Scala and Clojure too, in compare to F#
Let’s start with Hello World. Go to the visual studio gallery and download the templates and add-on for F# web development.
Here is the list.
- Servicestak (Update is coming soon)
- NancyFX
- Simple.Web
- Asp.net MVC5 & Web API2
- Fantomas For code formatting
- F# Outlining
- F# web templates
Installing these template and add on will give you nice ways to start. Trust me I am enjoying far more after these pure F# templates arrived.
For people who is new to language, I will start from simple conversation of OOP to Functional programming. Most of them is one to one map only. So, there will be less use of pure functional concept. But slowly will move to more functional style of programming. And trying to achieve nirvana.
People trying Scala or coming from Java background Play is choice of framework for you. It is supported by wonderful community and build over the ever powerful AKKA.
For people who don’t like types or coming from Ruby like language background. You can Clojure for you. And here is twitter conversation with Bodil for the selection of framework.
For People who is going with F# / scala; there are couple of reference reading for getting started.
Do have a look.
Disclaimer : - I am neither expert of web nor functional programming. But I know web a little bit more than other programming things and I love functional programming.
So, what are we waiting for?
lets rock.