• Stars
    star
    632
  • Rank 68,217 (Top 2 %)
  • Language
    Scala
  • License
    MIT License
  • Created over 7 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Write Scala.js React apps just like you would in ES6

Write Scala.js React apps just like you would in ES6

Get started at slinky.dev

What is Slinky?

Slinky is a framework for writing React apps in Scala with an experience just like using ES6.

Slinky lets you:

  • Write React components in Scala with an API that mirrors vanilla React
  • Implement interfaces to other React libraries with automatic conversions between Scala and JS types
  • Write apps for React Native, React 360, and Electron, including the ability to share code with web apps
  • Develop apps iteratively with included hot-reloading support

Contributing

Slinky is split up into several submodules:

  • core contains the React.js facades and APIs for creating components and interfaces to external components
  • web contains bindings to React DOM and definitions for the HTML/SVG tag API
  • reactrouter contains bindings to React Router
  • history contains a facade for the HTML5 history API
  • native contains bindings to React Native and external component definitions for native UI elements
  • vr contains bindings to React 360 and external component definitions for VR UI elements
  • readWrite contains the Reader and Writer typeclasses used to persist state for hot reloading
  • hot contains the entrypoint for enabling hot-reloading
  • scalajsReactInterop implements automatic conversions between Slinky and Scala.js React types
  • testRenderer contains bindings to react-test-renderer for unit testing components
  • coreIntellijSupport contains IntelliJ-specific support for the @react macro annotation
  • tests contains the unit tests for the above modules (except native and vr which have local tests)
  • docs and docsMacros contains the documentation site, which is a Slinky app itself

To run the main unit tests, first install the dependencies by running npm install inside the tests folder, then from the base folder run sbt tests/test. Similarly for React Native tests, run npm install inside the native folder, then from the base folder run sbt native/test.

Note to IntelliJ IDEA users. When you try to import Slinky SBT definition in IDEA and encounter an exception like java.nio.file.NoSuchFileException: /Users/someuser/.slinkyPluginIC/sdk/192.6817.14/plugins, you should try to download required IntelliJ files for plugin subproject manually before importing:

sbt coreIntellijSupport/updateIntellij

And then import the project again.

More Repositories

1

scala-native-wasm

Running Scala in WebAssembly through Scala Native
Scala
104
star
2

create-react-scala-app.g8

Create React apps in Scala with no build configuration.
Scala
76
star
3

scalapy-tensorflow

Static facades for using TensorFlow in ScalaPy
Scala
35
star
4

GameOfLife

Conway's Game Of Life using Scala and Processing
Scala
26
star
5

scalapy-numpy

Static facades for using NumPy in ScalaPy
Scala
23
star
6

expo-template-scala

Create React Native apps in Scala with Scala.js, Slinky, and Expo
Scala
22
star
7

euler

Problems from Project Euler
Scala
18
star
8

slinky-styled-components

Slinky wrappers around https://www.styled-components.com
Scala
17
star
9

romeo-juliet

Reactive Romeo and Juliet
Scala
14
star
10

create-react-native-scala-app.g8

Create React Native apps in Scala with no build configuration.
Objective-C
13
star
11

genalgo

A bioinformatics library for Scala
Scala
12
star
12

neuro-thinkgear

A Scala library for connecting to Neurosky headsets.
Scala
11
star
13

scala-minecraft.g8

Giter8 template for Bukkit plugins using Scala for Minecraft
Scala
11
star
14

fluid-quotes

Scala
10
star
15

scalacon-live-coding

Scala
10
star
16

collidium

A scala.js based port of the original Collidium game.
Scala
10
star
17

BasicRCRobot

Scala
7
star
18

spotify-scala

A Scala client for the Spotify desktop API.
Scala
7
star
19

mind-snakey

Scala
5
star
20

sudoku

A sudoku solver in Scala.
Scala
5
star
21

ash

The Automated Smart Home
Scala
4
star
22

scala-android.g8

A giter8 template for creating scala projects that WORK IN ECLIPSE!!!!!
Scala
4
star
23

nix-configs

Nix
4
star
24

python-analysis

A dynamic analysis framework for Python
Python
3
star
25

slinky-reverse-interop-demo

A demonstration of Slinky's reverse interop feature to use Scala.js components from JavaScript code
Scala
2
star
26

create-react-vr-scala-app.g8

Create React VR apps in Scala with no build configuration.
Scala
2
star
27

liquid-sim

A 2D liquid simulator written in Rust
Rust
2
star
28

states

Scala
2
star
29

snakey

Old game of Snakey
Scala
2
star
30

scala-minecraft-bukkit

A scala library that makes it easier to use scala with bukkit.
Scala
2
star
31

slinky-hooks

Scala
2
star
32

gcj-plugin

Submit solutions to Google Code Jam contests via SBT
Scala
1
star
33

scala-native-frc

Scala
1
star
34

adventofcode-2021

Rust
1
star
35

wordsteal

An awesome game for android in Scala! Available at
Scala
1
star
36

interactive-worksheets

JavaScript
1
star
37

M3554g3

7h15 15 4 pr0j3c7 d351gn3d 70 c0nv3r7 5p3c1f1c l3773r5 1n 73x7 70 5p3c1f1c numb3r5 1n 4 w4y 7h47 7h3 hum4n br41n w1ll 571ll b3 4bl3 70 r34d 7h3 w0rd5 45 7h3y w3r3 0r1g1n4lly.
Scala
1
star
38

collidium-desktop

An awesome game!
Scala
1
star
39

switch-slides

Control your presentation with a Nintendo Switch Joy-Con!
Scala
1
star
40

scala-macro-bugs

Reproduction of a super-duper-edge-case macro bug that's blocking a major Slinky feature
Scala
1
star
41

appa

Get the feel of Akka in Scala.js
Scala
1
star
42

RoboND-Rover-Project

Implementation of the Search and Sample Return Project for the Udacity Robotics Nanodegree
Jupyter Notebook
1
star
43

srcambilng

Scala program to scramble text to retain the first and last letter of each word and shuffle the middle portion. An example of scrambled text: "Arocdnicg to rsceearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer are in the rghit pcale."
Scala
1
star