Quiero comenzar a desarrollar aplicaciones como hobby. Ya conozco Java bastante bien, pero Swift me interesó por el desarrollo de aplicaciones iOS, ¿vale la pena aprenderlo?

Supongo que por desarrollo multiplataforma te refieres a compartir la mayor cantidad de código posible entre las dos plataformas. Hay un nombre en clave que le permite escribir aplicaciones en Java y generar binarios nativos para iOS, Android, etc. Se basa en una suscripción mensual, aunque tienen una versión gratuita con un límite de 1 MB en el tamaño del archivo jar.

Como estás familiarizado con Java, puedes aprender C #, que es bastante similar a Java (mucho mejor que Java también en mi humilde opinión) y usar Xamarin, que es increíble para crear aplicaciones y juegos multiplataforma. Solía ​​estar basado en suscripción, pero ahora es gratuito e incluido en Visual Studio (incluida la edición comunitaria gratuita) desde su adquisición por Microsoft.

Si está familiarizado con la tecnología web, existe Cordova y otros similares, como el marco iónico, que permite el desarrollo multiplataforma con javascript, Html5 y Css.

También podría aprender Swift y / o Objective-C, pero no habría código compartido. Buena suerte.

Solo hay una estrategia para lidiar con este ‘problema’ que he aprendido por las malas después de perder demasiado tiempo y esfuerzo y puede ahorrarle tiempo y esfuerzo: escriba una aplicación en Java y otra en Swift. No hay atajos para ello. Todas las herramientas multiplataforma conducen a aplicaciones de baja calidad de baja calidad, a menos que su objetivo sea hacer otro lector de RSS, incluso eso no se acercará a una aplicación nativa.

Si bien no es malo tener cierto conocimiento de las herramientas multiplataforma, pero si planea crear aplicaciones de calidad y asegurar su futuro como desarrollador de aplicaciones móviles bien pagado, practique tanto para Java como para Swift.

Consejo adicional: la mayoría de los empleadores experimentan primero contratando un desarrollador multiplataforma con la esperanza de ahorrar dinero, y luego contratan desarrolladores nativos para escribir dos aplicaciones separadas para Android e iOS. Por lo tanto, estará mucho mejor y mejor pagado con el conocimiento de ambos.

Swift no es multiplataforma. Es solo para MacOS e iOS. Pero dado que es la cuota de pago del mercado, es probable que valga la pena.