Tuesday, January 8, 2013

Hello World?

We all know and cherish the "Hello World" examples, a tradition like cookies and apple pie. Well, metaphorically for our industry. Though I usually love a good "Hello World" examples, and have made many myself, I am starting to wonder if in today's complex world a 5 minute example can not only cause confusion, it can also add extra bagage to frameworks. I recently had such an experience.

For my system I decided to built the user interface for 100% in Javascript and HTML 5. Browsers have grown up, machines today are fast, and a local UI can be much more responsive than a remote one. Since this is a relatively new area it was time to evaluate. I tried many but when I saw the the Angular Todo example I was stunned. So little code, so clear. And it did work very well with the first examples. Over time my code got more and more tangled and one day I spent some time looking at bigger applications and found that the Todo list example had set me on the wrong course. Angular actually has terrific support for modularizing applications and a very good URI routing model for single-page apps. However, this approach was significantly different from the Todo and other hello world like examples. It feels like framework developers tend add features to their code to make it look simpler than it really is.

I am not blaming the Angular developers, on the contrary, it is a solid product and after I figured out how to build my app it scaled well. They are not the only one, I've seen this pattern now in more places and looking back at my OSGi days I guess I've done similar things.

I guess human nature is such that honest framework developers are bypassed for the ones that lure the developer with simple examples. I guess we just get what we deserve.

2 comments:

Angular.js is stunning indeed! I did a small example plugging in a PHP generating a JSON. It worked! I am also building an application with OSGi and I didn't started with an Hello World example: it was a sample including three modules and it worked fine based upon my need! I think that examples must match day by day situations. But in some aspects we need a, more elaborated "Hello World" just to make a smoke test.

Omnisaleskit is a state-of-the art software application for sales professionals. Efficiently and effectively manage all sales documents, show stunning presentations to clients and monitor the company's sales performance, all in one safe and simple-to-use platform.It is A mobile sales software that works on iPad, Android phone or tablet.