Saturday, March 8, 2014

Technology Choices

This last week we were supposed to discuss our technology choices in our client meetings. In our meeting, we were short on time and didn't get to discuss them in as great detail as I would have liked, so I thought I talk about that a little bit here. I was in charge of researching web frameworks for our team, so that is what I will discuss.

We are creating a web based application, and for that we are using a web framework. I was considering for our team both Django and Play, one based on Python the latter based on Java/Scala. I prototyped a few toys in each of them, and decided on using Play in the end.

As I mentioned in a previous blog post, they are both very similar. Their overlap in feature set is probably close to 90%. So it was rather hard to make the decision.

In the end we decided on Play, mostly because we could write Java for it, which we are all very good at. It also was somewhat easier to create the types of web applications we are targeting with Play, while being easier to do other types of applications with DJango.

This was a bitter sweet choice for me. I really like Play. It is designed to be highly scalable and performant and (after reading some of the docs) is a joy to use. On the other hand, while being very familiar with Java I really don't care too much for Java. This is mostly a personal preference issue, as you can certainly create very well designed nice applications in Java (and just about anything else). On the other other hand, Play supports Scala, which I am quickly becoming very interested in, as I have developed a fondness for functional programming paradigms recently.

I am not sure that I will write any Scala in this class, but I can definitely see myself coming back to use Play with Scala in the future.

No comments:

Post a Comment