I understand that the title is a little vague and all-encompassing, so please let me try to narrow it down.
What I would like is advice on how to develop a mostly Ajax website, where portions of the UI are asynchronously loaded. Here's the catch: I'd like to have the browser back/forward buttons work intuitively - something that Facebook has accomplished very well.
Does anyone know what libraries and design patterns Facebook uses? Considering that they've done an excellent job, it would make a lot of sense to use them as a model, as opposed to trying to reinvent the wheel.
I've noticed that there's a lot going on in the url hash:
http://www.facebook.com/home.php?#!/home.php?sk=bd
I'm sure that there has to be a good reason for them doing this, and I wouldn't be surprised if it's something I could make use of. Can someone point out what they're accomplishing here, and what each parte of that ?#!/home.php?sk=bd
is used for? I'm particularly surprised to see the home.php?sk=bd
, when the original page that was loaded is home.php
- is that perhaps their way of allowing links to specific "pages", despite the entire thing being served by home.php
?
It's not so important that each question be addressed - I'm really just trying to communicate what it is that I'm having trouble understanding - the "bigger picture", if you will. If someone can give me a more holistic answer, that would be awesome (especially if you can tell me how this might accomplished using ASP.NET MVC).
Thanks in advance!