So backbone is pretty awesome. I've recently been basing a project on it, and I really dig the simplicity it affords. One thing tho, which I feel it could really help is progressive enhancement, but it seems that the case is not on the official radar. Let me explain a bit what I am looking for, related to a different project:
I am building an informational site for an org run by a committee. This is all volunteer, and there are several people who can do changes to different parts of the page. I know that a CMS is the traditional solution here, but the combination of no plugins to do some of the specifics needed, and the fact that a CMS is too heavy-weight for the rest of the use cases, have me looking at a custom solution. (To be fair, my desire to play with some of the underlying tools I'm using also has me doing this... but whatever its volunteer :) ). So backbone is really nice for this case because:
* The collections and models work great when someone is in a content editing role/mode.
* The data on the page sorted as collections and models work great for things like sorting, sub-searches, etc when JS is enabled.
* For the above use cases, the hash based standard backbone routing is exactly what is needed.
However:
I would also like to have sub pages/content pages dynamically loaded in combination with pushState when available, and different from the apps. When pushState is not available, a new page load is OK, as linkability is important. Essentially I want to keep the page loads with minimal transfer and client side when possible, but the server will build the page outright if content-type application/json is not requested. This is where backbone seems to fall apart a bit. There is not a good router option that will do this and work with the above described has routing as well. It seems that the backbone folks don't want this use case so I am experimenting with building my own router as a plugin.
I'd rather not do that unless A) there is desire from more folks for this and B) there is not something out there already that works within backbone, or nicely along-side it. Any thoughts from the HN community? (also sorry to hijack the thread a bit)
I'm working on something similar to a lot of what you're describing with a custom CMS and the dynamic pushState. I'd be interested in hearing more about your approach. If you want to shoot me an email - tgriesser10 at gmail dot com.
I am building an informational site for an org run by a committee. This is all volunteer, and there are several people who can do changes to different parts of the page. I know that a CMS is the traditional solution here, but the combination of no plugins to do some of the specifics needed, and the fact that a CMS is too heavy-weight for the rest of the use cases, have me looking at a custom solution. (To be fair, my desire to play with some of the underlying tools I'm using also has me doing this... but whatever its volunteer :) ). So backbone is really nice for this case because:
* The collections and models work great when someone is in a content editing role/mode.
* The data on the page sorted as collections and models work great for things like sorting, sub-searches, etc when JS is enabled.
* For the above use cases, the hash based standard backbone routing is exactly what is needed.
However:
I would also like to have sub pages/content pages dynamically loaded in combination with pushState when available, and different from the apps. When pushState is not available, a new page load is OK, as linkability is important. Essentially I want to keep the page loads with minimal transfer and client side when possible, but the server will build the page outright if content-type application/json is not requested. This is where backbone seems to fall apart a bit. There is not a good router option that will do this and work with the above described has routing as well. It seems that the backbone folks don't want this use case so I am experimenting with building my own router as a plugin.
I'd rather not do that unless A) there is desire from more folks for this and B) there is not something out there already that works within backbone, or nicely along-side it. Any thoughts from the HN community? (also sorry to hijack the thread a bit)