Two frameworks enter, one framework leaves.
This was my presentation from the 2014 Scala Matsuri Conference in Japan. My hope is that the talk is useful not only as a comparison between these two specific frameworks, but also as a model for how to evaluate other web frameworks in the future:
- Learn: getting started, ramp up, overall learning curve.
- Develop: routing, templates, i18n, forms, json, xml, data store access, real time web.
- Test: unit tests, functional tests, integration tests, test coverage.
- Secure: CSRF, XSS, code injection, headers, authentication, security advisories.
- Build: compile, run tests, preprocess static content (sass/less/CoffeScript), package.
- Deploy: hosting, monitoring, configuration.
- Debug: step by step debugger, profilers, logging,
- Scale: throughput, latency, concurrency.
- Maintain: code reuse, stability, maturity, type safety, IDEs.
- Share: open source activity, mailing lists, popularity, plugins, commercial support, jobs.
The next time a hot new framework pops up on Hacker News or Reddit, before betting your company’s future on it, use this checklist to see how it stacks up against the more mature (and boring) options. Also, if you’ve got a Node.js or Play Framework story to share, leave a comment!