Xamarin para desarrolladores de Objective-CXamarin for Objective-C Developers

Xamarin ofrece a los desarrolladores que tienen iOS como destino una ruta trasladar su código que no es de interfaz de usuario a C# independiente de la plataforma, de manera que se pueda utilizar en cualquier lugar en que C# esté disponible, como Android a través de Xamarin.Android y las diferentes versiones de Windows.Xamarin offers a path for developers targeting iOS to move their non-user interface code to platform agnostic C# so that it can be used anywhere C# is available, including Android via Xamarin.Android and the various flavors of Windows. Sin embargo, el mero hecho de usar C# con Xamarin no implica que pueda aprovechar sus habilidades y el código de Objective-C.However, just because you use C# with Xamarin doesn't mean you can't leverage existing skills and Objective-C code. De hecho, conocer Objective-C lo convierte en un mejor desarrollador de Xamarin.iOS porque Xamarin expone todas las API de plataforma nativas de iOS y OS X que conoce y que le encantan, como UIKit, Core Animation, Core Foundation y Core Graphics, por nombrar algunas.In fact, knowing Objective-C makes you a better Xamarin.iOS developer because Xamarin exposes all the native iOS and OS X platform APIs you know and love, such as UIKit, Core Animation, Core Foundation and Core Graphics to name a few. Al mismo tiempo, obtiene la eficacia del lenguaje C#, incluidas características como LINQ y Generics, así como completas bibliotecas de clase base de .NET para usar en sus aplicaciones nativas.At the same time, you get the power of the C# language, including features like LINQ and Generics, as well as rich .NET base class libraries to use in your native applications.

Además, Xamarin le permite aprovechar los recursos de Objective-C existentes mediante una tecnología que se conoce como "enlaces".Additionally, Xamarin allows you to leverage existing Objective-C assets via a technology know as bindings. Basta con crear una biblioteca estática en Objective C y exponerla a C# a través de un enlace, como se muestra en el diagrama siguiente:You simply create a static library in Objective-C and expose it to C# via a binding, as illustrated in the following diagram:

Esto no tiene por qué limitarse al código que no es de interfaz de usuario.This doesn't need to be limited to non-UI code. Los enlaces pueden exponer también el código de interfaz de usuario desarrollado en Objective-C.Bindings can expose user interface code developed in Objective-C as well.

Transición desde Objective-CTransitioning from Objective-C

Encontrará una gran cantidad de información en nuestro sitio de documentación que le ayudará a facilitar la transición a Xamarin, donde se muestra cómo integrar código de C# con lo que ya conoce.You'll find a plethora of information on our documentation site to help ease the transition to Xamarin, showing how to integrate C# code with what you already know. Estos son algunos de los principales materiales por los que puede comenzar:Some highlights to get you started include:

Enlace de Objective-CBinding Objective-C

Cuando haya adquirido unas nociones generales sobre las diferencias y similitudes entre C# y Objective-C y haya trabajando con el tutorial de enlace anterior, estará listo para la transición a la plataforma Xamarin.Once you have a grasp of how C# compares to Objective-C and have worked through the binding walkthrough above, you'll be in good shape for transitioning to the Xamarin platform. Si quiere profundizar en la materia, puede encontrar más información detallada sobre las tecnologías de enlace de Xamarin.iOS, incluida una exhaustiva referencia de enlace, en la sección Enlace de Objective-C.As a follow up, more detailed information on Xamarin.iOS binding technologies, including a comprehensive binding reference is available in the Binding Objective-C section.

Desarrollo multiplataformaCross-Platform Development

Finalmente, después de pasarse a Xamarin.iOS, seguramente querrá consultar la guía multiplataforma de que disponemos, con estudios de caso de aplicaciones de referencia que hemos desarrollado y procedimientos recomendados para crear código multiplataforma reutilizable, contenidos en la sección Building Cross Platform Applications (Generación de aplicaciones multiplataforma).Finally, after moving to Xamarin.iOS, you'll want to check out the cross-platform guidance we have, including case studies of reference applications we have developed, along with best practices for creating reusable, cross-platform code contained in the Building Cross-Platform Applications section.