Getting started with Fable

Photo by Ilija Boshkov on Unsplash

As a developer I’m always eager to learn new technologies, practices and languages. Currently very interested in expanding my expertise in the functional programming. So at some point I’ve decided to learn functional language, not just functional patterns which can be used in the JavaScript. I’ve a .NET background and taking into account this background I’ve decided to learn F#.

The most important problem for me was that in general it’s quite hard to apply F# knowledge in front-end development. But recently I’ve heard about Fable and was very excited about it. The idea of Fable is similar to any other transpiler on the market (like Babel or TypeScript). You are writing the code using the language you love and transpiler transforms it into JavaScript (the most hated language nowadays).

So, now my goal is to write fully-functional React application. As a starting point I’ll use some public API (like GItHub) or even stub data. But if everything goes well I’ll try to use Fable to compile some simple back-end on Node.js and MongoDB.

To make task a bit more interesting I’ll also do everything on Ubuntu (which was not even possible before .NET Core was released).

So if you want to follow my path let’s go. The first thing you need to do is to install Node.js and Yarn (for most recent versions you can visit official sites) by using this shell script:

Installing Node.js and Yarn

Now let’s install important development tools: git and .NET Core SDK:

Installing git and .NET Core SDK

!IMPORTANT! Currently .NET Core SDK is available as a snap package, but when I tried to use it I had issues with Ionide extension (language server for F# was not starting) for VS Code and as a result removed a snap package and installed as Debian package and it worked perfectly.

And of course, last but not least is development tools. For front-end developer in 2019 it is VS Code (personally I suggest to use Insiders preview) and Chrome (unfortunately Canary builds are not available on Linux):

Installing VS Code and Chrome

As a last step you need to setup you VS Code. To do so I’d recommend to read my post “VS Code for front-end developer” and also to be able to write code using F# efficiently you’ll need Ionide.

That’s basically it for today. In the next posts I’ll try to cover topics like project scaffolding and first components/services. If you have any questions or faced any issues during following this manual don’t hesitate to write in the comments below.

Also if you find this material useful don’t forget to subscribe and share it with your colleagues! Thanks!

4 thoughts on “Getting started with Fable

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s