The O and N in JSON

Via cafeconleche; Kurt Kagle on AJAX,

In an AJAX application, you explicitly sit on the page load tag to grab an XML (or related) resource from the server, creating an asynchronous call that will update an explicitly defined model, then write more code that will walk through that XML model and either pass it to an XSLT transformation or run it through more DOM manipulation code in order to explicily populate the fields in question in the web page (any more explicit and it would require an X rating).

You can cut this code down considerably with some carefully coded libraries, but these libraries add to the overhead of both loading and maintaining the page, sometimes significantly, and if they are not well written can also add a considerable burden to the debugging department.

He then goes on to argue for XForms. Alternatively you just use JSON and your own javascript framework with a View component to manipulate the DOM directly. The XML in AJAX is fraught with null blowups if you dont get what you want, JSON, as javascript object notation, is far more robust.

Null blow ups are the curse of compiler level issues being propagated up to the business layer. There is no reason why a null should ever be seen at the presentation or business layers. By definition nulls are a stack level issue. It is laziness that they end up as top level exceptions or errors.

The dot com I moved to Phoenix for has their own MVC architecture in javascript. It is a pretty complex and powerful system which leverages much of the power and frustrations of javascript to its advantage.

Javascript is a peculiar technology. Its greatest frustrations are also its greatest power. For instance scoping being only global and function level rather than block level effectively defines its power. Any variable can quickly become an object literal or map which becomes a very powerful data construct and data manipulation mechanism.

XML though, it is a dead-end in that technology. Self defining constructs and schemas have their place, and I have used them in the past where the schema is volatile and needs to define itself at runtime, however AJAX by definition interacts with static services. These are usually done in compiled languages such as Java. In this environment JSON is far more useful and less fraught with errors.

XForms may matter, but I am not seeing it. What I am seeing is javascript becoming the most important business language for the next decade. I am working in applications where the complexity and importance of the javascript code is overtaking the middleware and backend.
adam: Javascript is a platform of convenience, I suspect the relative importance you're flagging is a matter of having to deal with UI frameworks being built in parallel with working business apps. This hasn't happened for quite some time and so the availability of JS as a platform makes its demands.

I suspect there would have to be a new generation of organising abstraction for all that UI stuff, which lets the CPU optimise properly etc. There are already problems with naive web 2.0 code slowing down a website due to client side CPU-boundedness ... at any rate I don't think the server is dead quite yet. It might be niching for a little while.
avocadia: On the other hand, naive code slows down apps no matter where it is located.
cam: The presentation layer keeps reaching deeper and deeper. The front-end developers (which are like gold on this side of the US) have to know HTML/JSP, CSS, Javascript and Java. The middleware folks only have to know java.

There are appearing frameworks to abstract the complexity out at the javascript UE/UI/App level already. It is like Java in 1999, they are pretty juvenile. The dot.com I am with has their own framework atm. I expect they will comoditise and a few opensource winners will appear - like they did with the java frameworks.
adam: True enough, but I think of it as a leading indicator.

Most Popular on South Sea Republic

The articles that have been viewed the most:

Most Popular Restaurants in Phoenix

Phoenix Eats Out is the restaurant review site for Phoenix, Scottsdale and Old Town Scottsdale which lists the modernist and contemporary restaurants, taverns and bars in the greater Phoenix area. This is the list of the most popular restaurants pages from phoenixeatsout.com that have been viewed the most; My personal favourite restaurants in Phoenix are AZ88, Postinos, Bomberos with Grazie, Humble Pie, Orange Table, The Vig, Fez and others coming close behind. View the complete list with the photo-journalistic style images on phoenixeatsout.com

Most Popular Hikes in Arizona

Arizona is an outdoor state and has lots of hiking in the city and around the state. Phoenix is unusual for most cities in having several large mountains in the center of the city with great hiking. Anyone who comes to Phoenix has to do the Echo Canyon trail on Camelback and the Summit Hike on Squaw Peak or Piesta Peak. The views of the city, suburbs and surrounding mountains are wonderful from Camelback and Piesta Peak. For more experienced hikers there is the McDowell Mountains in North Scottsdale that has several difficult and strenuous hikes in Tom's Thumb and Bell Pass. Alternatively, you can hike the highest mountain in Arizona. At 12,600 feet Humphrey's Peak is a long and difficult hike.

Alternate Australian Constitutions

Between 2004 and 2009 this site, southsearepublic.org, was a constitutional blog based on scoop which focused on Australian and global constitutional issues. One of the strongest aspects of it was the development of constitutions by those involved in the blog. These constitutions are the outcome: The constitutions were built using principles from Montesquieu's separation of powers, the enlightnment's universal political rights and the ancient Athenian technology of sortition and choice by lot.

Archives For South Sea Republic

South Sea Republic started in 2004 as an Australian constitutional blog in 2004 based on scoop software. It was an immigrative outgrowth of Kuro5hin. The archives for each year since then; The articles are ordered by views.

Who Is Cam Riley

Cam Riley I am an Australian living in the United States as a permanent resident. I am a software developer by trade and mostly work in Java and jump between middleware and front end. I originally worked in the New York area of the United States in telecommunications before moving to Washington DC and working in a mix of telecommunications, energy and ITS. I started my own software company before heading out to Arizona and working with Shutterfly. Since then I have joined a startup in the Phoenix area and am thoroughly enjoying myself.

I do a lot of photography which I post on this website, but also on flickr. I have a photo-journalistic website which lists the modernist and contemporary restaurants in phoenix. I have a site on the Australian Flying Corps [AFC] which has been around since the 1990s and which I unfortunately lost the .org URL to during a life event; however, it is under the www.australianflyingcorps.com URL now. The AFC website has gone through several iterations since the 90s and the two most recent are Australian Flying Corps Archives(2004-2002) and Australian Flying Corps Archives(2002-1999) which are good places to start.

Websites Worth Reading

Websites of friends, colleagues and of interest;