SlideShare a Scribd company logo
L'opensourcem'atuer*?
HTGrenoble Février 2019 - @sabativi
VictorSabatier
Freelance Web and mobile
developper.
Build stuff using Meteor,
GraphQL, React and React native.
Love learning and sharing
victor@reactivic.com
HTGrenoble Février 2019 - @sabativi
Disclaimer:Iloveopen
sourceYou should contribute, use and have fun with it.
HTGrenoble Février 2019 - @sabativi
A story of open sourcing a project that
went wrong.
HTGrenoble Février 2019 - @sabativi
Two technologies involved :
· React Native.
· GraphQL.
HTGrenoble Février 2019 - @sabativi
IloveGraphQL
· Promise is amazing.
· Tooling is amazing.
· Community is amazing
Iwanttouseiteverywhere
HTGrenoble Février 2019 - @sabativi
November2017:newproject
HTGrenoble Février 2019 - @sabativi
Customer : I want a mobile app and I have
already a REST API.
· Me : I want to use GraphQL, can you put an API
for me ? It will be easier and cheaper.
· Customer : Euh...
· Customer: Nop.
· Me : Ok no problem. I will use more standard
technologies.
HTGrenoble Février 2019 - @sabativi
But wait, what if we can specify in our
GraphQL queries to fetch data from
REST.
HTGrenoble Février 2019 - @sabativi
GraphQlquery
{
users {
id
name {
first
last
}
emails {
address
}
}
}
HTGrenoble Février 2019 - @sabativi
{ {
users { users @restAPI(type: "User", endPoint: "/users") {
id id
name { name {
first ---> first
last last
} }
emails { emails {
address address
} }
} }
} }
HTGrenoble Février 2019 - @sabativi
POC
HTGrenoble Février 2019 - @sabativi
!
POC was working well, in both React and React
Native environments.
!
HTGrenoble Février 2019 - @sabativi
My real vision for this project was to enable
people to start using GraphQL on the client
without having to change anything on the
backend.
HTGrenoble Février 2019 - @sabativi
Advanced example
HTGrenoble Février 2019 - @sabativi
Celebration
HTGrenoble Février 2019 - @sabativi
· Hey, this is peggy from Apollo, we will love
make it available within our own github org.
· We started having a huge traction, starting to
have many contributors...
· Many new issues, PRs
HTGrenoble Février 2019 - @sabativi
HTGrenoble Février 2019 - @sabativi
Sowhatwentwrong?
HTGrenoble Février 2019 - @sabativi
RESTisnotastandard.
By accepting contributions, we have tried to fit every use cases of
a REST API into our lib.
HTGrenoble Février 2019 - @sabativi
It requires some computation power
to transform all possibles ways of
writing a REST APIs into something
standard for the graphQL client
cache.
HTGrenoble Février 2019 - @sabativi
WhyitisaproblemintheReact
Nativeenvironment?
On the web, it is working well.
HTGrenoble Février 2019 - @sabativi
Meetthebridge
HTGrenoble Février 2019 - @sabativi
Principle
HTGrenoble Février 2019 - @sabativi
Whathappens
· I make a query -> results arrived.
· It is transformed to fit into graphQL client cache
· JS thread ( can be ) blocked while doing so.
· No new UI rendering possible, UI is
unresponsive.
· CPU spike -> battery melt away.
HTGrenoble Février 2019 - @sabativi
Conclusion
· Open Source is not the problem
· I am
· I did not manage to keep the project as simple
as I first wanted.
· API was also a badly designed.
HTGrenoble Février 2019 - @sabativi
Thanks
HTGrenoble Février 2019 - @sabativi

More Related Content

PDF
Summer 2017
PDF
Graphql
PDF
React Native - Rex - HTGrenoble
PDF
React Fiber
PDF
De git à la blockchain
PPTX
Remixes for local government
PDF
Gitlab CI + GAE Autodeploy
PDF
Ariadne: familiar GraphQL in Python
Summer 2017
Graphql
React Native - Rex - HTGrenoble
React Fiber
De git à la blockchain
Remixes for local government
Gitlab CI + GAE Autodeploy
Ariadne: familiar GraphQL in Python

What's hot (16)

