Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

When to reinvent the wheel / Building a query language in TypeScript

204 visualizaciones

Publicado el

Were you ever unsatisfied enough with an existing framework that you took the completely crazy step of rewriting it?
Well, that just happened to Ashley Davis. He's just finished rebuilding GraphQL in TypeScript.
We'll talk about "reinventing the wheel". Why is it considered bad? When is it a good time to reinvent things?
We'll look at how the new query language was developed and see a demo of it in action!

Publicado en: Software
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

When to reinvent the wheel / Building a query language in TypeScript

  1. 1. When to reinvent the wheel? Building a JSON-based query language for JavaScript/TypeScript @ashleydavis75
  2. 2. Background  GraphQL didn’t fit my needs  Thus MiniQL was born @ashleydavis75
  3. 3. What is GraphQL?  A language to query and update data  Very popular  Created by Facebook  Open source  It’s quite incredible https://graphql.org/
  4. 4. What’s wrong with GraphQL?  Forced schema  Add a new language to your stack  Too big/complex  Time consuming to implement  Tedious to have to specify everything you want returned
  5. 5. Why reinvent the wheel?  When is it appropriate? @ashleydavis75
  6. 6. Why reinvent the wheel?  If no one reinvented wheels we’d never have better wheels @ashleydavis75
  7. 7. Why reinvent the wheel?  The existing wheel doesn’t do what you want  To make a better wheel @ashleydavis75
  8. 8. Why reinvent the wheel?  For fun or education @ashleydavis75
  9. 9. Why reinvent the wheel?  For fun or education  But not at work @ashleydavis75
  10. 10. Introducing MiniQL  Features  JSON-based query language  Implemented in TypeScript for use in JavaScript/TypeScript  No schema  All fields returned by default  Delegate features to the backend  Node.js or the browser @ashleydavis75
  11. 11. MiniQL demo  Demo time! @ashleydavis75
  12. 12. Resources  MiniQL: https://github.com/miniql/miniql  Interactive example: https://miniql.github.io/miniql-interactive-example/  GraphQL: https://graphql.org/  TypeScript template: https://github.com/ashleydavis/typescript-template  Bootstrapping Microservices: http://bit.ly/2o0aDsP @ashleydavis75

×