C# está en todas partes

C# es uno de los lenguajes de programación más populares del mundo. Es parte de la plataforma de desarrollo Microsoft .NET Framework (actualmente en su versión 4.5.2), y estas son algunas de sus principales características:

  • Deriva de C/C++, y es similar a Java.
  • Es Orientado a Objetos.
  • Es simple, moderno y de propósito general.
  • Tiene revisión estricta de tipos de datos.
  • Tiene revisión de límites de vectores.
  • Tiene detección de intentos de usar variables no inicializadas.
  • Tiene recolección de basura.

 

image

 

En MSDN (Microsoft Developer Network) puedes encontrar más información sobre .NET Framework, la guía de programación de C#, conceptos de programación de C#  y mucho más. Estos son algunos ejemplos de funcionalidades de este lenguaje(actualmente en su versión 5.0) y que hacen que tenga la potencia que tiene:

 

Pero aquí no acaba la cosa. .NET y C# está en constante evolución, y aquí tienes un adelanto de lo que está por venir: The New and Improved C# 6.0, .NET Compiler Platform ("Roslyn")

 

El Universo .NET es muy amplio, y a continuación te contamos algunas de las cosas que puedes hacer gracias a .NET en general y a C# en particular.

 

¿Qué puedo desarrollar con C#?

Aplicaciones de escritorio

  • Aplicaciones de consola, de las de toda la vida, sin interfaz de usuario propiamente dicho.

image 

image

  • Aplicaciones de cliente Windows con Windows Presentation Foundation (WPF) , mucho más avanzadas visualmente hablando. Gracias a la creación de interfaces de usuario con XAML y a capacidades avanzadas como los databinding, podemos desacoplar el código de la capa de presentación para que diseñadores y desarrolladores puedan trabajar de manera simultánea, y reducir los costes de desarrollo y mantenimiento de nuestras aplicaciones.

image

 

Apps

image

  • Apps Multi-Dispositivo con Xamarin. Gracias a Mono, una implementación Open Source del .NET Framework y compatible con éste, puedes desarrollar aplicaciones .NET para los más variados dispositivos con Windows, Linux, OS X, Android, iOS, Xbox 360, PlayStation 3, Wii, etc. Xamarin se apoya en Mono, y nos permite desarrollar apps móviles multi-plataforma con C# para Windows, OS X, Windows Phone, Android e iOS.

image

 

Servicios

image

 

Aplicaciones y Servicios Web

image

  • Aplicaciones Web con ASP.NET Web Pages o ASP.NET Web Forms, que nos permiten desarrollar aplicaciones web de manera muy rápida y sencilla.
  • Servicios Web con ASP.NET Web API, un framework con el que podemos construir servicios HTTP de manera muy sencilla para todo tipo de clientes, navegadores y dispositivos móviles. Es una plataforma ideal para crear aplicaciones RESTful.

image

 

Además, con la librería ASP.NET SignalR podemos hacer que el lado de servidor de nuestras aplicaciones web provea de contenido en tiempo real a los clientes conectados según lo tenga disponible, gracias a la comunicación bi-direccional que permite entre el servidor y los clientes.

Por cierto, ASP.NET MVC, Web Pages y Web API son proyectos Open Source.

 

Videojuegos

  • Videojuegos con MonoGame, un proyecto Open Source basado en Mono, que nos permite utilizar C# para desarrollar grandes juegos multi-plataforma de manera muy sencilla: para Windows, Windows Store, Linux, OS X, Windows Phone, Android e iOS.
  • Videojuegos con Unity, uno de los motores de videojuegos multiplataforma más conocidos y utilizados del mercado, con el que han sido creados grandes juegos, y que nos permite utilizar C# para escribir sus scripts. Podremos crear videojuegos para numerosas plataformas: para Windows, Windows Store, OS X, Linux, Windows Phone, iOS, Android, BlackBerry, Xbox 360, Xbox One, PS3, PS4, PSVita, Playstation Mobile, Wii U, e incluso para web gracias a Unity Web Player. Podemos además utilizar las  Visual Studio Tools for Unity para ayudarnos en la creación y depuración del videojuego.

image

 

Internet of Things (IoT)

  • Aplicaciones embebidas con .NET Compact Framework, una versión reducida del .NET Framework usada con Windows Mobile y Windows Embedded CE.
  • Aplicaciones embebidas con .NET Micro Framework, la versión más pequeña del .NET Framework, Open Source, y cuyo SDK que podemos utilizar para desarrollar con placas como las de netduino.

image

 

Las herramientas

Para desarrollar en C#, la mejor herramienta que tienes a tu disposición es Visual Studio (actualmente en su versión 2013 Update 3), uno de los IDEs más potentes del mercado (el más potente si me preguntas a mí). Y además de todo lo que ofrece de serie, cuenta con muchas extensiones que te harán la vida más fácil, como por ejemplo:

Tienes también a tu disposición un gran número de Bibliotecas .NET (NuGet) para añadir funcionalidad a tus proyectos, como por ejemplo:

También tienes una serie de SDKs que te ayudarán a desarrollar tus diferentes proyectos, y te proporcionarán librerías y herramientas adicionales como emuladores, etc.:

 

Si además quieres gestionar el ciclo de vida completo de tu aplicación, puedes utilizar Visual Studio Online.

 

¿Quieres saber más?

Tanto si estás aprendiendo a programar, como si quieres aprender C# o afianzar conocimientos sobre este lenguaje, en Microsoft Virtual Academy encontrarás todo tipo de cursos gratuitos sobre C#, ASP.NET MVC, desarrollo de apps móviles, videojuegos, etc., etc.

 

También tienes a tu disposición nuestros diferentes sitios para desarrolladores, donde podrás encontrar herramientas, documentación, ejemplos, etc.:

MSDN (Microsoft Developer Network)

Windows Dev Center

Azure Dev Center

Office Dev Center

Xbox Dev Center

Visual Studio Dev Center

 

 

Un saludo,

Alejandro Campos Magencio (@alejacma)

Technical Evangelist

PD: Mantente informado de todas las novedades de Microsoft para los desarrolladores españoles a través del Twitter de MSDN, el Facebook de MSDN, el Blog de MSDN y la Newsletter MSDN Flash.