Myllimäki, Leila Lindholm, Paulo Roberto • TV4 food programs: Sveriges Mästerkock, Mitt Kök, Nyhetsmorgon, Halv Åtta hos mig • Simple, responsive, and static recipe website
engine • Module and package system (npm) • Async event loop for non-blocking IO • Network libraries (HTTP, streaming, sockets) • Used by: PayPal, LinkedIn, Microsoft etc.
than Ember • Productive when building a CRUD app • Nobody in our team disliked it or had major problems working with it • It’s a big framework and the learning curve gets steeper down the road • All is being re-written in Angular 2.0
jscs) • Check exact package versions and auto update • Unit tests and API tests • Migrate data from the old CMS • Angular.js Protractor tests (in the CMS) • Integration tests run on build machine
raise an exception • Limited call stack (you’ll miss the stack trace when debugging) • No guarantees (can invoke callback never or too many times) • The invoker of the function may not pass a callback (use it in a synchronous fashion)
iterate an object with a length property (workaround is to iterate Object.keys(obj)) • Circular Node.js module (file) dependencies • assert.equal is non-strict
• Frontend developers can contribute on the backend • There is less context switching • Sometimes you can get confused about whether you are on the client or server though
very competitive for admin UI:s. It’s fun to reimplement Rails but it tends to get time consuming and/or messy • Model callbacks and validations • Layered architecture: DAO - Model - API - Controller/Router
structure, integrity, and data types • Our CMS happens to need all of the above • Most web developers know SQL • The mix of SQL and document store (JSON) in PostgreSQL is attractive
API test framework called jsonapitest for API contractual tests • Our build makes 200+ HTTP requests against the API (takes only a few seconds) • Fairly easy to write • Good coverage
need to handle thousands of simultaneous connections. If you do you may well get away with scaling processes and hardware horizontally • With network latency it’s not always significant if your API call responds in 5 ms or 50 ms
easy to maintain (regardless of language) • Frameworks and tools that make developers productive and happy • The skill level of every single developer on the team • Work close to stakeholders (remove any middleman) • Get feedback early • Migrate data early
and Meteor * Callbacks vs Coroutines * Goodbye MongoDB, Hello PostgreSQL * ES6: the future is now * Axel Rauschmayer on ES6 * Martin Fowler on Microservices * Microservices - Not a Free Lunch! * Experiments with Strengthening JavaScript