Software Alternatives, Accelerators & Startups
Table of contents
  1. Social Mentions
  2. Comments

Yjs

A CRDT framework with a powerful abstraction of shared data, Shared data types for building collaborative software.

Yjs Reviews and details

Screenshots and images

  • Yjs Landing page
    Landing page //
    2023-09-01

Badges

Promote Yjs. You can add any of these badges on your website.

SaaSHub badge
Show embed code

Videos

We don't have any videos for Yjs yet.

Social recommendations and mentions

We have tracked the following product recommendations or mentions on various public social media platforms and blogs. They can help you see what people think about Yjs and what they use it for.
  • Show HN: JuntOS – A shared Pomodoro and focus tools
    I've built this app some time ago but only shared with close friends. It has been useful for me so I decided to share here. It works by sharing state with yjs [1], as long as you are in the same session, i.e. The same path. https://github.com/yjs/yjs. - Source: Hacker News / about 2 months ago
  • Oops.js
    I write undo/redo/history in web/JS extensively. This the best lib out there for such tasks IMHO: https://github.com/yjs/yjs And you're right. You don't want undo/redo only in multi-user apps. You want to have each user have their own local undo/redo events that they can apply and unapply from the shared state which has its own events apart from each user. Everyone... - Source: Hacker News / 4 months ago
  • Oops.js
    After reviewing the ~600 lines of code, I have to ask what about this undo/redo manager is "advanced"? This seems like a naive implementation of a snapshot collection that is selected via array index. It's not event sourcing, OT or CRDT. With every event, the entire object is serialized and put into the heap. I can't even imagine what this does for performance when you deal with any object of significant size.... - Source: Hacker News / 4 months ago
  • An Interactive Intro to CRDTs
    I've seen it come up often in collaborative text editors. Also see: https://github.com/yjs/yjs. - Source: Hacker News / about 1 year ago
  • JSON Schema Store
    You are absolutely right that XML is better for document structures. My current theory is that Yjs [0] is the new JSON+XML. It gives you both JSON and XML types in one nested structure, all with conflict free merging via incremental updates. Also, you note the issue with XML and overlapping inline markup. Yjs has an answer for that with its text type, you can apply attributes (for styling or anything else) via... - Source: Hacker News / over 1 year ago
  • Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors
    Note: https://github.com/yjs/yjs for collaborative "document edition, and user cursors"; has WebRTC, web socket, matrix.org backend. - Source: Hacker News / over 1 year ago
  • Wormholers, what can CCP and wormholers do to improve J-Space?
    CCP needs to revamp proto anyway, due to recent exploits... practically, nothing really prevents 'em from using some sort of CRDT's to make the state of the sig view eventually consistent (yjs lib, if we're speaking frontendian). Source: over 1 year ago
  • How to use Yjs with Ruby on Rails?
    Yjs framework: Because it is a CRDT implementation which provides collaborative editing and offline-first capability. Source: over 1 year ago
  • Ask HN: What is new in Algorithms / Data Structures these days?
    Anything CRDT (conflict free lated datatypes) related is fun to read up on and play with. Papers (page maintained by central academic in the world of CRDTs): https://crdt.tech Group doing research into how they can be used to build interesting collaborative (and async) applications: https://www.inkandswitch.com A few of the major open source implementations: - Yjs: https://github.com/yjs/yjs - Peritext:... - Source: Hacker News / over 1 year ago
  • Show HN: Nostr-CRDT – real-time collaborative apps over Nostr
    Hi HN! Nostr-CRDT is an experimental project that connects Yjs [1] (a proven, high performance CRDT) with Nostr [2]. I wanted to learn about the Nostr protocol and see if it'd be possible to send updates to state (e.g.: edits of a rich text document, updates to a todo list) over Nostr. Nostr describes itself as "The simplest open protocol that is able to create a censorship-resistant global "social" network once... - Source: Hacker News / almost 2 years ago
  • Discussion Thread
    Also there is this Javascript library that implements Conflict Resistant Data Types. Source: almost 2 years ago
  • Show HN: Pg_CRDT – an experimental CRDT extension for Postgres
    A _lot_ of the heavy-lifting is done by the teams at Yjs[0] and Automerge[1], who have re-implemented their JS libs in Rust. This made it possible for us to wrap them into a Postgres extension using pgx[2] (which is fast becoming a de-facto tool at supabase) [0] Yjs: https://github.com/yjs/yjs [1] Automerge: https://github.com/automerge/automerge [3] pgx: https://github.com/tcdi/pgx. - Source: Hacker News / about 2 years ago
  • CRDTs: A Beginner's overview for building a collaborative app
    There are a lot of implementations of CRDTs out there. In JavaScript, for instance, we have Y.js (https://github.com/yjs/yjs) and automerge (https://github.com/automerge/automerge). There’s also a Y.js demo (https://demos.yjs.dev/prosemirror/prosemirror.html) that allows you to play around with them and have your own collaborative app running in just a few seconds. All messages are exchange via webRTC and manages... - Source: dev.to / about 2 years ago
  • How to implement file conflict merging?
    You can use Nextcloud with an offline text editor such as Obsidian (for a better text edit UI). However, when two devices edit the same file at the same time, one will override the other (or cause a conflict). A CRDT algorithm is used to resolve file conflicts in real-time. As an example, this repository shows an example of conflicts being resolved with a CRDT using Yjs. How do you implement CRDT (for client-side... Source: about 2 years ago
  • Evan Wallace CRDT Algorithms
    Anyone unsure of what a CRDT is, this is the perfect intro: https://www.inkandswitch.com/peritext/ The two most widely used CRDT implementations (combining JSON like general purpose types and rich text editing types) are: - Automerge https://github.com/automerge/automerge - Yjs https://github.com/yjs/yjs. - Source: Hacker News / about 2 years ago
  • Fixing the Web part 2 : Transpilers, Pink Elephants and Project ATHN
    CRDTs like Yjs – solves several issues like local/offline-first, versioning, sync, collaboration (effectively replacing the cloud). Source: about 2 years ago
  • Realtime: Multiplayer Edition
    Related to this is also an example with ProseMirror (which TipTap uses for the editing component) [0][1] I'm not completely sure, but I think it uses Yjs [3] for the collaborative editing part. Quote: > Yjs is a CRDT implementation that exposes its internal data structure as shared types. Shared types are common data types like Map or Array with superpowers: changes are automatically distributed to other peers and... - Source: Hacker News / over 2 years ago
  • Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
    I've always been curious about real-time multiplayer user interfaces. When I found out about CRDTs and Yjs[1] I thought they could serve as a solid base for a project like that. So I built this pretty simple desktop-like UI (heavily inspired by lifeat.io) and used Yjs to replicate the whole UI state among multiple peers, creating the experience of a unique interface. Try online: https://yboard.lol [1]:... - Source: Hacker News / over 2 years ago

Do you know an article comparing Yjs to other products?
Suggest a link to a post with product alternatives.

Suggest an article

Yjs discussion

Log in or Post with

This is an informative page about Yjs. You can review and discuss the product here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.