# SDL

Published articles for SDL.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Integrating Embedded Swift and SDL3 on ESP32

DevFeed: [Integrating Embedded Swift and SDL3 on ESP32](<https://devfeed.tech/articles/integrating-embedded-swift-and-sdl3-on-esp32-13886.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/integrating-embedded-swift-and-sdl3-on-esp32/>)

Author: John Lee

Published: 2024-11-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ESP32-C3](<https://devfeed.tech/topics/esp32-c3.md>), [ESP32-C6](<https://devfeed.tech/topics/esp32-c6.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-c3](<https://devfeed.tech/tags/esp32-c3.md>), [esp32-c6](<https://devfeed.tech/tags/esp32-c6.md>), [esp32-p4](<https://devfeed.tech/tags/esp32-p4.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-for-esp32-espressif-developer-portal](<https://devfeed.tech/tags/swift-for-esp32-espressif-developer-portal.md>)

### AI overview

This tutorial explains how to build and deploy graphical Embedded Swift applications for ESP32-C3 and ESP32-C6 microcontrollers using SDL3 for graphics rendering, ESP-IDF, and ESP-BSP.

### Source excerpt

Introduction# Swift is a powerful and intuitive programming language, renowned for its expressive syntax, modern features, and safety. Originally designed for developing applications across Apple's ecosystem--macOS, iOS, watchOS, and tvOS--Swift has gained popularity for its performance and developer-friendly nature. What is Embedded Swift?# Embedded Swift is subset of Swift programming language which extends the capabilities of Swift to the realm of embedded systems.

## GraphQL is for Backend Engineers

DevFeed: [GraphQL is for Backend Engineers](<https://devfeed.tech/articles/graphql-is-for-backend-engineers-23330.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/graphql-is-for-backend-engineers>)

Author: Dylan Anthony

Published: 2024-02-05T15:35:00Z

Content type: opinion

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [rest](<https://devfeed.tech/tags/rest.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>)

### AI overview

The article argues that GraphQL offers backend engineers benefits comparable to its frontend advantages. It presents GraphQL's schema definition language as a shared way to document APIs and communicate between teams, keeping documentation synchronized with implementation while supporting code generation, IDE assistance, and easier debugging. It also contrasts these benefits with communication and coordination challenges in REST API development.

### Source excerpt

Most articles explaining the benefits of GraphQL focus on advantages for the frontend: things like preventing overfetching, reducing round trips, and iterating faster. But GraphQL provides just as many advantages for backend developers, which is why I choose it by default for new APIs and why you should consider it, too. Improved communication The goal of building any API is to enable someone to use it, which requires excellent communication between API producers and consumers.

## FDA Releases Final Cybersecurity Guidance for Medical Devices

DevFeed: [FDA Releases Final Cybersecurity Guidance for Medical Devices](<https://devfeed.tech/articles/fda-final-cyber-guidance-is-out-36789.md>)

Original publisher: [Read original article](<https://shostack.org/blog/fda-final-cyber-guidance/>)

Author: Adam

Published: 2023-09-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [Security](<https://devfeed.tech/topics/security.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Security & Privacy](<https://devfeed.tech/topics/security-privacy.md>)

Tags: [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [medical-devices](<https://devfeed.tech/tags/medical-devices.md>), [product-security](<https://devfeed.tech/tags/product-security.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The FDA released final cybersecurity guidance for medical devices, replacing guidance that was nearly nine years old. The article says it is detailed and product-focused, and discusses its expected effects on medical device submissions, other regulatory guidance, and product liability litigation.

### Source excerpt

The FDA has released their new guidance, which will be broadly impactful.

## Add Python to your GraphQL API with GraphOS and Strawberry GraphQL

DevFeed: [Add Python to your GraphQL API with GraphOS and Strawberry GraphQL](<https://devfeed.tech/articles/add-python-to-your-graphql-api-with-graphos-and-strawberry-graphql-23125.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/add-python-to-your-graphql-api-with-graphos-and-strawberry-graphql>)

Author: Patrick Arminio

Published: 2022-12-13T09:04:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [code](<https://devfeed.tech/tags/code.md>), [framework](<https://devfeed.tech/tags/framework.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [post](<https://devfeed.tech/tags/post.md>), [python](<https://devfeed.tech/tags/python.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [server](<https://devfeed.tech/tags/server.md>), [snippet](<https://devfeed.tech/tags/snippet.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [types](<https://devfeed.tech/tags/types.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

This tutorial explains how to build a Python subgraph for a GraphQL supergraph using the Strawberry GraphQL library. It introduces Strawberry's code-first approach, Python type annotations, and how it compares with schema-first GraphQL development.

### Source excerpt

A supergraph helps you share responsibility for your organization's data across multiple backend services (these are known as subgraphs). Different teams can work on different subgraphs in parallel, and better yet, each subgraph can use an entirely different language and framework! There are loads of subgraph-compatible libraries to choose from. In this post, we'll look at how to create a subgraph in Python using the Strawberry GraphQL library.

## Designing Your First GraphQL Schema

DevFeed: [Designing Your First GraphQL Schema](<https://devfeed.tech/articles/designing-your-first-graphql-schema-23272.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/designing-your-first-graphql-schema>)

Author: Ceora Ford

Published: 2021-12-08T12:37:53Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [API](<https://devfeed.tech/topics/api.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [map](<https://devfeed.tech/tags/map.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial introduces principles for designing a flexible and evolvable GraphQL schema. It emphasizes understanding the application domain, users, and UI, then mapping application data as objects and relationships in a graph.

### Source excerpt

Building schemas are a key part of building a graph. Schemas are one of the major benefits of using GraphQL. The schema defines how clients can retrieve and data from your GraphQL API. With schemas, you can easily shape and evolve your data to fit your specific business, product, or project needs. If you're new to the GraphQL world, you might be wondering how you can build flexible and evolvable schemas.

## Journey of a GraphQL query

DevFeed: [Journey of a GraphQL query](<https://devfeed.tech/articles/journey-of-a-graphql-query-23434.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/journey-of-a-graphql-query>)

Author: Michelle Mabuyo

Published: 2021-09-03T10:10:37Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [client](<https://devfeed.tech/topics/client.md>), [Code](<https://devfeed.tech/topics/code.md>), [Server](<https://devfeed.tech/topics/server.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [beginners](<https://devfeed.tech/tags/beginners.md>), [code](<https://devfeed.tech/tags/code.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [request](<https://devfeed.tech/tags/request.md>), [resolvers](<https://devfeed.tech/tags/resolvers.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [server](<https://devfeed.tech/tags/server.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

A beginner-oriented tutorial explaining how a GraphQL query travels through a full-stack application. It describes how the schema defines available data, how the client sends a query, and how the server parses and validates the request before retrieving and returning data.

### Source excerpt

There are a lot of moving parts in GraphQL and it can feel a bit overwhelming to piece them together, especially for beginners! Maybe you've gone through a couple of tutorials, written some code, but can't quite wrap your head around how all these pieces work together. Or maybe you've tried out a few GraphQL queries to retrieve data, but want to know more about how the server is handling these requests. You've come to the right place!

## Threat Modeling Through the JoHari Window

DevFeed: [Threat Modeling Through the JoHari Window](<https://devfeed.tech/articles/threat-modeling-through-the-johari-window-37050.md>)

Original publisher: [Read original article](<https://shostack.org/blog/threat-modeling-through-the-johari-window/>)

Author: Adam

Published: 2021-08-20T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [sdl](<https://devfeed.tech/tags/sdl.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

The article highlights Irene Michlin's post on using the Johari window to examine threat modeling and discusses how tooling can help characterize threats that are identified or left out of the process.

### Source excerpt

Let me call your attention to a new post by Irene Michlin, "Where Threat Modelling fits in the matrix?" (with a few comments on why it matters).

## Mobile NixOS February 2020 round-up: graphical boot selection and project updates

DevFeed: [Mobile NixOS February 2020 round-up: graphical boot selection and project updates](<https://devfeed.tech/articles/february-2020-round-up-32459.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-03-03-february-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-03-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Library](<https://devfeed.tech/topics/library.md>), [mruby](<https://devfeed.tech/topics/mruby.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [gui](<https://devfeed.tech/tags/gui.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [news](<https://devfeed.tech/tags/news.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The February 2020 Mobile NixOS update reports three merged pull requests and four new projects in the organization. It highlights a working graphical boot selection for Mobile NixOS platforms, built with LittlevGL and mruby bindings, while noting that it is not yet a feature-complete generic bootloader replacement.

### Source excerpt

This update is the fourth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 3 PRs were merged during the month. This is not cheating, the last merged PR was merged late on the 29th. This is not development slowing down. Far from it. Four new projects were added to the Mobile NixOS GitHub organization related to this month's work. Keep on reading. Graphical boot selection Hot on the heels of the re-written init, and as teased, a working graphical boot selection is now available for Mobile NixOS platforms. There is more than meets the eye in pull request #80. To make this possible, a GUI toolkit of relatively small weight has to be found. After some research, it was found in the LittlevGL library. While it is geared more towards actual embedded development, it does have a Linux framebuffer backend, support for evdev input. This is all standard stuff that is well supported on all targets. What is really nice with that library is it also supports a "simulator" target, which is basically an SDL window. With that said, I personally don't want to write C, especially in complex use cases. I already worked on mruby integration for the Mobile NixOS stage-1. It was only natural to write mruby bindings for LittleVGL. With all the exposition done. What does this look like? The header image of this news post is composed of four devices running the GUI. An actual screenshot of the GUI follows, for better clarity. This is not a feature complete generic replacement for a bootloader. Though, it can become one when kexec support is added in the future. Additionally, as touched upon in the pull request, these bindings will allow us to improve the graphical boot process. In a future improvement we'll be able to add information about the current running step, and better failure state reporting. Ports No new port were made in Februa

## A roundup of articles and papers on risk management, security automation, SDL, and threat modeling

DevFeed: [A roundup of articles and papers on risk management, security automation, SDL, and threat modeling](<https://devfeed.tech/articles/interesting-reads-risk-automation-lessons-and-more-36843.md>)

Original publisher: [Read original article](<https://shostack.org/blog/interesting-reads-2/>)

Author: Adam

Published: 2019-10-15T00:00:00Z

Content type: article

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [risk-management](<https://devfeed.tech/topics/risk-management.md>), [Security](<https://devfeed.tech/topics/security.md>), [Automation](<https://devfeed.tech/topics/automation.md>)

Tags: [academics](<https://devfeed.tech/tags/academics.md>), [automation](<https://devfeed.tech/tags/automation.md>), [devices](<https://devfeed.tech/tags/devices.md>), [governance](<https://devfeed.tech/tags/governance.md>), [paper](<https://devfeed.tech/tags/paper.md>), [risk](<https://devfeed.tech/tags/risk.md>), [risk-management](<https://devfeed.tech/tags/risk-management.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This blog post highlights several readings on cybersecurity, including a risk management and governance knowledge area, automated security design flaw detection, lessons from 15 years of SDL, and threat modeling for devices.

### Source excerpt

Just what the title says.

## GraphQL validation using directives

DevFeed: [GraphQL validation using directives](<https://devfeed.tech/articles/graphql-validation-using-directives-23351.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/graphql-validation-using-directives>)

Author: James Mortemore

Published: 2018-06-06T04:17:39Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [backend-development](<https://devfeed.tech/topics/backend-development.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [guest-post](<https://devfeed.tech/tags/guest-post.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [server](<https://devfeed.tech/tags/server.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

A guest tutorial explains how to use GraphQL schema directives, including graphql-constraint-directive, to express validation rules for inputs such as string lengths and email addresses in SDL. It notes that state-dependent validation must remain in application code.

### Source excerpt

This is a guest post by James Mortemore, who is a software engineer at YLD. He has an extensive background in API development & enterprise integration architecture. Out of the box, GraphQL supports validating your inputs based on type information. For example, you can ensure that an argument is a particular scalar type, such as String or Int. You can also enforce the shape of object arguments using input object types.

## Three ways to represent your GraphQL schema

DevFeed: [Three ways to represent your GraphQL schema](<https://devfeed.tech/articles/three-ways-to-represent-your-graphql-schema-23546.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/three-ways-to-represent-your-graphql-schema>)

Author: Sashko Stubailo

Published: 2018-05-16T19:19:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [API](<https://devfeed.tech/topics/api.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Code](<https://devfeed.tech/topics/code.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [code](<https://devfeed.tech/tags/code.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [npm](<https://devfeed.tech/tags/npm.md>), [playground](<https://devfeed.tech/tags/playground.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>)

### AI overview

This tutorial explains three common ways to represent a GraphQL schema: GraphQL Schema Definition Language, the result of an introspection query, and the GraphQL.js GraphQLSchema object. It describes their uses and how to convert between them.

### Source excerpt

One of the best parts of GraphQL is that it provides a clean definition of the data available in your API through a schema. The schema describes the types and fields you can query, and also includes any relationships between those types. The schema is what enables GraphQL to have such a variety of useful developer tools including auto-completing query explorers like GraphiQL and GraphQL playground, editor and IDE integrations, query validation tools, code generation, automatic mocking and more.

## Modularizing your GraphQL schema code

DevFeed: [Modularizing your GraphQL schema code](<https://devfeed.tech/articles/modularizing-your-graphql-schema-code-23458.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/modularizing-your-graphql-schema-code>)

Author: Dhaivat Pandya

Published: 2018-04-12T19:58:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [files](<https://devfeed.tech/tags/files.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [resolvers](<https://devfeed.tech/tags/resolvers.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This tutorial explains how to modularize a growing GraphQL schema by splitting schema type definitions and resolvers into multiple files. It uses simple JavaScript concepts to import and combine the definitions and resolver objects.

### Source excerpt

As your GraphQL application grows from demo, to proof of concept, to production, the complexity of your schema and resolvers will grow in tandem. To organize your code, you'll want to split up your schema types and the associated resolvers into multiple files. We get this question frequently since there are a lot of different approaches to splitting up your schema code, and it might seem that you need a complex setup to get a good result.

## Reusable GraphQL schema directives

DevFeed: [Reusable GraphQL schema directives](<https://devfeed.tech/articles/reusable-graphql-schema-directives-23291.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/eusable-graphql-schema-directives>)

Author: Ben Newman

Published: 2018-03-15T21:16:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [applications](<https://devfeed.tech/tags/applications.md>), [building](<https://devfeed.tech/tags/building.md>), [caching](<https://devfeed.tech/tags/caching.md>), [development](<https://devfeed.tech/tags/development.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [examples](<https://devfeed.tech/tags/examples.md>), [feature](<https://devfeed.tech/tags/feature.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [resolvers](<https://devfeed.tech/tags/resolvers.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [server](<https://devfeed.tech/tags/server.md>), [software](<https://devfeed.tech/tags/software.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tools](<https://devfeed.tech/tags/tools.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This article explains reusable GraphQL schema directives and how SDL can annotate types, fields, and arguments to modify schema structure or runtime behavior. It introduces tools and examples for implementing custom directives, with applications including authorization, resolver generation, internationalization, identifiers, caching, and field deprecation.

### Source excerpt

No matter what programming language or software stack you choose for your GraphQL server, the Schema Definition Language (SDL for short) is the lingua franca shared by everyone building GraphQL APIs: Describing the structure and types of your data is the first step to doing anything with GraphQL, and the essence of SDL-first development. The formal specification of this shared language can be found here, though you shouldn't feel intimidated by that formalism.

## Building React Apps with GraphQL, Graphcool & Apollo

DevFeed: [Building React Apps with GraphQL, Graphcool & Apollo](<https://devfeed.tech/articles/building-react-apps-with-graphql-graphcool-apollo-23247.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/building-react-apps-with-graphql-graphcool-apollo-a54215ccd202>)

Author: Graphcool

Published: 2017-06-07T00:01:38Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [React](<https://devfeed.tech/topics/react.md>), [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [API](<https://devfeed.tech/topics/api.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [App](<https://devfeed.tech/topics/app.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [apps](<https://devfeed.tech/tags/apps.md>), [backend](<https://devfeed.tech/tags/backend.md>), [build](<https://devfeed.tech/tags/build.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [community](<https://devfeed.tech/tags/community.md>), [developer](<https://devfeed.tech/tags/developer.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [playground](<https://devfeed.tech/tags/playground.md>), [react](<https://devfeed.tech/tags/react.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial shows how to build a simple Instagram app with React and GraphQL using Apollo Client and Graphcool. It covers creating a GraphQL server and backend from a schema, configuring the app with the generated endpoint, and exploring the resulting code.

### Source excerpt

It's been less than two years since Facebook first open-sourced GraphQL as a new way of exposing data from an API. In that short period, it's already revolutionized the API space and many major companies, like GitHub, Twitter and Yelp, have started using it in production. In this article, you'll learn how to quickly get started with React & GraphQL by using Apollo Client and Graphcool to building a simple Instagram app. You can find the final version of the code on GitHub.

## Writing a 2D Platform Game in Nim with SDL2

DevFeed: [Writing a 2D Platform Game in Nim with SDL2](<https://devfeed.tech/articles/writing-a-2d-platform-game-in-nim-with-sdl2-30846.md>)

Original publisher: [Read original article](<https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/>)

Published: 2016-06-13T22:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Felsing](<https://devfeed.tech/sources/dennis-felsing.md>)

Topics: [Nim](<https://devfeed.tech/topics/nim.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [Game Development](<https://devfeed.tech/topics/game-development.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Graphics](<https://devfeed.tech/topics/graphics.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [game-development](<https://devfeed.tech/tags/game-development.md>), [github](<https://devfeed.tech/tags/github.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nim](<https://devfeed.tech/tags/nim.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how to build a simple 2D platform game in Nim with SDL2. It covers user input, graphics, tile maps, 2D physics with collision detection, camera movement, game logic, text rendering with caching, source code organization, and cross-compiling Nim programs for Windows on Linux.

### Source excerpt

Japanese Translation In this article we're going to write a simple 2D platform game. You can also consider this as a tutorial for game development with SDL2 in Nim. We will read in user input, display graphics and a tile map, and simulate simple 2D physics with collision detection and handling. Afterwards we will implement simple camera movement and game logic. To display some information we will render texts and develop a caching mechanism for said text rendering. The final result will be a binary file that requires only SDL2 and can be easily distributed, perfect for games. If you're on Linux we will also present a simple way to cross-compile Nim programs for Windows. For the sake of simplicity we're going to use the familiar graphics from DDNet and Teeworlds, with the end result of this tutorial looking like this: We're going to follow along with the development throughout this article with illustrative images and videos, but the best way to learn is if you follow along yourself by implementing the steps from this article. The code is purposefully kept simple and easy to extend so that you can play around with it and try out all kinds of changes to get an intuitive understanding. At the end of every section there is a link to its full source code. The iterations of the code of this article and the final result are available in a repository on GitHub. The resulting binaries can be downloaded here: Win64, Win32, Linux x86_64, Linux x86 Preliminaries For this post we require: The Nim programming language and its package manager Nimble SDL 2, SDL_image 2, SDL_ttf 2 (all for developers) Nim SDL2 wrapper and strfmt, which can be installed using Nimble On a unixoid system like Linux or Mac OS X the installation looks something like this: # Debian / Ubuntu $ sudo apt-get install git libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev # Arch Linux $ pacman -S git sdl2 sdl2_image sdl2_ttf # Homebrew on OS X $ brew install git sdl2 sdl2_image sdl2_ttf # FreeBSD $ pkg install git