Inspirado en lenguajes de scripting como Python y JavaScript, Microsoft ha dado un paso importante para simplificar el desarrollo con C#.
Con la llegada de .NET 10 Preview 4, se introduce una nueva capacidad en C# 14: las aplicaciones basadas en archivos (file-based apps) que permiten ejecutar archivos .cs de forma directa, sin necesidad de crear un proyecto completo.
Esta innovación busca hacer que el lenguaje sea más accesible, ágil y adecuado para prototipos, automatización y aprendizaje.
Qué son las aplicaciones basadas en archivos
Tradicionalmente, para ejecutar código en C# utilizando la CLI de .NET (dotnet run), era necesario tener una estructura de proyecto completa, incluyendo un archivo .csproj.
Esto suponía una barrera para tareas simples como probar fragmentos de código, escribir scripts o hacer pruebas rápidas.
Con las nuevas file-based apps, los desarrolladores pueden ejecutar directamente un archivo C# con un simple comando:
dotnet run app.cs
No se necesita ningún archivo de proyecto ni estructura predefinida. Basta con tener el archivo .cs.
Beneficios clave
Según Damian Edwards, arquitecto principal en Microsoft y autor del anuncio oficial del 28 de mayo, esta capacidad representa un avance importante para la experiencia de desarrollo con C#.
Entre los beneficios principales destacan:
- Barreras de entrada más bajas: Ideal para principiantes, permite experimentar con el lenguaje sin necesidad de entender de entrada la estructura de proyectos de .NET.
- Ideal para scripts y automatización: Al estilo de lenguajes dinámicos, C# puede ahora ser una buena opción para automatizar tareas o ejecutar código puntual.
- Escalabilidad natural: Un script puede crecer y convertirse fácilmente en un proyecto completo, sin necesidad de cambiar el lenguaje ni la sintaxis.
- Integración completa con CLI: Las file-based apps están completamente integradas en la herramienta de línea de comandos
dotnet. - Directivas a nivel de archivo: Es posible declarar paquetes, SDKs y propiedades directamente en el archivo
.cs, sin necesidad de.csproj.
Una evolución sin sacrificar potencia
Una de las grandes ventajas de esta novedad es que no se trata de un lenguaje nuevo ni de un dialecto alternativo. Es el mismo C#, con la misma sintaxis y las mismas herramientas.
Esto permite que el código creado con file-based apps sea portable y escalable hacia aplicaciones completas dentro del ecosistema .NET.
Microsoft considera que esto hará a C# más atractivo para nuevos programadores y para quienes buscan una alternativa más poderosa que los lenguajes de scripting tradicionales, sin renunciar a la sencillez inicial.
Próximos pasos y mejoras futuras
En versiones futuras de .NET, Microsoft planea seguir mejorando esta funcionalidad. Algunas de las áreas en desarrollo incluyen:
- Mejor experiencia en Visual Studio Code, con soporte completo de IntelliSense para las nuevas directivas.
- Mejoras en el rendimiento y depuración de las file-based apps.
- Soporte para múltiples archivos dentro de una misma aplicación basada en archivos.
- Optimización de la ejecución desde la línea de comandos.
Además, Microsoft está invitando activamente a los desarrolladores a probar esta funcionalidad y dejar comentarios a través de GitHub.
Conclusión
Con la introducción de las aplicaciones basadas en archivos, C# da un paso importante hacia la simplicidad sin sacrificar su potencia.
Esta capacidad abre nuevas posibilidades para el lenguaje en escenarios como scripting, automatización y aprendizaje; y lo posiciona como una opción aún más competitiva frente a lenguajes como Python o JavaScript.
La llegada de esta funcionalidad refuerza el compromiso de Microsoft con la modernización de su ecosistema y con ofrecer a los desarrolladores más libertad y flexibilidad para trabajar como deseen.