We live in a post-PC world where people do almost everything on their mobile devices. Software developers have responded to this by taking a mobile-first approach to the software they build, but it has become clear that mobile devices have different needs when it comes to consuming data—various mobile platforms encourage certain behavior, there is an increasing need to support devices and sensors, and the web client has its own specific needs too.
This is most evident when developing an API for a system that has various clients. Trying to serve all clients from a single API gateway leads to messy code. (And when you have messy code, you have code that is hard to maintain.) This also impacts the performance of the system, especially when the code has to figure out which client it’s communicating with and how best to transmit data. Ultimately, it makes the work of the team harder in the long run, as responding to change becomes difficult.
Bulama Yusuf offers one solution when developing an API for a system that has various clients: the Backend for Frontend (BFF) pattern.
Bulama Yusuf is the founder and chief software architect at Intellectual Apps. An enthusiastic application developer with over six years’ experience building applications, Bulama has built and deployed several cloud-connected mobile applications, including an application that lets users engrave their signatures at places they visit and an application that monitors and reports the electricity status of a given location. Bulama has entered and won several mobile application building contests, including the Google Android Challenge for Sub-Saharan Africa and the Samsung Mobile Application Development Challenge. He has also led several web development teams that built customized solutions for specific clients. Bulama’s core interests are cloud computing and mobile application development, and he has a keen interest in understanding how systems work and building them. He recently picked up a new hobby: programming microcontrollers. Bulama holds a number of certifications, including the Sun Certified Web Component Developer, Sun Certified Java Programmer, and Microsoft Certified Technology Specialist, and he has experience with a wide range of technologies. He has led numerous training sessions within and outside Nigeria and is the current coordinator for the Google developer group and Java user group in Abuja.
©2017, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org