summaryrefslogtreecommitdiff
path: root/intro.md
blob: 6536a5404c6bbab300c188b75227b1d4f80bce34 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Hands-On Scala.js

	- Some Scala experience
	- Some Javascript/Web experience

	Intro to Scala.js
		What
		Why
		Where

	Hands On
		Getting Started
      Opening the Project
      The Application Code
      The Project Code
      Publishing

    Making an HTML5 Canvas Game

			Accessing DOM APIs
				Using js.Dynamic
				Using scala-js-dom for type-safety

			Input, Output
			Publishing
			Looking through the generated code

		Interactive Web Apps
			Managing HTML using the DOM
			Managing HTML using Scalatags
			Wiring up DOM events and interactions
			Publishing

		Building Cross-platform Libraries
			Shared code organization
			Shared tests using uTest
			Publishing 

		Client-Server Integration
			Hello World client/server project
				Serving the client javascript from the server

			Sharing code
				Using shared libraries
				Writing shared application logic

			Ajax calls
				Using the DOM APIs
				Using uPickle for serialization
				Using Autowire for routing

			Deployment

	Reference
    The Scala.js File Encoding
    
		Javascript Interop
			Calling Javascript from Scala.js
			Writing your own FFI facades
			Calling Scala.js from Javascript
			Mapping of Types
		
		Library Dependencies

		Differences from Scala/JVM

		Internals
			Optimization Phases