Just because a back-hoe is more advanced than a hand shovel doesn’t mean I should prepare my patio planters with one. Sure, some day, I may decide to turn my patio into a corporate farm, and I may need a back-hoe. I will also need a large, sophisticated irrigation system. Don’t forget the combines and field hands and foremen and crop insurance and . . . Whew, I guess the planters don’t need new plants, it’s far too much work!
Obviously, I don’t need a back-hoe to take care of my planters. But, when it comes to technology, it is easy to find yourself making decisions that are equally absurd. I am working on a project right now and have been trying to determine what serialization protocol to use to transfer data between an AJAX web client and the server. I was considering SOAP, plain XML and JSON. Before the respective armies begin their war, let me say that I see very valid uses for each of these technologies. I have, however, listed them in what I consider to be their respective order of “advancement” and complexity. XML is more “advanced” in that it is extensible and can be “self-defining.” However, browsers don’t all handle it in the same way and in order to turn it into something useful at the client I will need to parse it first, likely into some sort of JavaScript object. SOAP (being Simple Object Access Protocol) is not really simple at all. On top of XML with many namespaces (not well supported in all browsers), you have a miriad of protocol specific elements. It is very complex, very extensible, very robust as a protocol, but also way more than I need. Using SOAP would add countless hours to my project. That is, of course, unless I choose to use ASP.Net AJAX. I won’t bore you further with my decision making process about that. JSON, however, is very simple, “native” to the JavaScript implemented by browsers and is quick and easy to serialize and deserialize at both client and server. It does everything I need right now, and does it in a simpler way than the other options.
So, I am choosing the least “advanced” of the technology choices. No, I’m not afraid of SOAP or XML. In fact I like them a lot. But, for this project, I need a hand shovel. And JSON is a superb one. Will I need something more robust in the future? I don’t know, maybe, but probably not. And, if I do, I will most likely have more time and resources to invest in the conversion.