~/talk

INTEGRATING SCALA.JS INTO AN EXISTING FULL STACK APP

Talkat Scalar 2020 · on Friday, 2020-05-15· [web-platform, scala]
links:none on file
slides:none on file

A runnable demo integrates Scala.js into a Node/Express + Apollo GraphQL + TypeScript SPA that lists books and authors, with roughly half the client UI implemented in Scala.js and a single GraphQL resolver sliced into Scala.js on the server, all published on GitHub. Build flow emits a Scala.js artifact copied into TypeScript projects, uses scalably‑typed for facades, requires a small hand‑written .d.ts file, watches bundle size, and explores GraalVM (graaljs) JVM-in-node scaling.

AI-written summary · about

  1. 0:00Start
  2. 0:51Concept of Full Stack
  3. 7:11Assumptions
  4. 14:05Interop Config
  5. 15:00Resolver Source Example
  6. 18:12Author Resolver
  7. 21:18Resolution Paths
  8. 24:21Web Client
  9. 32:09React
  10. 35:48And You Can See that the Component Looks Almost Exactly the Same as the Other One It's About As Compact Maybe a Couple Extra Lines and Looks Very Scottish Right Here and and that's all You Need To Do for that but on the Typescript Side There's no Magic for Generating Typescript Definitions from Scala Yet so You Have To Write a Little Bit of Interface this Is the Actual Interface for Three Components and this Is Written in Typescript and So You Put this into the Typescript Project and It Says Hey There Was an all Authors Component and You Know It Has a Props It Has a Taste a Class Name Argument and that's all You Need To Do To Import It if You Had More Complicated Stuff You Have To Add It but that Export Statement and this Little Config
  11. 38:04You Have Different Factors That Go into a Decision about whether To Enhance an Existing Application these Could Be Opportunities for Scholars Colleges but You Can Also Do Other Things Now There's You Can Instead of Scaling Out with Containers Servers and You Know Worrying More Processes on the Same Server You Might Be Able To Scale Up and the Scaling Up Would Look like Using for Example Growl and this Is all Kind of a Little Bit New Ish and Not Proven Yet so It Needs a Lot More Baking
  12. 41:36Like I Said It's Very Difficult To Get Funding To Rewrite Something Especially if It's Large It Can Take a Year to To Get that Funding I Typically I'M Involved in Projects That Are 10 to 20 Million Dollars with Several Work Streams and Are Quite Complex and You Have To Make All these Kind of Choices All the Time You Want To Try To Keep It Easy and the Javascript World Nothing Is Really Easy so You Have an Opportunity To Bring In to that Noisy Environment Things like this Then Maybe You Know Take Over the Entire Stack and at some Points in It's all Java at some Point Right
  13. 43:38You Know Could Be a Good Target and To Integrate some Scala to It and Then When It Comes to Parallelism Try To Avoid It As Much as Possible until You Actually Need It and Then if You Need It You Solve It You Know We Have an Option for Example Attaching some Jvm Code into an Existing Node You Didn't Have To Actually Write as Microservice You Didn't Have To Separate Out the Processes and Go Inter Process Communication You Just Attach It Use those Values Directly that's a Really Great Story for Economically Scaling Apps and Existing Applications So from that Perspective That's that's Really the Presentation
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.