Skip to content

More complete examples implemented in different variants

Notifications You must be signed in to change notification settings

scala-loci/examples-variants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScalaLoci: Variants of Example Applications

This repository contains a comparison of different variants of the same software.

Applications

  • Pong implements the arcade Pong game. Additionally to the distributed multiplayer versions, a local baseline is provided (where the user plays against the computer). The distributed versions adopt a client–server model. Both the server and the clients run on the JVM.

  • Shapes is a collaborative drawing web application, where clients connect to a central server. The server runs on the JVM while clients run in the web browser.

  • P2P Chat is a P2P web chat application, which supports multiple one-to-one chat sessions. Peers communicate directly in a P2P fashion after discovering via a registry. The registry runs on the JVM while peers run in the web browser.

Variants

The communication mechanism is in the left column and the event processing strategy is in top row.

  reactive ¹ observer ¹ observer (JS) ²
(local) Pong Pong
RMI Pong Pong
WebSocket Shapes Shapes Shapes
WebRTC P2P Chat P2P Chat P2P Chat
Akka Pong Pong
  Shapes Shapes
  P2P Chat P2P Chat
ScalaLoci Pong Pong
  Shapes Shapes
  P2P Chat P2P Chat

¹ All code is in Scala or ScalaLoci. The client is compiled to JavaScript via Scala.js.

² Uses handwritten JavaScript for the client-side, Scala for the server side.

About

More complete examples implemented in different variants

Resources

Stars

Watchers

Forks

Packages

No packages published