(IPFS dev here)
We've been working hard to get js-ipfs to a working level and just last week announced it's ready. While it's still early days and we have plenty to do to make it even more robust, we have it fully working with WebRTC support as of today.
We've developed some apps and demos that essentially enable you to create dynamic content and apps on IPFS, purely in the browser. We do have to currently rely on a centralized Pubsub (in a similar fashion to torrent trackers) but we're working on to provide a decentralized pubsub mechanisms as part of IPFS.
Regarding persistency: js-ipfs and the main ipfs (native go-ipfs) networks are not yet connected but we're very close to having that. Once they all communicate in the same network, we can provide a lot better persistency as users don't have to keep the tabs open in the browser.
Take a look at some of the examples of what can be done today with js-ipfs, that is fully in the browser:
https://github.com/haadcode/orbit (specifically https://github.com/haadcode/orbit/tree/js-ipfs)
https://github.com/ipfs/paperhub
https://github.com/haadcode/orbit-db
https://github.com/haadcode/proto2