App development has a long history of rapid evolution and transformation, perhaps faster than any other industry. The tools we use to build and host our apps are constantly changing.
Rapid advances in programming tools offer many opportunities to create software for companies of different sizes, industries and budgets. However, the added flexibility and diversity of vehicles, as well as the ever-changing landscape, presents its own challenges.
Developers must be able to build their applications to adapt to the scale and changes their organizations, customers and infrastructures are exposed to. Fortunately, with the move to graphics-based programming, companies will be far better equipped to remain agile as they continually grow and adapt to their customers’ needs.
The challenges of modern app development
Get your tickets for TNW Valencia now!
The heart of technology comes to the heart of the Mediterranean
One of the blessings and curses of modern app development is the sheer number of choices you have.
You can choose to run your application on your own servers, in the cloud, or in a hybrid model. You can use a serverless model where a cloud provider manages your server in the background and you focus on functionality, or you can choose a containerized model where your application is packaged in a docker file. You can choose from different models of data hosting and storage, including data warehouses and data lakes. And you can make these and many other selections for each component of your application.
The advantage of this powerful variety of compute and storage platforms is that you can tailor your application to the needs of your customers and your organization. The downside, however, is the added complexity of communicating with the many different service APIs that support your application.
GraphQL helps developers communicate with APIs through flexible and structured data queries.
“Most applications need to communicate with dozens or even hundreds of services during their runtime. Apollo Graph, Inc. In some cases, each app update (mobile, web, etc.) requires hundreds of API calls to different services, says Peggy Rayzis, Senior Director of Developer Experience. developers who need to ensure that all these different services are compatible and interoperable.”
The added complexity also makes it difficult to iterate, add or change features, or change the underlying infrastructure. In any case, inconsistencies between redundant applications and services force developers to make heavy changes to their code to connect all the old and new services.
Graphics-based programming for recovery
One of the trends that helps developers overcome the complexity of the application ecosystem is graphics-based programming. Graph-based programming allows developers to add a data schema layer between their applications and API services running behind the scenes. This layer of abstraction separates these parts and allows them to evolve from one another without major disruptions.
“Basically the idea is that you add a middleware that allows your application to interact with your data entities by querying a graph,” Rayzis says. “Whether it’s an on-premises server, cloud VM, REST API, data warehouse, or a serverless function like AWS Lambda, the graphics layer is uniform and flexible regardless of what kind of infrastructure is running behind the scenes. ”
Graph-based programming was popularized by GraphQL, a data query language released by Facebook in 2015. GraphQL helps developers communicate with APIs through flexible and structured data queries. This makes it easier for the developer to focus on the data schema and logic of the application, as well as maintaining the stability of the application as APIs evolve and change.
We see that 30% of Fortune 500 companies create their apps in the top chart.
Companies and applications of different sizes can benefit from graphics-based programming. Rayzis says:
Any application, regardless of size and build, can benefit from graphics-based development. As your application grows or your data infrastructure changes, your graph stays consistent and adheres to your application’s logic.
For example, Walmart used GraphQL to create a consolidated schema of the different entities used in different apps and services available on web and mobile. With GraphQL, they can remove a lot of code being copied in their APIs, consolidate their implementation, and become much more agile in rolling out features and improving user experience.
Next generation graphics-based tools
“What we’ve found in over six years of working with developers implementing GraphQL at scale is that its flexibility is its greatest strength, but it can also have some negative consequences if not implemented in a principled way,” says Rayzis.
These limitations led to the idea of the supergraph, Apollo’s custom implementation of GraphQL. It goes beyond the core benefits of GraphQL instead of fetching data and backend for front-end (BFF) code with top graph, schema, and queries. It brings together a company’s data, microservices, and digital capabilities, creating a unified composite layer for the entire organization. The Supergraph architecture is built on Apollo’s open technology, the Apollo Federation. Apollo also provides GraphOS, a cloud-based tooling platform with an edge runtime and schema delivery pipeline for top graphing. According to Rayzis:
The top chart allows you to distribute the chart schema to different teams and different services, but then combine it into a single interface for the customer. It’s about solving real customer problems. It is based on our many years of experience helping customers implement GraphQL. And really, the main principles are that it is a unified layer, with built-in modules that you can develop over time.
One of the companies making use of the superchart is Booking.com, one of the largest online travel agencies in the world. Booking.com has been around since 1996 and therefore uses a lot of legacy code and infrastructure. This makes it very difficult to change the software architecture, especially since the company employs thousands of engineers and needs to make sure they can collaborate securely.
Thanks to the flexibility and versatility of the parent graph, Booking.com was able to gradually migrate to GraphQL without breaking any of its services. As engineers and managers gradually rolled out the top chart across the organization, they recognized the benefits and helped speed the transition. Full adoption of the super chart has allowed Booking.com to ship 40% faster and sometimes double the speed of publishing features. At the same time, they managed to significantly reduce errors and breaking changes.
“We see that 30% of Fortune 500 companies create their apps in the top chart. I think that number will only increase in the coming years,” Rayzis says.
It will significantly reduce the barriers to application development and enable more developers to create applications. It will continue to reduce the time required to build these apps. And so you’ll see even more innovation by making it more accessible and shortening that time.