Building a startup with JavaScript and Scala
Pointer.io
201

So I have to confess I find the choice of where to divide the code a bit surprising. Partially, yes, because Scala has extremely good frameworks for integrating with the outside world at scale, including best-of-breed support for XML schemata http://scalaxb.org/ and JSON http://argonaut.io/. http://http4s.org/ gives you the succinctness of JavaScript, Ruby, or Python with Scala’s scalability. For MongoDB there’s http://reactivemongo.org/ which uses Play Iteratees, but you could marry it with http4s’ use of scalaz-stream with Mandubian’s post at http://mandubian.com/2013/08/21/playztream/.

Of course, this begs the question: why care? I think my answer would be: because interfacing with the outside world is the part that’s easiest to screw up with the data typically being semistructured, so I want types as close to those boundaries as possible. Same story with injection attacks. Finally, with external systems as dependencies, your success can be made or broken by how successfully your end deals with their failures, whether literal errors or “just” issues that are indistinguishable from a DDOS attack. So I’d integrate with the outside world with Scala, too.

Angular.js, Bootstrap, React, whatever for the UI: fair enough, although today I’d at least consider http://www.scala-js.org/, which even has bindings to Angular.js. But since you have a whole JavaScript team, probably not.

Anyway, this is just my own $0.02. Thanks for the great write-up!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.