I have been experimenting with JavaScript MVC/MVP concepts lately, and have been able to come up with some usable implementations. Still, what worries me is that this concept has not been fully tested in complex and large environments.
I was doing some digging under the hood to try to see what the big guys are doing, to get some ideas, but it seems that high concepts did not arrive at large companies. Most of google's apps are rendered through GWT so the javascript is an unreadable mess, and iframes are highly used as hidden content loaders. Facebook seems to be little further along (at least having some kind of javascript based framework, but the ajax loaded pages are wrapped in JSON together with their resource references. Here is an example:
for (;;); {
"error": 0,
"errorSummary": "",
"errorDescription": "",
"errorIsWarning": false,
"silentError": 0,
"payload": {... html here ..."
},
"css": ["dF4\/J", "ed0kq", "5SY+j"],
"js": ["qVawz", "ae1v\/"],
"bootloadable": {
"async": ["bB44\/", "Jsc4C", "omvrb"],
"dialog": ["bB44\/", "Jsc4C", "omvrb"],
"dom-form": ["bB44\/", "Jsc4C", "omvrb"],
"PhotoTheater": ["bB44\/", "Jsc4C", "c54L1", "92bDI", "omvrb"],
"PhotoTag": [],
"PhotoTagger": ["bB44\/", "Jsc4C", "omvrb", "HxkzS", "z2MT6"],
"TagToken": ["bB44\/", "Jsc4C", "mgZyP", "z2MT6"],
"TagTokenizer": ["bB44\/", "Jsc4C", "mgZyP", "z2MT6", "c54L1", "92bDI", "omvrb"],
"Toggler": ["bB44\/", "Jsc4C", "SPe3z", "b34IU"],
"hovercard-core": ["bB44\/", "Jsc4C", "ipCbG", "omvrb", "qVawz", "hipy9"]
},
"resource_map": {
"dF4\/J": {
"type": "css",
"name": "css\/6qi927pt0gw0o4os.pkg.css",
"permanent": 1,
"src": "http:\/\/static.ak.fbcdn.net\/rsrc.php\/zX\/r\/l5RrdJG8V5a.css"
}...
}
}
This is pretty much the approach that I have been using in most of my apps so far, which is very scalable and fast, however the development using a compiled language (C#) makes is not as flexible, perhaps due to the lack of my backend skills :)