Apr 28, 2014

Finding the best of the breed – or which one to rule them all ?


Disclaimer: this article not intended to ignite flames or cause arguments on the Internet. It is about evaluating the candidate languages or frameworks to use in the N-tier programming model (from presentation tier, logic tier to data tier), and there is no one-size-fits-all. So, please take it with a grain of salt and read on.

Presentation tier (front-end)
For Javascript: My love goes to jQuery: there are many alternatives such as Prototype, MooTools, Scriptaculous but none can beat jQuery in terms of documentation or community support. Moreover, many CDNs support jQuery.

For CSS, jQueryUI or Bootstrap are my favourites. For big project, I’d go with jQueryUI – reason being is jQueryUI offer many features more than Bootstrap (Accordions, Draggable ..etc).  For small projects, I’d go with Bootstrap (very lightweight and quite comprehensive). Of course, I’d write CSS using SASS ! You may ask why not LESS: well, here and here are some supporting evidences.

Logic tier (middleware & API)
This one is tough – every language and framework can be used to produce effective middleware & API code depending on your business requirement and usage scenarios. Therefore, I would not boast about any name. Instead, there are some good principles and practices for writing efficient API code. Of course there are some great books on this matter that I'd wholeheartedly vouch for : Clean Code, The Pragmatic Programmer.

Data tier (storage, database & file server)
In today’s distributed computing world, Hadoop is one of the champions (in IMHO) – I found these tips are pretty useful before you’re going to adopt Hadoop. I also heard about Hive and its usage in Linkedin datacenter but never used Hive in any of my projects. I’d love to have a chance to experience it in production. Nevertheless, here is a fair comparison: Hadoop vs Hive (courtesy of Zheng Shao - Facebook Engineer Manager)

For storage – NoSQL is a rising star vs traditional SQL. Big-data companies (Facebook, Twitter, LinkedIn, Google, Yahoo) adopted NoSQL long ago – so it’s time you learn about it, join me in learning NoSQL and share your experience with me :)

Right now, I am starting with MongoDB with a MEAN stack. Man I’m loving the speed of this stack compared to ASP.NET MVC or even LAMP/XAMPP.

Other notes
Javascript alternative (altJS):
TypeScript, CoffeeScript, Dart.
Once upon a time, writing several hundred lines of Javascript would be a nightmare – no longer the case when there is Typescript. It lets you write classes and declare namespace (for code cohesion), implement inheritance (IMO, one of the most useful O-O features).


So that is a few lines from my thoughts on a bright sunshine Monday –  do you agree, do you not ? Let me know and we can always discuss ;) of course not in this manner ^_^

No comments:

Post a Comment