A Framework for Ember TypeScript with James C. Davis
Whiskey Web and Whatnot: Web Development, Neat - En podcast af RobbieTheWagner and Charles William Carpenter III - Torsdage
Kategorier:
In 2017, James C. Davis moved to Charlottesville, Virginia to work at a non-profit tech company that used Ember in their original Saas platform. While James had dabbled in Ember previously, an ask to reimplement the front-end in Ember, this time using TypeScript, proved challenging. At the time, a few engineers were using TypeScript in Ember, but the open source framework James worked on became the de-facto reference point for projects in Ember types. And the unofficial group of engineers collaborating on the project has become the official Ember TypeScript Core Team. Today, James works at e-commerce company Salsify with a front-end all in Ember TypeScript. Although setting the standard for using TypeScript in Ember, James believes there's a time and a place for types. Plus, he may have a solution for Robbie's monorepo grievances. In this episode, James talks with Chuck and Robbie about his struggles and triumphs perfecting Ember TypeScript, his real thoughts on monorepos and functional programming, keeping APIs private, and why developing Glint was a type checking necessity. Key Takeaways * [01:46] - A whiskey review. * [05:48] - Two truths and a lie. * [12:28] - How James discovered Ember and open source. * [16:28] - The purpose of the dot ember-cli file. * [22:00] - When TypeScript isn't your best bet. * [22:53] - How the Ember TypeScript core team is handling private API. * [25:41] - How James feels about monorepos and functional programming in general. * [28:57] - What tool James uses to link packages. * [31:36] - How James created Glint. * [39:03] - A camping, travel, and steak-themed whatnot. Quotes [17:58] - "One of the cool things about the way TypeScript is done now with Babel is we can write stuff in TypeScript and we can use Babel to basically strip out all of the type annotations and just produce JavaScript." ~ @jamscdavis [https://twitter.com/jamscdavis] [19:38] - "Basically at this point, the only really useful thing that you need inside ember-cli-typescript is its blueprint which is different from the blueprints that generate components and Ember things." ~ @jamscdavis [https://twitter.com/jamscdavis] [21:53] - "The bigger and more complex your project is, the more that [TypeScript] helps you." ~ @jamscdavis [https://twitter.com/jamscdavis] Links * James on Twitter [https://twitter.com/jamscdavis] * GitHub [https://github.com] * Twitter [http://www.twitter.com] * Elon Musk [https://twitter.com/elonmusk] * Starlink [https://www.starlink.com] * Ragged Branch Virginia Straight Bourbon (Wheated Bourbon) [https://www.raggedbranch.com] * It Might Get Loud [https://www.amazon.com/Might-Get-Loud-Jimmy-Page/dp/B002WNC5BU] * Whiskey Web and Whatnot: Bringing Types to Ember with Chris Krycho [https://www.whiskeywebandwhatnot.fm/bringing-types-to-ember-with-chris-krycho/] * Chris Krycho [https://twitter.com/chriskrycho] * Ember TypeScript Core Team [https://blog.emberjs.com/typed-ember-is-now-the-ember-type-script-core-team/] * Center for Open Science [https://www.cos.io] * The Open Science Framework [https://www.cos.io/products/osf] * Ember.js [https://emberjs.com] * TypeScript [https://www.typescriptlang.org] * ember-cli-typescript [https://github.com/typed-ember/ember-cli-typescript] * Salsify [https://www.salsify.com] * Dan Freeman [https://twitter.com/__dfreeman] * Babel [https://babeljs.io]