Episode 005-javascript-apps: JavaScript: Islands, Sprinkles, and Frameworks with Zach Briggs and David Copeland




Tech Done Right show

Summary: <h2>Episode 005: JavaScript: Islands, Sprinkles, and Frameworks</h2> <p>Follow us on Twitter! <a href="http://www.twitter.com/tech_done_right" rel="nofollow">@tech_done_right</a> or leave us a review on <a href="https://itunes.apple.com/us/podcast/tech-done-right/id1195695341" rel="nofollow">iTunes</a>!</p> <h2>Summary</h2> <p>Dave Copleand (<a href="http://www.twitter.com/davetron5000" rel="nofollow">@davetron5000</a>) and Zach Briggs (<a href="http://www.twitter.com/theotherzach" rel="nofollow">@theotherzach</a>) join Noel Rappin (<a href="http://www.twitter.com/noelrap" rel="nofollow">@noelrap</a>) 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?</p> <h2>Guests</h2> <p><a href="https://twitter.com/davetron5000" rel="nofollow">Dave Copeland</a>: Author of <a href="https://pragprog.com/book/dcbang/rails-angular-postgres-and-bootstrap" rel="nofollow">Rails, Angular, Postgres, and Bootstrap</a></p> <p><a href="https://twitter.com/TheOtherZach" rel="nofollow">Zach Briggs</a>: JavaScript Practice Lead at <a href="http://www.tablexi.com/" rel="nofollow">Table XI</a></p> <h2>Show Notes</h2> <p>02:15 - Reasons to Build a <a href="https://en.wikipedia.org/wiki/Single-page_application" rel="nofollow">Single-Page App</a> </p> <ul> <li><a href="https://en.wikipedia.org/wiki/Conway's_law" rel="nofollow">Conway’s Law</a></li> </ul> <p>09:37 - The Ease of Building Web Over Single-Page Apps</p> <p>11:30 - Tooling; Navigating Good Choices vs Bad Choices</p> <p>14:31 - Setup</p> <ul> <li> <a href="https://bower.io/" rel="nofollow">Bower</a> </li> <li> <a href="https://webpack.github.io/" rel="nofollow">webpack</a> </li> <li> <a href="http://browserify.org/" rel="nofollow">Browserify</a> </li> <li><a href="http://broccolijs.com/" rel="nofollow">Broccoli</a></li> <li><a href="https://yarnpkg.com" rel="nofollow">Yarn</a></li> <li> <a href="http://guides.rubyonrails.org/asset_pipeline.html" rel="nofollow">The Asset Pipeline</a> </li> </ul> <p>16:30 - Combining a Rails App and a JavaScript App</p> <p>18:34 - AngularJS; 1 vs 2</p> <ul> <li><a href="https://angularjs.org" rel="nofollow">Angular</a></li> <li> <a href="https://facebook.github.io/react/" rel="nofollow">React</a> </li> <li> <a href="https://vuejs.org/" rel="nofollow">Vue.js</a> </li> </ul> <p>33:05 - Testing</p> <ul> <li> <a href="https://github.com/searls/jasmine-rails" rel="nofollow">jasmine-rails gem</a> </li> <li> <a href="http://testdouble.com/" rel="nofollow">Test Double</a> </li> </ul> <p>35:35 - <a href="https://www.typescriptlang.org/" rel="nofollow">TypeScript</a> </p> <ul> <li><a href="http://elm-lang.org/" rel="nofollow">Elm</a></li> </ul> <h2>Tips &amp; Resources:</h2> <p>Dave: Check out <a href="http://testdouble.com/" rel="nofollow">Test Double</a>.</p> <p>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.</p> <p>Noel: Read about frameworkless JavaScript in Noel’s book <a href="http://www.noelrappin.com/mstwjs/" rel="nofollow">Master Space and Time With JavaScript</a>.</p><p>Special Guests: Dave Copeland and Zach Briggs.</p><p>Sponsored By:</p><ul><li> <a rel="nofollow" href="http://www.tablexi.com">Table XI</a>: <a rel="nofollow" href="http://www.tablexi.com">A trusted UX design + software development company. We are 35 meticulous and curious minds in Chicago with a 15 year history of building websites, mobile applications and custom digital experiences for everyone from startups to storied brands. Our partners trust us to create innovative solutions that drive their businesses forward.</a> </li></ul>