PDF
Introduction to GraphQL with Ruby
PDF
Creating a GraphQL API in Python: from Django to fully asynchronous
PDF
APIdays Paris 2019 - End-to-end Type-Safe GraphQL Apps by Carlos Rufo, GraphQ...
PDF
API Plattform - A Backend in Minutes
PDF
Zero-Copy Compositing in WebKitGTK+ for GUADEC 2015 (GUADEC 2015)
PPTX
An Introduction to Cloud Native World
PPTX
Google AppEngine and Cloud Endpoint
PDF
Shiny.collections - Google Docs-like live collaboration in Shiny!
PDF
Markup Ain't Easy or: How I Learned to love An Object-Oriented RenderAPI
PDF
Standing out as a new grad candidate
PDF
Using Cloud Natural Language API as a preprocessor
PDF
From a native app to a webapp using Node.js and emscripten
PPTX
Apollo GraphQL Workshop
PPT
Pick a place (back end)
PDF
Shubhankar s resume
PDF
Webinar - SpagoBI 3.0, a turning point in Open Source Business Intelligence
Introduction to GraphQL with Ruby
Creating a GraphQL API in Python: from Django to fully asynchronous
APIdays Paris 2019 - End-to-end Type-Safe GraphQL Apps by Carlos Rufo, GraphQ...
API Plattform - A Backend in Minutes
Zero-Copy Compositing in WebKitGTK+ for GUADEC 2015 (GUADEC 2015)
An Introduction to Cloud Native World
Google AppEngine and Cloud Endpoint
Shiny.collections - Google Docs-like live collaboration in Shiny!
Markup Ain't Easy or: How I Learned to love An Object-Oriented RenderAPI
Standing out as a new grad candidate
Using Cloud Natural Language API as a preprocessor
From a native app to a webapp using Node.js and emscripten
Apollo GraphQL Workshop
Pick a place (back end)
Shubhankar s resume
Webinar - SpagoBI 3.0, a turning point in Open Source Business Intelligence
Ad

Similar to L'open source m'a tuer* (20)

PDF
APIdays Paris 2018 - GraphQL Opening Talk: The State of GraphQL, Jonathan Jal...
PDF
Apidays London 2024 - Battle-tested APIs_Tech and Business working together, ...
PDF
INTERFACE by apidays 2023 - Battle-tested APIs, Jean Burellier, Sanofi
PPTX
Your API is a Product, so why doesn't it have a Product Manager?
PDF
GraphQL over REST at Reactathon 2018
PDF
Modular GraphQL with Schema Stitching
PPTX
JHipster & blueprint 02-07-2019 - casablanca jug
PDF
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
PDF
API Design for Microservices with Apiary
PDF
Evolution of GitLab Frontend
PDF
apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...
PPTX
Experience in Magento Community Projects
PPTX
LeWeb 2012 Paris Startup Competition Pitch
PDF
Front-end for Java developers Devoxx France 2018
PDF
How ChatGPT led OpenAPI's Recent Spike in Popularity
PDF
Serverless <3 GraphQL - AWS UG Tampere 2020
PDF
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
PDF
"How to create an efficient API.. with a business model?" by Nicolas Grenié
PPTX
APIdays Helsinki 2019 - How to Design and Publish API Products that Your Cust...
PDF
Angboard
APIdays Paris 2018 - GraphQL Opening Talk: The State of GraphQL, Jonathan Jal...
Apidays London 2024 - Battle-tested APIs_Tech and Business working together, ...
INTERFACE by apidays 2023 - Battle-tested APIs, Jean Burellier, Sanofi
Your API is a Product, so why doesn't it have a Product Manager?
GraphQL over REST at Reactathon 2018
Modular GraphQL with Schema Stitching
JHipster & blueprint 02-07-2019 - casablanca jug
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
API Design for Microservices with Apiary
Evolution of GitLab Frontend
apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...
Experience in Magento Community Projects
LeWeb 2012 Paris Startup Competition Pitch
Front-end for Java developers Devoxx France 2018
How ChatGPT led OpenAPI's Recent Spike in Popularity
Serverless <3 GraphQL - AWS UG Tampere 2020
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
"How to create an efficient API.. with a business model?" by Nicolas Grenié
APIdays Helsinki 2019 - How to Design and Publish API Products that Your Cust...
Angboard
Ad

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Encapsulation theory and applications.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
Encapsulation theory and applications.pdf
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
Group 1 Presentation -Planning and Decision Making .pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25-Week II
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
OMC Textile Division Presentation 2021.pptx
1. Introduction to Computer Programming.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Heart disease approach using modified random forest and particle swarm optimi...
MIND Revenue Release Quarter 2 2025 Press Release

L'open source m'a tuer*