Here is my Birthday blog post, as a part of FSAdvent - 2017. Just like previous two years, I hope you will enjoy this one too. Comments and corrections are very much welcomed. Why Chaat? and What is Chaat? If anyone wanted to show real time application, then Chat is kind of to-do list of that type of applications. Now Functional Chat is a very limited title and can’t show all the things I wanted to show.
This post is part of F# Advent calender. Thanks Sergey Tihon for arranging this and giving me chance. First I like to clarify that this was not my original choice for FSAdvent calender. I was going to write long post about web, AKKA, api and real time system. My current working area. But this time’s calender entries are reaching new level and dimension. And recent post from Evelina Gabasova is kind of reason behind change.
Reactive word is not new nowadays. If you want your library to get limelight, use reactive word in the name any way possible and it will definitely get initial attention. Reactive word is appropriate for things that follows reactive manifesto. That is true for now. And there are many variant of libraries on server and client to fulfil this. Let’s start from the start of web. We were having old web were we used to do post event of page.
Whoever worked with Microsoft Shop knows about nuget. It is package manager for anything and everything related to .Net. And it is getting better and better with versions coming in. But again it is nowhere near maturity needed to work with projects having many small projects. Things get cranky soon. Now, there is better option as per my opinion called Paket. Very easy to get started. And so damn reliable. Couple of more command to learn but I guess it is ok.
Who doesn’t know Angularjs?!? Everyone worked is web, mobile, server, windows, mac, Linux, Google, Microsoft or anyway related to this knows about it. And its fun when people tell me You know about angularjs. Its pretty hot now a days. I’m planning to learn it. Oh man… Ok I am no expert here in Angularjs. And I prefer not to be expert with any framework. Be it anything.
Command pattern is a pattern which allows executor of the pattern to execute or playback the commands. In most of the application wherever Undo/Redo is implemented this pattern is used. Here is C# code. Now, in this code Command Pattern is not in its purest form. As, normally in command pattern we are saving state of outside object. Instead I just returned the result to mock out side object.
Another pattern that is widely used in Object Oriented world. And as far as .Net world is concern it is may be most used pattern in wide range of .Net API. And it heavily used in heavily used LINQ API. So, I guess giving a understanding of that is kinda waste of space. Have a look at C# code. People familiar with LINQ and lovers of Lambda will definitely argue that this is can be replaced by delegates.