# msgid "" msgstr "" msgid "" "title: \"GraphQL for BFFs: navigating the trade-offs\"\n" "date: 2020-10-22\n" "layout: slides\n" "lang: en\n" "ref: graphql-for-bffs-navigating-the-trade-offs\n" "published: false" msgstr "" msgid "GraphQL for BFFs" msgstr "" msgid "Navigating the trade-offs" msgstr "" msgid "???" msgstr "" msgid "slides já estão online, com sugestões incorporadas" msgstr "" msgid "artigo online" msgstr "" msgid "tupy: começar pelos slides é mais fácil" msgstr "" msgid "Mobile is **hard**" msgstr "" msgid "Immature ecosystem" msgstr "" msgid "" "Compared to desktop, browser and server ecosystem, which are many years " "older." msgstr "" msgid "iOS SDK released on 2008, which is:" msgstr "" msgid "the same year Python 3.0 was released;" msgstr "" msgid "" "1 year after Clojure's release and 13 years after Java's and JavaScript's " "release;" msgstr "" msgid "10 years after GTK release" msgstr "" msgid "Almost no competition" msgstr "" msgid "Effectively a duopoly, better than a monopoly, but meh." msgstr "" msgid "Closed, walled gardens." msgstr "" msgid "Less competition, lower quality." msgstr "" msgid "Compare to: browser ecosystem, desktop ecosystem" msgstr "" msgid "Little to no control over the environment" msgstr "" msgid "Bad on Android, worse on iOS." msgstr "" msgid "Our usage of GraphQL" msgstr "" msgid "History goes here" msgstr "" msgid "savings: React Native, GraphQL, TypeScript, stormshield" msgstr "" msgid "Proposal" msgstr "" msgid "Adopt GraphQL as the default for BFFs" msgstr "" msgid "Target" msgstr "" msgid "**data fetching** and **chaining**" msgstr "" msgid "It is not about:" msgstr "" msgid "over fetching" msgstr "" msgid "different clients with different data requirements" msgstr "" msgid "Goal" msgstr "" msgid "" "Move **complexity** out of mobile to the backend, get more **dynamicity** " "out of it ???" msgstr "" msgid "The complexity doesn't vanish or shrink, it just shifts." msgstr "" msgid "" "https://media.tenor.com/images/ce1962c14da22c969e664560e098b2bc/tenor.gif" msgstr "" msgid "Alternatives" msgstr "" msgid "AKA, why not \"just use a RESTful BFF\"?" msgstr "" msgid "REST" msgstr "" msgid "It doesn't address JOINs" msgstr "" msgid "Fulcro" msgstr "" msgid "For 10 reasons for using GraphQL, 8~9 are shared for Fulcro." msgstr "" msgid "The other 1~2 aren't so relevant:" msgstr "" msgid "data > syntax: already false for Swift, Kotlin, Dart" msgstr "" msgid "attributes > aggregates: already false for Swift, Kotlin, Dart" msgstr "" msgid "Falcor" msgstr "" msgid "SOAP" msgstr "" msgid "Implications" msgstr "" msgid "Invalid arguments" msgstr "" msgid "\"GraphQL isn't RESTful\"" msgstr "" msgid "🤷" msgstr "" msgid "Similar to saying \"REST isn't GraphQL\"" msgstr "" msgid "\"GraphQL has a bad caching story\"" msgstr "" msgid "True, but we don't do HTTP caching" msgstr "" msgid "\"query-params can be used for selection in a BFF with REST\"" msgstr "" msgid "👎" msgstr "" msgid "This isn't RESTful, and is an *ad-hoc* querying format" msgstr "" msgid "\"over-fetching isn't a problem\"" msgstr "" msgid "That is not the main reason for GraphQL" msgstr "" msgid "\"library X for GraphQL is bad\"" msgstr "" msgid "Valid arguments" msgstr "" msgid "\"Throttling by query complexity is hard\"" msgstr "" msgid "Lessons learned" msgstr "" msgid "Error handling" msgstr "" msgid "Takeaways" msgstr "" msgid "None of the points are specific to Flutter" msgstr "" msgid "GraphQL enables declarative **dynamicity**" msgstr "" msgid "Thank you!" msgstr "" msgid "References:" msgstr "" msgid "" "[prose version of this presentation]({% link _articles/2020-10-22-graphql-" "for-bffs-navigating-the-trade-offs.md %})" msgstr "" msgid "" "\"[Clients in control: building demand-driven systems with Om " "Next](https://www.youtube.com/watch?v=Zb18iPjDgwM)\", by António Nuno " "Monteiro" msgstr "" msgid "\"[Om Next](https://www.youtube.com/watch?v=MDZpSIngwm4)\", by David Nolen" msgstr "" msgid "these slides: [{{ site.tld }}/slides.html]({% link slides.md %})" msgstr "" #~ msgid "these slides: FIXME [{{ site.tld }}/slides.html]({% link slides.md %})" #~ msgstr ""