Clasifiquemos los tres objetos de su pregunta.
C # es un lenguaje.
.NET es un marco.
Xamarin es una plataforma.
El idioma (s) es el medio en el que codifica .
El (los) marco (s) consiste (s) en bibliotecas base y ayudantes que lo ayudan a realizar ciertas tareas u operaciones esenciales en su código.
La plataforma (s) le permite generar código de máquina (compilación) a partir de su código para su plataforma de destino .
- Cómo encontrar un desarrollador de aplicaciones de la India para asociarse con una idea de aplicación en la que estoy trabajando
- ¿Cuáles son las principales tendencias del desarrollo de aplicaciones de Android?
- ¿Puedo hacer una buena aplicación de teléfono escalable con un marco que no requiera conocimiento de iOS / Android?
- Cómo encontrar una compañía de aplicaciones móviles para construir mi aplicación móvil
- ¿Alguien puede construir una aplicación social sin tener ningún conocimiento de programación y codificación?
Los marcos base (aquí .NET y marcos específicos de plataforma opcionales) generalmente se incluyen con la plataforma (aquí Windows o Xamarin). Depende de la plataforma decidir qué marcos agrupar y el codificador decidir qué marcos usar . Xamarin se entrega con una implementación multiplataforma de código abierto del marco .NET llamada Mono.
Si bien es posible desarrollar una aplicación Xamarin.Android o iOS utilizando solo las bibliotecas que hubiera utilizado si hubiera elegido Java / Swift, también puede optar por aprovechar algunas de las potentes funciones de C # / .NET, como LINQ y la increíble bibliotecas de concurrencia. Algunos métodos de plataforma requieren el uso del marco Mono también.
Dado que C # (o cualquier otro lenguaje MS de hecho) y .NET van de la mano, cada tutorial / libro de C # le enseñará algunas características por excelencia del marco .NET, como LINQ, concurrencia (hilos, programación asíncrona) y archivo IO.
El framework .NET es para C # al igual que JSL para Java. Es una parte integral de cualquier aplicación C #, y (casi) cada tutorial incluye el uso del marco .NET (probablemente) sin que usted lo sepa.