I am working on a meeting agenda site which is all a JavaScript app talking to a backend API (Node) which hands out JSON in response. The project seemed simple enough to me that I felt like learning Ember, Backbone, etc. might take longer than it was worth.
So I solved some of these issues myself with rather simple solutions/brute force. For example the navigation issue; mine is a single page app. To handle reloads I am storing a cookie with what page the user was last on and any appropriate object ids to know what to load from the API. If they come back to the app at any point before closing their browser, it remembers exactly where they were and returns them there. That of course works for Refresh as well.
As for being able to link to a point inside the app from outside, that's what location.hash is for. For pages users need to be able to link other people to (in my case, the page where you view the agenda and can write minutes, etc.), I update the location.hash to one that if clicked on will send them there (and takes precedence over the cookies.) Granted it's not super elegant, but it works.
I've found that my single page app is remarkably fast even on a slow, old computer. I'm really happy with it. Starting out I was a little worried it might get unmanageable (and it may yet) but at this point I have a large majority of the functionality I wanted and it's still quite manageable.
So I solved some of these issues myself with rather simple solutions/brute force. For example the navigation issue; mine is a single page app. To handle reloads I am storing a cookie with what page the user was last on and any appropriate object ids to know what to load from the API. If they come back to the app at any point before closing their browser, it remembers exactly where they were and returns them there. That of course works for Refresh as well.
As for being able to link to a point inside the app from outside, that's what location.hash is for. For pages users need to be able to link other people to (in my case, the page where you view the agenda and can write minutes, etc.), I update the location.hash to one that if clicked on will send them there (and takes precedence over the cookies.) Granted it's not super elegant, but it works.
I've found that my single page app is remarkably fast even on a slow, old computer. I'm really happy with it. Starting out I was a little worried it might get unmanageable (and it may yet) but at this point I have a large majority of the functionality I wanted and it's still quite manageable.