APIs and Application Development
See why it's easier to develop more creative applications and migrate to microservices.
Join the DZone community and get the full member experience.Join For Free
To gather insights on the current and future state of API management, we asked IT professionals from 18 companies to share their thoughts. We asked them, "How have APIs changed application development?" Here's what they told us:
- APIs made application development easier and more fluid. The maturity of APIs and mobile development go hand-in-hand. As people have greater expectations for mobile apps with more personalization, it's important for app developers to rely on other services like authentication and maps. It’s doesn’t make sense to build these yourself. As we see apps doing more for users, it drives the necessity of APIs to evolve to integrate between different services.
- API is a great way to externalize redundant — or complex — parts of any application. These can be ensuring the authenticity of a user (Captcha, IP verification, Email verification), communicating with them (Email provider, Chat systems), analytics, extending the functionality of the application and many more.
- Developers can focus on the core IP they bring to the table and not reinvent what’s already been built, e.g., billing engine plug-in via APIs. They are not only taking advantage of other functionality that’s available, but it also reduces the cost to maintain the system. You don’t have to worry about the operational aspects though you do have to monitor SLAs. Multiple levels of redundancy and very involved DevOps teams are needed to meet 99.9% SLAs.
- Thanks to APIs, developers can now focus on the core capabilities of the product they are building, leveraging the best of breed building blocks for key yet not core features. Consider an e-commerce website. Its search experience is definitely a key feature (who would tolerate having a subpar search experience while shopping today?) but is probably not a core one (while scoring/discussing items, getting notified for sales, would be). Today, it is just not cost-effective to roll out (as in install-tune-operate) an in-house search solution. The same reasoning applies for user authentication or secure payment: leverage dedicated APIs, benefit immediately from dedicated expertise, and pay as your business grows.
- When it comes to application development, APIs allow developers to get much closer to reusable code and components enabling them to truly take off the shelf feature capabilities and compose new creative use cases, or even business applications. The standardization of these interfaces and how developers interact with them reduces the complexity of the development process.
Developers have access to thousands of APIs that have been designed for all kinds of functions that the developers can simply reuse rather than having to build from scratch. They neither need to learn different programming languages that went behind creating those APIs nor do they need to understand the intricacies of the API; rather they only need to know what the API does and how to interact with it. It’s easier than ever to work with APIs off the shelf so to speak and cobble together new application(s) to solve a business use case or “add” new functionality for an app with existing APIs. Lastly, APIs allow for developers to put together novel applications because they have access to all these APIs whereas, in the past, these projects may have been too daunting or complex to take on if the developer had to write all of the code themselves.
With APIs, developers can share their code in a controlled and consistent way for true reusability. For example, if a developer spent time writing a very unique and complex function and wants to share or reuse that internally and externally, the API allows them to scale that reusability in a way that was not possible before. As a result, developers don’t have to reinvent the same code over and over - they’re able to maintain a level of consistency where the code is in one place instead of multiple copies. From a maintenance standpoint, APIs help reduce the inconsistencies and consolidates the touchpoint in one single place. On the security side, an API allows users to open an application or a platform’s differentiated capabilities without giving away the “secret sauce” or exposing the company to potential IP theft.
- Driving the microservices trend as microservices communicate with each other via APIs. It enables companies to use the right tool for the right job. We have 20+ microservices. Some for big data use C# and GoLang and then frontends in Node. Developers are able to build microservices using different languages. You don’t have to build your entire product on one framework or tech stack. Mix and match tech stacks as well as the elements of tech stacks as you see fit in the same ecosystem.
- Web service APIs is where the real revolution came around. People have found more strategic use cases. The real shift has been the move toward internal development. In the new world, we started talking about decomposing services. This is an extension of SOA but is the logical end to it. Microservices are designed to fit and mirror and good RESTful API design. The benefits of rethinking how teams work. It’s taking ease of use for external developers and bringing it in-house to make it more efficient to develop applications. Anyone can become a digital product maker.
- Web APIs have fundamentally changed application development. They define a contract and are a means of communication that enables two completely different applications to talk to one another. Behind every mobile app is an API. Behind every internet-enabled IoT device is an API. The massive shifts that we're seeing on the infrastructure side of things, from Docker to Kubernetes, would not be possible without APIs.
- APIs have greatly changed our development as well as our product. We had focused on file-based integration in the past including EDI and other flat files. As we have evolved the product into a comprehensive integration platform, we have added significant API capability including pre-built connectors for popular SaaS APIs, API consumer capability, API provider capability and also platform APIs that allow you to operate the platform.
- APIs are the connective tissue that links various software systems and online services and are key to unlocking data that typically exist in silos in an enterprise. They have changed application development in the following ways:
1) APIs are the new libraries — a software application now integrates with APIs instead of including libraries to deliver a specific capability.
2) APIs enable specialization — they are developed to expose a specific piece of functionality such as payment processing or SMS functionality that can be integrated with other systems.
- As a consumer, APIs have democratized development in much the same way that the cloud has democratized operations. With the cloud, you no longer need to sink a bunch of money upfront into buying expensive hardware before ever bringing your ideas to market. With APIs, you no longer need to sink a bunch of money into buying expensive on-prem software to which you shackle your nascent business.
Instead, you find API vendors who can give you the functionality you need, when you need it, metered to your usage. As a producer of APIs, you have new opportunities to forge deep integrations with your customers. Once someone integrates with an API you provide, they have a sunk development cost they’ll be loath to abandon. And if you provide an adjacent API (and don’t screw up by giving it a radically different interface), your customers will be inclined to adopt it rather than code up a completely new client to call another vendor.
- Since we’re a big provider of APIs it was critical for us to be consumers ourselves. That is absolutely necessary to establish a standard for usability and completeness. So we followed the API-first principle of design. Every function we developed from day one was first available via API and then used in our own support as well as user-facing applications.
API-first design is a must for anyone who provides APIs. I’d go as far as saying — everything useful your application does should be available via API. There should be no secret internal operations. Anything must be done via API. Even if you don’t expose some endpoint to your customers right away, designing them as if they were public-facing should increase quality considerably. The better documented they are, over time you will find more uses for them, what you initially thought of an internal support overhead might become a new killer API product.
- It's more so that application development has evolved to create a need for APIs. In the past, there was always one consumer of our data — our own application. Now, most any modern application’s data is multi-consumer, with customers, partners, and also other internal applications all needing access to the same data. Our databases were never designed to handle this model, so APIs were born.
- We see APIs as a driving force behind application development. First of all, they are essentially building blocks allowing to speed up and enrich software solutions with new features and capabilities. The bottom line here is that APIs help to save time and resources by providing flexibility in development and giving the opportunity to use several data sources at once. Less time and more flexibility in building software solutions lead to reduced development costs and considerably lower entry thresholds. If APIs didn’t exist, we wouldn’t have a good half of the solutions we enjoy using today.
Here's who shared their insights:
- Benoit Perrot, Director of Engineering, Algolia
- Paulo Michels, E.V.P. Engineering and Co-founder, ArcTouch
- Mike Schuricht, VP Product Management, Bitglass
- Ryan Breen, Director of API Management, Cimpress
- Jorge Rodriguez, S.V.P. Product Development, Cleo
- Nick Chernets, the Founder and CEO, DataForSEO
- Amrit Jassal, CTO and Founder, Egnyte
- Valery Novikov, Co-founder and CTO, FI.SPAN
- Brian Platz, Co-CEO, Fluree
- Manoj Chaudhary, CTO and SVP of Engineering, Jitterbit
- Derek Smith, CTO and Co-founder, Naveego
- Rob Whiteley, CMO, and Karthik Krishnaswamy, Senior Project Marketing Manager, NGINX
- Mark Cheshire, Director Product Management, Red Hat
- Cyril Nicodème, Founder, Reflectiv
- Chetan Conikee, Founder and CTO, ShiftLeft.io
- Idit Levine, CEO, Solo.io
- Marc MacLeod, Founder & CEO, Stoplight
- Rob Zazueta, Director of Digital Strategy, TIBCO
mobile app API dev Big data microservice
Opinions expressed by DZone contributors are their own.