Skip to content

Operational Transform Implementation (not javascript) [closed]

I’m looking to implement multi-user operational transform just for plain-text based changes on the server-side on a web-site.

Is there a non-javascript implementation that you can recommend?

Answer

Consider Google-Diff-Match-Patch – Diff, Match and Patch libraries for Plain Text:

“The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.”

Diff: Compare two blocks of plain text and efficiently return a list of differences.

Diff Demo Match: Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.

Match Demo Patch: Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn’t match.

Patch Demo Currently available in Java, JavaScript, C++, C#, Objective C, Lua and Python. Regardless of language, each library features the same API and the same functionality. All versions also have comprehensive test harnesses.

You can find it here.