Topics include: Why Derrick chose to build Level as an SPA Choosing Elm over React or Vue How Elm is sort of like a language and framework combined Moving to Phoenix from Rails Why getting abstractions right feels easier in a functional language How "contexts" help you organize your Phoenix code The benefits of GraphQL over REST What it looks like to implement GraphQL on the server Avoiding n+1 queries with GraphQL Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bo...
Jul 03, 2018•1 hr 2 min•Ep 92•Transcript available on Metacast Sponsors: Cloudinary , sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Level The War on Developer Productivity , the Level manifesto Level live-coding screencasts on YouTube Ghost , open-source publishing platform Discourse , open-source discussion platform "After 5 years and $3M, here's everything we've learned from building Ghost" ,...
Jun 20, 2018•49 min•Ep 91•Transcript available on Metacast Topics include: What even is JSX, really? Why JSX is not a templating a language How render functions work Advantages of JSX over templates How to translate template features like v-if to JSX How event listeners work with JSX JSX gotchas to watch out for Sponsors: Cloudinary , sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Introducing JSX from...
Jun 13, 2018•1 hr 4 min•Ep 90•Transcript available on Metacast Topics include: Why has Ember stuck around when other frameworks from the same era haven't? What do you get when you choose Ember that you don't get with other frameworks? How does Ember's UI layer compare to React/Vue? What choices does Ember make differently than frameworks like React and Vue? How does Ember do state management? Why Ember is a great choice if you value stability Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codes...
May 23, 2018•1 hr 2 min•Ep 89•Transcript available on Metacast Topics include: What is Vuex and where did it come from? The benefits of centralizing all of your application's state into one place What sort of state belongs in Vuex and what state should stay local to a component What all the Vuex terminology means, like actions, mutations, getters, etc. How you initially populate a Vuex store Strategies for organizing all of the state in a store Common mistakes people make with Vuex Dealing with forms when using Vuex Sponsors: Rollbar , sign up at https://ro...
May 10, 2018•58 min•Ep 88•Transcript available on Metacast Topics include: Why global state is better than an event bus Why and how to avoid using this.$parent Custom events vs. callback props When to use watchers and when you don't need to Why you should prefer computed properties over methods Inline templates vs. scoped slots Using components to share code instead of mixins or directives Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship , check out how they performed in Forrester's ...
Apr 25, 2018•1 hr 10 min•Ep 87•Transcript available on Metacast Topics include: Wrapping non-Vue libraries as Vue components to maintain a consistent paradigm Using Popper.js with Vue to build dropdowns and tooltips Using portals to build better modal components Patterns for making it easier to reuse components throughout an application Which Tailwind CSS component classes Jonathan chose to extract (and which ones he didn't) How Jonathan chose to customize his Tailwind configuration for his project Using Tailwind's advanced screen options to better accommoda...
Apr 11, 2018•2 hr 32 min•Ep 86•Transcript available on Metacast Topics include: What does "event sourcing" even mean? What do terms like "aggregate" and "projection" mean in the context of event sourcing? What are the benefits of modeling something with event sourcing vs. a traditional state-based approach? How events are usually stored Why and how you might build multiple projections from a single event stream How events in event sourcing differ from the sort of events you might already be using in your projects A walkthrough of what the actual code would l...
Mar 30, 2018•1 hr 12 min•Ep 85•Transcript available on Metacast Topics include: Challenges with testing Vue components prior to vue-test-utils How vue-test-utils works and what it looks like to test a component Choosing a test runner Common mistakes people make when testing their components Mocking and stubbing external dependencies Combining unit testing with snapshot testing Sponsors: Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstr...
Mar 14, 2018•44 min•Ep 84•Transcript available on Metacast Topics include: What JavaScript looked like at Basecamp before Stimulus Why Basecamp chose to create a new framework instead of using React, Angular, or Vue How Basecamp uses server-rendered partials instead client-side templates Why David decided to start "On Writing Software Well" Evaluating patterns in practice and choosing between conflicting approaches Using concerns/mixins to organize classes with many features Applying resourceful routing to singular resources Sponsors: Rollbar , sign up ...
Feb 28, 2018•53 min•Ep 83•Transcript available on Metacast Topics include: Using animation to make interfaces easier to use The difference between animations and transitions When to use CSS animations vs. JavaScript animations Which CSS properties are safe to animate How to use techniques like FLIP to make sure your animations are performant Recommended libraries for building complex animations Strategies for keeping animation code maintainable Sponsors: Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Ro...
Feb 14, 2018•51 min•Ep 82•Transcript available on Metacast Topics include: What is a "higher order component"? How do you replicate the render prop pattern from React with Vue? Using scoped slots to build components with no UI Using render functions without using JSX How Vue's built-in components like `` work under the hood Sponsors: Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Vue.js Homepage T...
Jan 31, 2018•49 min•Ep 81•Transcript available on Metacast Topics include: What makes an application "multitenant" really? Choosing between a shared database or multi-database setup Approaches for identifying the current tenant Performance considerations How multitenancy impacts how you integrate with external services Sponsors: Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: "Building Multitenant ...
Jan 17, 2018•57 min•Ep 80•Transcript available on Metacast Kent gives a behind-the-scenes look at how the library uses the render prop pattern to allow maximum customizability without complex configuration. Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Links: downshift on GitHub "Introducing downshift for React" from Kent's blog "Use a Render Prop!" post by Michael Jackson "Compound Components...
Dec 21, 2017•51 min•Ep 79•Transcript available on Metacast Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Links: Refactoring Rails , Ben's refactoring course The 30 Day Code Quality Challenge , Ben's free 30-day code quality course Refactoring from Good to Great , Ben's popular refactoring talk Decompose Conditional , an example of "make the implicit explicit" Introduce Parameter Object Replace...
Dec 06, 2017•51 min•Ep 78•Transcript available on Metacast Topics include: Why Tailwind doesn't include buttons or forms Is Tailwind for front-end developers or back-end developers? Best practices around extracting component classes Using Tailwind with existing CSS or on top of other frameworks Optimizing Tailwind's generated file size New features planned for upcoming Tailwind releases Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship , check out how they performed in Forrester's lat...
Nov 21, 2017•1 hr 27 min•Ep 77•Transcript available on Metacast Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship , check out how they performed in Forrester's latest Continuous Integration Tools report Links: Tailwind CSS Homepage Tailwind CSS GitHub repository Tailwind CSS discussion forum @tailwindcss on Twitter "CSS Utility Classes and Separation of Concerns" , Adam's post on moving from "semantic" CSS to utility-first "Rebuilding Laravel.io with Tailwind CSS" , a video walkthrough of ...
Nov 08, 2017•1 hr 1 min•Ep 76•Transcript available on Metacast Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Diana's personal website Primer , GitHub's design system Primer modules on GitHub "Introducing Design Systems into Chaos" , Diana's recent talk on her work on design systems at GitHub Percy , a visual regression testing tool Primer CSS on Twitter GitHub Design on Twitter...
Oct 25, 2017•44 min•Ep 75•Transcript available on Metacast Topics include: How to pick great fonts Choosing a color scheme for your project Designing in greyscale Recreating existing interfaces from scratch Recommended design tools What you should design first on a new page Strategies for making things look professional without graphic design skills Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Steve's Blog Little UI Details , a collection of Steve's hot design tips Google Fonts, pr...
Oct 12, 2017•1 hr 7 min•Ep 74•Transcript available on Metacast Topics include: Why you shouldn't start with SaaS How to find ideas from client projects What to do before you make a landing page Why your first product doesn't have to be the one that makes you rich Using open source to build an audience Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Getting Real by 37signals (now Basecamp) Startups for the Rest of Us podcast Storemapper , interview with Tyler Tringas for IndieHack...
Sep 27, 2017•1 hr 6 min•Ep 73•Transcript available on Metacast Topics include: How their approaches have changed over time Feature tests vs. unit tests, when to use each Testing code that interacts with external services Using fakes instead of mocks Contract tests Testing view data vs. rendered HTML Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Test-Driven Laravel , Adam's testing course Laravel Horizon test suite Laravel Fakes documentation "Don't Mock What You Don't Own" , Ad...
Sep 13, 2017•59 min•Ep 72•Transcript available on Metacast Topics include: What is PostCSS, really? PostCSS vs. other preprocessors like Less and Sass Examples of things PostCSS can do How to use PostCSS to add your own features to CSS How to disguise custom features as valid CSS so PostCSS will parse it Porting Tailwind CSS from Less to PostCSS and why it's been awesome Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Tailwind CSS , Adam's upcoming CSS framework CSS Utility C...
Aug 30, 2017•56 min•Ep 71•Transcript available on Metacast Topics include: General project structure Dealing with initial load flicker Sharing routes between Vue and your server Handling authorization rules on the client Comparing strategies for getting data into your Vue components Best practices for sharing state between sibling components Signs you should extract a child component Using Vue to wrap up third-party libraries Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Vu...
Aug 16, 2017•1 hr 5 min•Ep 70•Transcript available on Metacast They also discuss the benefits of using a Turbolinks-style approach for small teams, and how Turbolinks on mobile compares to other popular tools like Ionic. Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Turbolinks Turbolinks iOS adapter Turbolinks Android adapter Turbolinks 5: I Can't Believe It's Not Native! , presentation by Sam Stephenson Hybrid Sweet Spot: Native navigation, web content , article on how Basecam...
Aug 02, 2017•55 min•Ep 69•Transcript available on Metacast They talk about the problems this approach has solved for them, the surprising workflow benefits, and some tips and tricks for using this approach well. Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: BEM , the Block Element Modifier CSS methodology About HTML semantics and front-end architecture , a blog post by Nicolas Gallagher that heavily inspired the way Adam writes CSS Implementing Designs with Utility-Focused ...
Jul 19, 2017•1 hr 4 min•Ep 68•Transcript available on Metacast Adam talks about some of the UI design challenges he and Steve have been trying to solve, and shares some of the creative solutions they came up with. Sponsors: Hired , sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: PushSilver , David's invoicing app David's fight video PushSilver discount , just for Full Stack Radio lis...
Jun 21, 2017•53 min•Ep 67•Transcript available on Metacast Adam gives an update on gracefully handling errors in the KiteTail checkout process, launching Zttp as an open-source package, and how he used Lumen to power the Zttp integration test suite. Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired , sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: PushSilver Infinite pre-launch page "How to Double Your Trial-to-P...
Jun 08, 2017•58 min•Ep 66•Transcript available on Metacast Adam shares the details behind his decision to bring on a co-founder for KiteTail, talks the collaboration process when working on an app with somebody else, and give an update on where he's at with getting KiteTail integrated into the Test-Driven Laravel course app. Sponsors: Hired , sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 d...
May 24, 2017•1 hr 1 min•Ep 65•Transcript available on Metacast Topics include: Thermostat.io and NPS surveys Charging more vs. charging less Finding a niche for PushSilver and how to appeal to that niche One-time purchase lifetime plans for SaaS Percentage-based vs. tiered pricing Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired , sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Thermostat.io , Ian's new NPS survey t...
May 09, 2017•1 hr 18 min•Ep 64•Transcript available on Metacast They chat about topics like: Dogfooding Cron Dog in PushSilver Dealing with complex validation Why we hate auto-saving UIs Validation issues when supporting "draft" models Expanding the scope of KiteTail Different ways to handle client-side image preview Building a Cron Dog SDK Sponsors: Rollbar , sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired , sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job...
Apr 27, 2017•53 min•Ep 63•Transcript available on Metacast