But I am halfway through the client programming when I suddenly realise that I need to communicate with a server. And suddenly reality comes crashing down and I realise that I am going to have to pick a backend language.
So let’s have a look at our options.
PHP is probably my first choice when it comes to quickly getting data to the client. It is light and seriously easy to install using something like the WAMP server. And communicating with a SQL server is simpler in PHP than any other language.
And it is this simplicity which has lead to its wide spread use. Free and easy for developers of any skill level to use, it is great for developers who just want to get some back end information to their website and with customers like Wikipedia and Facebook it is impossible to deny that it can scale to just about any level.
ASP.NET is a great technology, for creating websites which integrate into an existing Microsoft technology stack. Having personally developed in ASP.NET for two years I can say that its built in support for things such as permissioning and Data Views makes it great for implementing relatively complex functionality.
Of course there are some quite heated opinions about propriety technology and license fees so I will admit that it may not be the technology for everyone.
Sinatra is becoming increasingly popular among Ruby enthusiasts. Its dead simple syntax makes it really easy to create a basic application. I have actually grown to really enjoy Sinatra recently, even though I am not a Ruby fan.
In most languages if you want to create a unique page for different URLs, one has to do some simple regex parser and then redirect depending on what you read. And then to read the Get methods passed, you once again have to perform string splits and push the data into hashmaps etc.
Sinatra performs all these functions as standard, you simply give it the URL you want and the names of the get methods to look for and it does the rest without having to write a stitch of boilerplate code – this really makes it.
Java is of course a very popular choice as well. With so many enterprise systems written in Java, when it comes to creating a Webapp which will provide an interface to this data, it makes sense to use Servlets to reuse as much of the existing code as possible.
In addition, the Java language is prefered many developers over the more… rhapsodian …nature of languages such as Perl, PHP or Ruby. And with dozens (literally) of different frameworks to pick from, there will definitely be something that will suit your tastes.
Also, the elephant in the room. As a Caplin Developer it is somewhat of a no brainer for me to use Caplin Xaqua which is build in Java. If you want to stream realtime data to the browser there really is no other choice. If you are reading this I imagine you know all the advantages of using our technology so let us put Xaqua aside.
So, what should I be using?
What back end language should I be looking at? Are there any options that I am completely unaware of? Incensed that I forgot your favourite technology? Leave a comment!