Software Alternatives, Accelerators & Startups

Yjs

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

Yjs

Yjs Reviews and Details

This page is designed to help you find out whether Yjs is good and if it is the right choice for you.

Screenshots and images

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

Features & Specs

  1. Real-time Collaboration

    Yjs enables real-time collaborative editing, allowing multiple users to work on the same document simultaneously without conflicts.

  2. Conflict-free Replicated Data Type (CRDT)

    Yjs employs CRDTs to automatically resolve changes and conflicts, eliminating the need for complex merging algorithms.

  3. Scalability

    The framework is designed to efficiently handle a large number of users, making it suitable for large-scale collaborative applications.

  4. Offline Editing

    Yjs supports offline editing, allowing users to make changes while disconnected from the network and synchronizing them once back online.

  5. Language Agnostic

    Yjs can be integrated with different programming languages, making it flexible for various tech stacks.

  6. Open Source

    As an open-source library, Yjs provides full transparency of its codebase and fosters a supportive community for continuous improvement.

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.
  • Centralized vs. Decentralized: Why Modern Collaborative Tools choose CRDTs
    In the architecture of my Collaborative-Code-Editor, choosing CRDTs over OT gives me the advantage of not depending on a server for my data conflicts. Using Yjs as my CRDT library, not only fixes the problems OT arises but comes with additional features. A unique identifier keeps track of the characters' identity, and relative addressing that points to the character position in my code editor. The relative... - Source: dev.to / 2 months ago
  • Quack: The DuckDB Client-Server Protocol
    Highly suggest you take a look here: https://github.com/yjs/yjs CRDT can absolutely do what youโ€™re asking. - Source: Hacker News / 3 months ago
  • Show HN: Opensidian: Local-first notes in the browser with POSIX shell and sync
    ``` Those commands create and move real files that immediately appear in the editor's file tree. The best part is that all of this works in both browser and server-side contexts, since yjs (https://github.com/yjs/yjs) is isomorphic. Under the hood, metadata (name, parent, timestamps) lives in a versioned CRDT table. Document content lives in a separate Y.Doc per file, so the directory index syncs without pulling... - Source: Hacker News / 4 months ago
  • Local-First Software: Why the Future of Apps Doesn't Need the Cloud
    Libraries like Automerge and Yjs have gone from academic curiosities to production-ready tools. They handle edge cases that would have made local-first apps unreliable five years ago. - Source: dev.to / 4 months ago
  • Show HN: ยตJS, a 5KB alternative to Htmx and Turbo with zero dependencies
    I really like these sorts of frameworks from an architectural perspective, but what's the use-case? Maybe I'm too SPA-pilled, because to me all the fun of Web development is in providing really fluid, skeuomorphic experiences like those enabled by, eg pragmatic-drag-and-drop[0] or yjs[1]. I just struggle to envision what application benefits from the efficiency that this or htmx offer, but from neither the... - Source: Hacker News / 5 months ago
  • JupyterGIS breaks through to the next level
    JupyterLab does use CRDT via yjs (https://github.com/yjs/yjs), and the JupyterGIS collaboration system is based on the service provided by JupyterLab. So multiple users can edit the file concurrently. - Source: Hacker News / 9 months ago
  • Building a Web-Based Excel Editor: A Comprehensive Guide
    Yjs - CRDT-based collaborative editing framework. - Source: dev.to / about 1 year ago
  • Multi-player Mode is Everywhere, Even in Dev Tools
    Of course, you donโ€™t have to code this functionality from scratch! You can also look at open-source software like Yjs, text-crdt, Automerge and so many more. Alternatively, you can check out tools like Liveblocks, Ably, etc. Which enable collaborative multi-player features. - Source: dev.to / over 1 year ago
  • 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 / almost 2 years 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 / almost 2 years 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 / almost 2 years 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 / almost 3 years 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 / almost 3 years 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 / almost 3 years 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: about 3 years 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: about 3 years 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 / about 3 years 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 / over 3 years ago
  • Discussion Thread
    Also there is this Javascript library that implements Conflict Resistant Data Types. Source: over 3 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 / over 3 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 / over 3 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

Is Yjs good? This is an informative page that will help you find out. Moreover, you can review and discuss Yjs 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.