Si utilicé otro lenguaje para compilar para otra plataforma, como uso C # para compilar aplicaciones IOS, ¿es algo bueno o tengo que aprender el idioma nativo de iOS que es Objective-C?

En mi opinión, es mejor que tenga una * muy * muy buena razón para no usar Objective-C o ahora Swift para el código de iOS. Uno de ellos es OpenCV, que usa C ++ porque es mucho más eficiente para todos los cálculos que está haciendo. Sin embargo, para cualquier cosa estándar, es un gran error escribirlo en un código no nativo.

¿Razones? Simple:
1) Debe esperar a que se abra el soporte de nuevas API cuando use Xamarin
2) No tienes idea si alguna vez se perderá el soporte con Xamarin. Si esto sucede, eres SOL.
3) Buena suerte para encontrar un reemplazo u otro tipo para trabajar en su código con usted. Los desarrolladores de iOS conocen Objective-C, no Xamarin.
4) Con el número 3, buena suerte para encontrar tutoriales para Xamarin. Hay mucha más documentación y conocimiento para Objective-C.

Objective-C es muy fácil de aprender, la única razón para permanecer en C # en la mayoría de los casos es que eres flojo. Nunca será tan bueno como un idioma nativo para iOS. Si va por esa ruta, también puede hacer PhoneGap para implementar en múltiples plataformas.

Si te refieres a Xamarin por C #, creo que lee estas publicaciones y tanto como encuentres.
Por qué no recomiendo Xamarin para desarrollo móvil
Decidir entre iOS nativo y Xamarin (MonoTouch)

Aunque tengo experiencia en C #, nunca he probado Xamarin, prefiero aprender el objetivo c y el toque de cacao. La razón más importante es que cuando enfrenta dificultades, errores y necesita algunos ejemplos de algo que nunca ha hecho antes, no es fácil encontrar soluciones para el entorno Xamarin. Es por eso que todavía tiene que lidiar con Objective-C y Frameworks de Apple.

¡La otra razón es que me gusta aprender cosas nuevas!

Si usa Xamarin y C #, eso es algo bueno. Obtiene una interfaz invocable C # en las API de iOS. Para un desarrollador de C #, eso es algo bueno. No tienes que aprender un nuevo idioma. Los problemas para aprender un nuevo idioma son:

  • Aprender un nuevo idioma significa que realmente tienes que pasar tiempo para aprender el idioma. Demasiadas personas quieren interpretar esto como “fácil” y algo en lo que puedes estar completamente inmerso en 21 días. Mi experiencia ha sido que me lleva 3 meses ser competente en un nuevo idioma. Agregue que tendría que aprender una nueva plataforma / IDE / conjunto de herramientas, y podría ser fácilmente 3 meses más.
  • Aprender múltiples idiomas nuevos da como resultado un tremendo cambio de tareas en tu cabeza. Con el móvil, hay más que iOS, hay Android. En este momento, los dos representan el 96.4% del mercado de teléfonos inteligentes móviles. Los problemas que esto causa son:
  • ¿Cómo se comparte el código entre dos plataformas?
  • ¿Planeas escribir dos aplicaciones independientes? uno en ObjectiveC y uno en Java / Dalvik / ART sin compartir código entre los dos.
  • ¿Tienes tiempo para aprender estas plataformas?

Espero que algo de eso sea útil.

Para responder a algunos de los otros artículos presentados por otros carteles: (y no estoy tratando de discutir con ellos)

  • El tiempo de espera para el soporte es insignificante. En este momento, llevo varios meses ejecutando el soporte del SDK Xamarin iOS8. Se puso a disposición poco después del primer beta SDK y se ha actualizado bastante rápido desde entonces. He estado usando el soporte de Xamarin GM desde que se lanzó el mismo día que el SDK GM de iOS8.
  • Xamarin es nativo. Una aplicación escrita con Xamarin.iOS está llamando a las mismas API que está llamando una aplicación iOS. Es el mismo APIS, controles de IU, integración de dispositivos, apariencia, sensación, olor y sabor que cualquier otra aplicación. Apple ha presentado al menos una aplicación Xamarin en su publicidad de iPad en los Estados Unidos. No es un problema para Apple.
  • En 2009 y 2010, hubo una falta de documentación / ejemplos sobre cómo hacer las cosas. Sí estoy de acuerdo. En 2014, ese no es el caso. Hay muchos ejemplos, foros, código de muestra, publicaciones de blog que son específicas de Xamarin. Si no hay un ejemplo específico de xamarin, entonces no es tan difícil mirar el objC y traducir. He hecho esto varias veces.

Para mí, Xamarin ofrece lo mejor de ambos mundos. Obtengo la interfaz de usuario nativa y la integración de dispositivos que los usuarios esperan. Recibo el código compartido que necesito. Es ganar-ganar.

More Interesting

Tengo una idea para una aplicación de juego, pero no tengo habilidades de codificación. ¿Dónde empiezo? ¿Y cuánto crees que tomará (aprox.)?

Cómo crear un directorio específico de la aplicación (Android KITKAT 4.4+) en el almacenamiento externo secundario (tarjeta SD externa)

Mi compañía está actualizando nuestra aplicación basada en geolocalización, y estamos buscando pasar de datos propietarios a una API abierta. ¿Cuál es el más sólido: Yelp, FourSquare, FaceBook Places o Google Local?

¿Cómo construyes una aplicación exactamente si tienes la idea pero no tienes conocimientos técnicos y un poco de dinero para hacer las cosas?

Tengo una idea para una aplicación que quiero desarrollar, pero no tengo habilidades de codificación o conexiones, ¿a dónde debo ir?

Quiero construir un producto web para un dominio específico en educación, y construiré una aplicación móvil asociada con él más adelante. ¿Cómo debo comenzar?

¿Puedo apagar todas mis notificaciones en mi teléfono por un día?

Mi primera aplicación está obteniendo 5-10 descargas / día. ¿Esto es normal? ¿Cómo hago para optimizarlo para ASO?

He creado y diseñado un concepto para una aplicación como nunca antes había visto en la tienda de aplicaciones. ¿Cómo me puedo conectar con los inversores?

¿Sería útil para mí usar la aplicación móvil? Ofrezco los servicios y no vendo productos. ¿Para qué puedo usarlo?

¿Mi aplicación no aparece en Play Store cuando la busco por su nombre?

Quiero crear una aplicación híbrida de redes sociales. Quiero usar Ionic, Angular.JS y Node.JS. ¿Cómo debo proceder?

Cómo crear una aplicación para iOS y Android sin ningún código

No puedo usar Appcola en iPhone. ¿Qué tengo que hacer?

Hice un nuevo sitio web de red social. ¿Tengo que hacer su aplicación móvil para promocionarla? En caso afirmativo, ¿debería comenzar haciendo primero la aplicación de Android o la aplicación de iOS o ambas?