• TypeScript Beyond the Basics

    Developing a real-world full-stack app often involves tedious threading of data across multiple layers of the stack. This is particularly undesirable during prototyping phases where the main goal may be just to demonstrate an idea or design. It’s also risky when going to production since data inconsistencies between the layers can lead to bugs. We show one solution to this velocity and type-safety dilemma via Nexus combined with Prisma.

  • Build Your GraphQL APIs Faster with Nexus Schema

    Developing a real-world full-stack app often involves tedious threading of data across multiple layers of the stack. This is particularly undesirable during prototyping phases where the main goal may be just to demonstrate an idea or design. It’s also risky when going to production since data inconsistencies between the layers can lead to bugs. We show one solution to this velocity and type-safety dilemma via Nexus combined with Prisma.

  • TypeScript for Every Part of Your Stack

    Developing a real-world full-stack app often involves tedious threading of data across multiple layers of the stack. This is particularly undesirable during prototyping phases where the main goal may be just to demonstrate an idea or design. It’s also risky when going to production since data inconsistencies between the layers can lead to bugs. We show one solution to this velocity and type-safety dilemma via Nexus combined with Prisma.

  • Tightening the Full-Stack Development Loop with Nexus and Prisma

    Developing a real-world full-stack app often involves tedious threading of data across multiple layers of the stack. This is particularly undesirable during prototyping phases where the main goal may be just to demonstrate an idea or design. It’s also risky when going to production since data inconsistencies between the layers can lead to bugs. We show one solution to this velocity and type-safety dilemma via Nexus combined with Prisma.

  • Managers Workshop

  • What About the Database? How to Write Efficient Queries for GraphQL Resolvers

    When writing GraphQL servers, we often place a lot of emphasis on how to craft good resolvers. However, we don't often think about how to create good database queries to furnish the data for those resolvers. Let's look at how it's easy to fall into the trap of writing inefficient database queries and how we can use GraphQL itself to solve this problem.

  • What is this? Angular in my React?

    Reusable components are a great idea. That is, until you find yourself working in a React app and you’re unable to reuse the great Angular components you’ve already built. Thankfully, there’s a way around this. If you need to support multiple frontend frameworks, you can harness the power of Angular Elements to do just that and build reusable shared components that will drop right in your app. In this talk, we’ll show you how you can manage components across different frontend frameworks and keep everyone happy.

  • Angular Beyond the Front End

    When we build full-stack applications, we often need to use different languages and paradigms between the front end and backend. This comes with a cost. Context switching between the two can create friction and slow development. Even if we are only focused on development for one of these two areas, there are certain cross-team benefits that we're missing out on by using different technologies on the front end and backend. While we can't really use Angular on the backend, we can get pretty close. NestJS is a development platform for Node which is heavily inspired by Angular. Many of the concepts we know from Angular are directly mapped to a backend Node environment using NestJS. In this talk, we'll explore why it's beneficial to use Angular and NestJS together, regardless of whether you're a full-stack developer or you are part of a larger team.

  • Angular Elements Make the Best React Components

    Reusable components are a great idea. That is, until you find yourself working in a React app and you’re unable to reuse the great Angular components you’ve already built. Thankfully, there’s a way around this. If you need to support multiple frontend frameworks, you can harness the power of Angular Elements to do just that and build reusable shared components that will drop right in your app. In this talk, we’ll show you how you can manage components across different frontend frameworks and keep everyone happy.

  • Supercharge Your Schemas with Custom Directives

    GraphQL's schema language is beautiful. It allows us to author data models concisely and communicate with teammates clearly. Using Apollo, we can also write directives to supercharge our schemas with custom behavior. Let's talk about how to write custom directives and the benefits they offer.

  • Supercharge Your Schemas with Custom Directives

    GraphQL's schema language is beautiful. It allows us to author data models concisely and communicate with teammates clearly. Using Apollo, we can also write directives to supercharge our schemas with custom behavior. Let's talk about how to write custom directives and the benefits they offer.

  • Optimizing GraphQL Applications

    The promise of GraphQL is clear and compelling: allow your clients to ask for exactly the data they need at exactly the time they need it. Add the fact that you get a strongly-typed API and automatic introspection out-of-the-box and it’s easy to see why so many companies are making the switch to GraphQL. The default tooling that comes with GraphQL works well for small applications. However, once our apps start to get sizeable, it becomes easy to hit bottlenecks and performance degradations. Fortunately, there are several optimizations we can add without a ton of effort. In this talk, we’ll look at some of the best bang-for-buck GraphQL optimizations available. We’ll take a deep-dive into query batching to limit server requests. We’ll look at schema stitching to optimize how we call into multiple GraphQL endpoints. We’ll also talk about features offered by Apollo to improve perceived performance such as the optimistic UI pattern. Finally, we’ll look at some of the best ways to profile and monitor your GraphQL API.

  • Rethinking Data with GraphQL

  • Use the Custom Operator Force; Become an RxJS Jedi

    Let’s face it, doing advanced work with RxJS is just plain tough. Sure, some of the simpler operators are easy to grok, but once we get beyond simple maps and subscribes, it doesn’t take much to just give up and go back to where things are comfortable. This is a shame because there’s a whole world of streamy goodness that, for many developers, is just around the corner. Writing advanced RxJS requires that we know its operators. There’s arguably no better way to get to know them than by writing our very own. In this workshop we’ll dig into RxJS by crafting our own operators. This will be hugely beneficial for you because, to do so, we’ll really need to get to know some of the more advanced native operators. If you want to become an RxJS Jedi by getting to know RxJS inside and out, this workshop is for you.

  • Handling Authentication and Authorization in GraphQL

    Auth for GraphQL can be tricky. It's easy to lock down the entire endpoint but this is often too much. How do we get more specific? Let's talk about the available options and best practices for auth in GraphQL. You'll come away knowing everything you need to get a working auth solution in place