A framework is essentially a collection of code aimed at easing the development of software for a specific application. It provides the developer with a range of classes—or the language equivalent—to allow you to implement the application logic without having to worry about interfacing with the underlying hardware, or using the OS's APIs.
In previous chapters, we used a number of frameworks to make our development efforts easier, from the No date Framework (Chapter 4, Resource-Restricted Embedded Systems) and CMSIS to Arduino for microcontrollers (MCUs), and from the low-level POCO framework for cross-platform development to the higher-level Qt framework.
Each of these frameworks has a specific type of system that they are intended for. For No date, CMSIS, and Arduino, the target is MCUs, ranging from 8-bit AVR MCUs to 32-bit...