inline On Tue, Jul 8, 2014 at 7:42 PM, Thomas Wrobel <darkfl...@gmail.com> wrote:
> Thats really cool work. > Seems to work slickly, and theres mobile library code already. > > Someone needs to make a ven diagram of various communication techs and > their features. As I understand it this has the functionality of the wave > protocol except for the federation right? > No, it does not follow the wave protocol, it implemented Google Drive Realtime API <https://developers.google.com/drive/realtime/> realistically. > > Just a random thought, but seeing as theres occasionally calls for the Wave > code base to be scrapped and recreated (faster/better/stronger/neater...) > would it make sense to build a new WFP out of this, rather then trying to > wrangle the existing code into shape? Or is that a crazy idea? > Wave's code is all-inclusive, it is difficult to divide each module, so every part is hard to be used separately, hard to be replaced with other implementations, and hard to be integrated into other projects. Wave is a great product, but not a good library. Just like ShareJS, realtime-store has there major modules, each module can be used separately: 1) realtime-operation <https://github.com/goodow/realtime-operation> An operational transform library for Java, currently only supports json-like data type, no xml support. 2) realtime-channel <https://github.com/goodow/realtime-channel> Distributed publish/subscribe event bus which penetrates from server to browser/iOS/Android, currently use SockJS for browser, WebSockets for iOS/Android, ant can be implemented using MQTT or XMPP. 3) realtime-store <https://github.com/goodow/realtime-store> Persistence layer, currently supports memory and redis+elasticsearch. Realtime API <https://developers.google.com/drive/realtime/reference/> is also implemented here. So far, there has no editor integration, and doesn't contain any ui-related code, but will. Benefit from the distributed publish/subscribe event bus across server/browser/iOS/Android and no ui specific code, it is easy to implement client libraries on multiple platforms.