Many of today’s popular applications are designed to run natively on the Windows platform. Accessing and controlling external hardware devices with a Windows application is often achieved by using a driver provided by the hardware supplier and activating hardware functions using an SDK.
When mobile devices such as tablets and smartphones appeared, developers simply rewrote their Windows applications to compile and run on the new platforms (such as iOS and Android). Any external device support which required Windows was left behind, and users were forced to go back to their desktops and laptops in order to access their legacy devices.