Como desarrollador móvil, ¿es mejor ser bueno con Android e iOS o un experto absoluto en uno y estar bien con el otro?

Mejor es difícil de definir, depende del contexto, tengo que estar de acuerdo. Ser bueno en ambos le da a las aplicaciones cierta credibilidad para hablar sobre ambas plataformas y para entregar a ambas, lo que puede ser lo correcto en algunas configuraciones. Funcionaría bien si intenta vender servicios de desarrollo móvil a empresas no técnicas o en un entorno de consultoría y gestión donde la profundidad de la experiencia es menos importante.

Por otro lado, ser un especialista probablemente significa que conoce la plataforma mejor que el generalista, puede resolver problemas que el generalista no puede, ser más productivo al conocer mejor las herramientas, las API y los marcos. Eso funciona bien si está creando una aplicación compleja, o vendiendo experiencia de consultoría especializada de una manera u otra: ajuste de rendimiento, experto en diseño automático, etc.

Ambos son caminos viables, ninguno es superior en todos los entornos.

Como profesional independiente, comencé con iOS para crear aplicaciones para clientes. Eso fue hace unos 6 años, y hace unos 3 años también aprendí el desarrollo de Android.

Muchos de mis clientes tienen sus productos tanto en iOS como en Android, y se sienten más cómodos subcontratando ambos al mismo profesional independiente. Para mí, significa trabajar en 2 plataformas y vender un proyecto, generando más ingresos.

Conozco iOS mejor que Android, y personalmente me gusta más iOS. Realmente no creo que para saber ambos, debes ser un generalista. Con suficiente tiempo, puede ser un experto en muchos campos. De todos modos, muchos paradigmas de programación son los mismos, y aprender múltiples lenguajes y patrones de programación mejora en gran medida su capacidad técnica general para diseñar y escribir software.

La respuesta a la pregunta depende del contexto: es conseguir un trabajo, o para su propio negocio, y de qué tamaño es la empresa, qué tipo de productos tienen.

Cualquier empresa que no sea una startup o muy pequeña tiene desarrolladores separados para cada una de las 2 plataformas. Contratarían en función de lo que les falta o no tienen todavía.

Si es para negocio propio, es bueno ser bueno con ambas plataformas.

Android e iOS no son iguales: iOS como plataforma es increíblemente restrictivo, mientras que Android es relativamente más abierto.

Con respecto a una de las áreas en las que trabajo: conectar hardware externo, iOS es un caso trágico, utilizando el puerto de audio para conectar cosas como por ejemplo. lectores de tarjetas de crédito … Un dispositivo Android básico puede permitir la conexión a través de usb, y también hay algunas iniciativas nuevas en desarrollo …

Ser un experto en una plataforma lo eleva por encima del grupo de personas que son simplemente competentes en muchas. Puede planificar su aprendizaje para mejorar su experiencia en otras plataformas.

También es posible que pueda tomar diferentes direcciones de tecnología: estoy probando Xamarin como una estrategia para Android y Windows Phone para evitar tener que desarrollar una gran experiencia en ambos para ir junto con iOS.

Depende de si quieres trabajar en una gran empresa o una startup. Si desea una gran empresa, es mucho mejor ser un especialista.
En una startup, podría beneficiarse saber ambos. Conocer ambos también puede ayudar de otras maneras, pero es difícil dar una sugerencia definitiva sin conocer sus objetivos exactos.