From 2666d22f4084bef6c6da65d1ee08927fde0e1f40 Mon Sep 17 00:00:00 2001 From: Axel Sammet Date: Wed, 8 Feb 2023 15:24:44 +0100 Subject: [PATCH] docs: Removed dgs, added pnpm, updated graphql --- radar/2022-10-12/dgs.md | 6 ++++++ radar/2022-10-12/graphql.md | 28 ++++++++++++++++++++++++++++ radar/2022-10-12/pnpm.md | 12 ++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 radar/2022-10-12/dgs.md create mode 100644 radar/2022-10-12/graphql.md create mode 100644 radar/2022-10-12/pnpm.md diff --git a/radar/2022-10-12/dgs.md b/radar/2022-10-12/dgs.md new file mode 100644 index 0000000..83e8a41 --- /dev/null +++ b/radar/2022-10-12/dgs.md @@ -0,0 +1,6 @@ +--- +title: "DGS Framework" +ring: assess +quadrant: tools +featured: false +--- diff --git a/radar/2022-10-12/graphql.md b/radar/2022-10-12/graphql.md new file mode 100644 index 0000000..e70b906 --- /dev/null +++ b/radar/2022-10-12/graphql.md @@ -0,0 +1,28 @@ +--- +title: "GraphQL" +ring: adopt +quadrant: methods-and-patterns +--- + +[GraphQL](https://graphql.org/) is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data. +GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. + +GraphQL was developed by Facebook around 2010 and released 2015. +The main challenge it solves is to improve communication between browser and server on high dynamic web apps. + +The advantages are: +* schema and schema validation together with a useful type system +* the client (browser) controls what data should be sent (data reduction) +* with one request you can fetch "all" required data + +Client side integration can be achieved using the [Apollo Client Framework](/tools/apollo-client.html) which easily integrates into +[React.js](/languages-and-frameworks/react.html) based frontends. + +For [Spring Boot](https://spring.io/projects/spring-boot/) based backends [DGS](https://netflix.github.io/dgs/) provides a nice framework featuring: + +- an annotation-based programming model for Spring +- a test framework for writing query tests as unit tests +- a [Gradle](https://gradle.org/) code generation plugin to create types from a GraphQL schema in Java or Kotlin + + +The framework [Flamingo offers support for GraphQL](https://docs.flamingo.me/3.%20Flamingo%20Modules/graphql.html) and also Flamingo Commerce offers a full featured GraphQL API for e-commerce features. ([Example GraphQL Console for Commerce](https://demoshop.flamingo.me/en/graphql-console)) \ No newline at end of file diff --git a/radar/2022-10-12/pnpm.md b/radar/2022-10-12/pnpm.md new file mode 100644 index 0000000..0586ba6 --- /dev/null +++ b/radar/2022-10-12/pnpm.md @@ -0,0 +1,12 @@ +--- +title: "pnpm" +ring: assess +quadrant: tools +featured: true +--- + +[pnpm](https://pnpm.io/motivation) is an alternative tool to manage your frontend dependencies. Unlike yarn 1 it manages all packages in a central place and +creates symbolic links only inside the npm_modules of a project. This results in considerably less usage of disk space and reduces build-times, when a package +is already available. + +Additionally a cache server can be setup and used during pipeline builds to decrease network traffic and build times.