[HN Gopher] Automerge 2.0
       ___________________________________________________________________
        
       Automerge 2.0
        
       Author : llimllib
       Score  : 11 points
       Date   : 2023-01-30 21:10 UTC (1 hours ago)
        
 (HTM) web link (automerge.org)
 (TXT) w3m dump (automerge.org)
        
       | codeptualize wrote:
       | Link isn't working (extra /),
       | https://automerge.org/blog/automerge-2/
        
         | llimllib wrote:
         | yikes! no idea how that happened, I'll delete and resubmit
         | 
         | edit: there's no way to delete a submission? weird
         | 
         | dang: any way you'll see this and fix the URL?
        
           | alixanderwang wrote:
           | you could just resubmit, and leave a comment here pointing
           | there. i'll look for it in the new section to upvote!
        
           | satvikpendem wrote:
           | There is a delete button in one's submission history I
           | believe, so for you it'd be
           | https://news.ycombinator.com/submitted?id=llimllib
        
             | llimllib wrote:
             | no delete button there for me
        
               | satvikpendem wrote:
               | Ah, well dang might fix it if he sees this, or you could
               | email them too.
        
       | satvikpendem wrote:
       | See also, Autosurgeon (with a 0.3.0 release today), which is a
       | higher level API on top of Automerge for Rust:
       | 
       | I'm building a mobile app with a server backend, and I was
       | looking for resources to build them in an offline-first way
       | (since unlike on the browser, people expect to use apps offline,
       | if they can, such as fitness or habit trackers).
       | 
       | I found the concept of conflict-free relational data types
       | (CRDTS) interesting as it allows you to have fully offline
       | experiences while also having a conflict-free syncing experience.
       | I was looking for some good libraries and came across automerge
       | [0] and yrs [1], but both had some rough APIs as they're
       | primarily low-level Rust libraries that are wrapped by higher-
       | level TypeScript APIs.
       | 
       | Autosurgeon wraps the low-level API of automerge to make it much
       | more ergonomic, closer to the TypeScript experience, but in Rust
       | of course. You can for example use `struct`s which autosurgeon
       | will serialize and deserialize automatically, which is not
       | present in base automerge, which focuses more on string keys and
       | arbitrary values.
       | 
       | I am planning on using this together with Flutter and
       | flutter_rust_bridge [2] in order to use this same Rust library
       | everywhere. In this case, the server just becomes another (albeit
       | more privileged) client.
       | 
       | [0] https://github.com/automerge/automerge-rs
       | 
       | [1] https://github.com/y-crdt/y-crdt
       | 
       | [2] https://github.com/fzyzcjy/flutter_rust_bridge
        
       ___________________________________________________________________
       (page generated 2023-01-30 23:01 UTC)