Episode 005: JavaScript: Islands, Sprinkles, and Frameworks Follow us on Twitter! @techdoneright (http://www.twitter.com/tech_done_right) or leave us a review on iTunes (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341)! Summary Dave Copleand (@davetron5000 (http://www.twitter.com/davetron5000)) and Zach Briggs (@theotherzach (http://www.twitter.com/theotherzach)) join Noel Rappin (@noelrap (http://www.twitter.com/noelrap)) for a Tech Done Right discussion of JavaScript practices. When does it makes sense to build single page JavaScript app? How can your JavaScript and Rails interact? Is it an island of interactivity or a sprinkle of JavaScript? Which frameworks are handling community management well (hint: not Angular)? And how do you test any of this? Guests Dave Copeland (https://twitter.com/davetron5000): Author of Rails, Angular, Postgres, and Bootstrap (https://pragprog.com/book/dcbang/rails-angular-postgres-and-bootstrap) Zach Briggs (https://twitter.com/TheOtherZach): JavaScript Practice Lead at Table XI (http://www.tablexi.com/) Show Notes 02:15 - Reasons to Build a Single-Page App (https://en.wikipedia.org/wiki/Single-page_application) - Conway’s Law (https://en.wikipedia.org/wiki/Conway's_law) 09:37 - The Ease of Building Web Over Single-Page Apps 11:30 - Tooling; Navigating Good Choices vs Bad Choices 14:31 - Setup - Bower (https://bower.io/) - webpack (https://webpack.github.io/) - Browserify (http://browserify.org/) - Broccoli (http://broccolijs.com/) - Yarn (https://yarnpkg.com) - The Asset Pipeline (http://guides.rubyonrails.org/asset_pipeline.html) 16:30 - Combining a Rails App and a JavaScript App 18:34 - AngularJS; 1 vs 2 - Angular (https://angularjs.org) - React (https://facebook.github.io/react/) - Vue.js (https://vuejs.org/) 33:05 - Testing - jasmine-rails gem (https://github.com/searls/jasmine-rails) - Test Double (http://testdouble.com/) 35:35 - TypeScript (https://www.typescriptlang.org/) - Elm (http://elm-lang.org/) Tips & Resources: Dave: Check out Test Double (http://testdouble.com/). Zach: As a developer, don’t feel forced into choosing between a single-page app and a non-single-page app on the first day of development. There are infinite points in between when it comes to interactivity. Noel: Read about frameworkless JavaScript in Noel’s book Master Space and Time With JavaScript (http://www.noelrappin.com/mstwjs/). Special Guests: Dave Copeland and Zach Briggs.