Depende de cuál sea tu objetivo.
Como base, el desarrollo de iOS está en Objective-C, mientras que Android está en Java.
El hecho de que no tenga una Mac no significa que pueda codificar una aplicación de iOS. Simplemente reserve una hora de su vida y convierta su computadora en un hackintosh o instálela en sistemas operativos en la unidad de su PC o simplemente instálela en una unidad externa e inicie su computadora en OSX cuando lo desee, mientras mantiene su instalación de Windows sin alteraciones. Eso resuelve el problema “No tengo una Mac”. Ahora en el idioma de elección.
- ¿Son Android e iOS en teoría lo mismo? Ambos son tenedores Unix (y Linux).
- ¿Por qué Apple ha creado diferentes sistemas operativos para diferentes dispositivos, por ejemplo, macOS, iOS, tvOS, watchOS? Cuáles son las diferencias entre ellos?
- ¿Es posible cifrar una carpeta o aplicación (protección con contraseña) en el iPhone con iOS 8.3?
- ¿En qué procesador funciona el iPhone 8?
- ¿Cuál es el costo esperado del iPad Mini?
Objective-C es básicamente el lenguaje C con la “orientación” de objeto agregada. Cualquier código C que se compila se compilará en Objective-C pero no al revés. La principal diferencia entre Obj-C y C es que para usar adecuadamente Obj-C y aprovecharlo al máximo, usted depende del Marco de la Fundación que ha sido un trabajo en progreso durante mucho tiempo. Además, su única opción de IDE es XCode. Además, la tarifa de entrada para vender aplicaciones en la App Store es de 99 $ al año.
Java, por otro lado, es su propio lenguaje completo. Al ser Java, puedes escribir aplicaciones Java en cualquier sistema operativo que admita Java (JRE, etc.). Convertirse en desarrollador de Google Play solo tiene la entrada de 35 $.
No puede limitarse a Java solo por cualquier excusa de que no tiene una Mac.
Aquí está mi opinión personal sobre el tema:
Profundicé en el desarrollo de Objective-C (con un Hackintosh) para aprender el desarrollo de aplicaciones iOS. Todo fue sencillo (hay que acostumbrarse a la sintaxis) hasta que escuché que Apple lanzará Swift a finales de este año. En lugar de pasar todo ese tiempo en Obj-C, decidí mantener XCode en espera y puse mis manos en Java con Eclipse. Hasta aquí todo bien. Estos 2 idiomas no se pueden comparar entre sí porque ambos están allí para resolver diferentes cosas. Continuaré con Java hasta que haya buena literatura sobre Swift (videos de Lynda y similares) y luego volveré al mundo de iOS.
Simplemente use lo que le resulte más cómodo, en términos de resultado final y experiencia trabajando con él, no en creencias autolimitantes como el sistema operativo y similares.