What the new API approach does - and what not
"The architectural style REST has become an essential part of modern web services and backend development. However, a RESTful architecture is not necessarily the ideal solution for every problem. Motivated by the needs of data-driven, mobile clients, Facebook has developed GraphQL. In recent years the API description and query language has grown beyond Facebook's borders."
An introduction to GraphQL – that's the title of the current article in German Java Magazine by Alexander Kirschner and Gernot Pointner, both software developers at jambit.
Read the full article (in German) in edition: Java Magazin 5.18 - "Machine Learning".
Two of our jambitees have explored this new API approach in detail and in a very practical way. They used a webshop example to show what GraphQL actually does.
- How does GraphQL work and what kind of problems are actually solved by it?
- How can GraphQL be integrated into existing architectures?
- How can GraphQL be differenciated from REST, and in what kind of projects does it make sense to use it?
These and other questions are answered by the article with the help of several illustrations and code examples.
On top of that, the article suggests useful tools and provides tips and tricks for using the new API approach. It also discusses advantages and disadvantages of GraphQL in respect to questions regarding caching, conformity to HTTP semantics, error handling and versioning.
The conclusion of both software developers: There is no single API approach available that suits all projects - GraphQL and REST are not an exception. With both REST and GraphQL you can build good and bad APIs.
About the writer
Alexander Kirschner, Master of Science (Information Systems and Management) and Senior Software Architect at Business Division Automotive Bavaria
Since 2014 Alexander is developing software at jambit GmbH. After spending several years in the field of C-/C++ automotive infotainment development, he has recently been focusing on the field of distributed systems and especially micro-service architectures. His other areas of expertise include agile development processes and continuous integration and delivery.
Gernot Pointner, Computer Scientist (Diploma) and Senior Software Architect at Business Division Automotive Bavaria
Gernot has also been working as a developer at jambit GmbH since 2014. In recent years he gained experience with various technologies. His current field of application are distributed web services architectures in the Java environment. His other interests include concurrency and functional programming. Currently, Gernot works from our new location in Leipzig as one of the first team members.
You are also looking for high-profile authors or speakers on a specific topic in the field of software development? Feel free to contact us and let us know about your topic.