¿Cuáles son las similitudes y diferencias entre el desarrollo de iOS y macOS?

Ambos usan los mismos idiomas. Algunos marcos son idénticos o casi idénticos (Foundation, por ejemplo … idénticos … excepto pequeñas cosas como algunas de las piezas de NSDate que no están en iOS). Algunos son diferentes pero similares (UIKit y AppKit no son lo mismo, pero las partes grandes son iguales y tienen diseños similares). Muchas cosas que están disponibles en macOS no están en iOS. Una cantidad menor de cosas disponibles en iOS no está en macOS. Algunas de esas cosas son “cuestión de tiempo” (ApplePay llegó a macOS en segundo lugar, por ejemplo, y CoreData llegó a iOS en segundo lugar …). Al menos parte de esto parece ser una verdadera diferencia de plataforma (iOS no tiene ninguna API para lidiar con el muelle … porque no tiene un muelle). Algunos son un poco desconocidos (HomeKit está en iOS, no en macOS, pero han pasado algunos años, ¿alguna vez llegará? ¿Tiene alguna razón por la que Apple encuentra lo suficientemente convincente como para que se mueva?)

En teoría, podría escribir un adaptador que proporcione más o menos UIKit en la Mac y el resto de la diferencia normalmente es lo suficientemente pequeña como para empapelar. Pero…

… la interfaz de usuario de una buena aplicación para Mac y una buena aplicación para iPhone es muy diferente. La aplicación para iPhone tiene que administrar un espacio pequeño y usar controles enormes. La aplicación Mac tiene mucho más espacio, y los controles son mucho más pequeños (porque el mouse / trackpad hace que sea fácil alcanzar objetivos pequeños). Por lo tanto, una buena interfaz de usuario de iPhone tendrá una densidad de información ridículamente baja en la Mac y requerirá demasiados clics. También puede encontrar que la audiencia en Mac es más crítica si deja de lado las funciones avanzadas mientras está en el iPhone, las personas tienden a dejarse tratar más como aficionados y principiantes (o aprecian una interfaz más simplificada sin demasiada profundidad para aprender … lo que sea). También tiende a cobrar más por las aplicaciones de Mac, pero vende menos. También un poco en el lado comercial de las cosas, pero en iOS realmente no puedes existir si no estás en la tienda de aplicaciones de Apple (existen algunas excepciones, especialmente para el software empresarial). En macOS, muchas casas de software descubren que ganan tanto dinero o más si evitan la tienda de aplicaciones de Apple.