Since Apple introduced Catalyst ealier this year during WWDC '19 it becomes possible to have a single codebase for an app that runs on iPads and Macs.
Already for a long time it was possible to create iOS applications that run on both iPhones and iPads using the same app distribution. Obviously for such an app to look good on both devices a slightly different views are baked inside the app distribution so users have best experience on both iPhones and iPads.
Taking into consideration all of the above does that mean that with introduction of Catalyst it is now possible to have a single codebase app written in Swift that can nativelly run on all 3 types of devices: iPhones, iPads and Macs?
And if that is the case – what are key steps and aspects that one needs to consider and take care of while creating such an application? Are there any downsides in creating an app in such a way?