CodeSandbox wurde mit dem Ziel gestartet, die gemeinsame Nutzung und Zusammenarbeit von Webanwendungen einfacher und zugänglicher zu machen. Heutzutage wird es für Dokumentationen, Vorstellungsgespräche, Prototyping, Fehlersuche, Fehlerberichte, Workshops und vieles mehr verwendet.
In dem folgenden Beitrag möchten wir ein Feature vorstellen, dass die Zusammenarbeit verbessert und neue Möglichkeiten der Nutzung der CodeSandbox eröffnet. Es nennt sich CodeSandbox Live.
Sie können hier ein Einführungsvideo zu CodeSandbox Live sehen:
Zusammenarbeit in Echtzeit.
Von nun an können Sie ihre Sandbox für die Zusammenarbeit in Echtzeit nutzen. Wenn Sie auf den Button „Go Live“ klicken, erhalten Sie eine URL, die Sie mit anderen teilen können. Sie können dann an ihrer Sitzung teilnehmen und nahtlos live auf derselben Sandbox mit ihnen zusammenarbeiten. Sie werden den ganzen Tag in der Lage sein, Dateien zu erstellen, Dateien zu löschen, Dateien zu verschieben, Code zu schreiben. Sie werden ihre Cursor, Selections und Dateien sehen, die sie gerade betrachten, während Sie gleichzeitig ihre eigenen Editor-Funktionen wie Intellisense behalten.
Jeder kann gleichzeitig den Code im selben Dokument ändern oder andere Dateien bearbeiten. Die Selections, Cursor und Codes werden basierend auf den Eingaben anderer dynamisch aktualisiert, wobei Operational Transforms verwendet wird, um mögliche Konflikte zu lösen.
Sie entscheiden, wer mitarbeiten darf.
CodeSandbox Live verfügt über zwei Modi: „Open Mode“ und „Classroom Mode“. Der Standardmodus ist der Open Mode, der es jedem ermöglicht, mit zu arbeiten. Im Classroom Mode können Sie auswählen, wer bearbeiten darf. Dies ist besonders nützlich für Vorlesungen und Workshops, bei denen 30 Studenten die gleiche Sandbox betrachten können. Sie sehen nur die Cursor und Selections der Personen, die bearbeiten können, die sogenannten Editoren.
Teilen ist jederzeit möglich.
Wenn jemand mit seiner eigenen Version der Sandbox fortfahren möchte, kann er dies einfach durch Drücken von „Fork“ jederzeit tun. Sie können später wieder an der Sitzung teilnehmen, wenn sie möchten.
Das Feature befindet sich aktuell in der Beta-Phase.
Es stellt sich in der Testphase heraus, dass diese Art von Funktionen ziemlich schwer selbst oder mit einigen Freunden getestet werden können. Die Entwickler haben das ziemlich lange getestet, ohne Fehler zu finden, aber es kann gut sein, dass Sie dabei Fehler übersehen haben. Deshalb ist dieses Feature zunächst nur als Beta-Version erhältlich. Wenn Sie irgendein Problem finden sollten, können Sie sich via GitHub an das Unternehmen wenden.
Testsessions.
Es gibt keine Begrenzung, wie viele Benutzer sich mit einer Live-Sitzung verbinden können, aber es wurden bisher noch keine größeren Mengen an Editoren getestet. In den kommenden Wochen wird das Unternehmen Live-Testsessions und Streams auf Twitter teilen und jeder ist herzlich eingeladen, daran teilzunehmen.
Wie es funktioniert.
Die Mehrheit der Nutzer bisher ist sehr zufrieden mit der Implementierung des Systems. Im Frontend werden Teile von ot.js verwendet. Im Backend hingegen wird der Elixir (Phoenix) Server verwendet, der eine benutzerdefinierte OT-Implementierung zusammen mit ot_ex betreibt. Jeder Live-Raum ist ein separater Elixir-Prozess und alle Zustände werden in Redis gespeichert, um eine temporäre Servertrennung oder rollierende Updates zu ermöglichen. Bei der Entwicklung gab es einige wirklich interessante Herausforderungen und es ist eine der lustigsten Funktionen, die man bauen konnte.
Vielen Dank für ihren Besuch.