Entradas

Mostrando las entradas de abril, 2020

Mis indispensables de C#. Parte 2: Extensiones

Esta es una serie de 3 artículos cortos sobre características de C# que uso en todas mis aplicaciones. Extensiones… Muchas extensiones Me gusta usar extension methods para validaciones. Aquí hay algunas básicas. public static class ValueExtensions { public static string ThrowIfEmpty ( this string value ) { return string . IsNullOrWhiteSpace ( value ) ? throw new ArgumentNullException () : value . Trim (); } public static string TrimOrThrow ( this string value ) { return value ?. Trim () ?? throw new ArgumentNullException (); } public static Guid ThrowIfEmpty ( this Guid value ) { return value == Guid . Empty ? throw new ArgumentNullException () : value ; } public static DateTime ThrowIfInPast ( this DateTime value ) { return value <= DateTime . Now ? throw new

Mis indispensables de C#. Parte 1

Esta es una serie de 3 artículos cortos sobre características de C# que uso en todas mis aplicaciones... aunque este en particular empieza con una nueva. Switch expressions Las switch expressions son mi característica favorita de C# 8. Ayudan a asignar valores rápidamente y las uso mucho para renderizar la interfaz gráfica. Supongamos una Partial View que muestra el nombre de una empresa, consultor o institución, y un botón de color distinto para cada caso. @model MyViewModel @ { var ( title , color ) = Model . RoleType switch { RoleType . Company => ( "Empresa" , "info" ), RoleType . Institution => ( "Institución" , "primary" ), RoleType . Mentor => ( "Consultor" , "warning" ), _ => ( "?" , "danger" ) }; } < h3 > @Model . Name </ h3 > < button class =" btn btn - @color ">

Aprovechando las Partial Views en ASP.NET Core (Parte 1)

Imagen
Si trabajan con ASP.NET Core, seguramente han separado los componentes de su interfaz gráfica usando Partial Views o Partials . Son una característica básica del framework junto a las Sections y los Layouts . Cuando se empezaron a popularizar los frameworks de front-end como Angular, Ractive, React o Vue (y recientemente el estándar WebAssembly), las partials quedaron en un segundo plano porque al ser renderizadas desde el servidor, "no son dinámicas". Ese dinamismo lo están agregando con los Razor Components y Blazor, pero esa es otra historia. Y aquí viene la opinión impopular: muy pocas aplicaciones son tan complejas como para justificar un framework de front-end. A eso agregaría: muy pocas aplicaciones son tan complejas como para justificar una conexión permanente con el servidor, que es como funcionan los Razor Components. Y una más: que un elemento aparezca o desaparezca de una lista, sin recargar la página, no justifica ninguna complejidad accidental. Con un

¿Y qué pasó con CaliSharp?

¡Por supuesto que seguimos! Desde noviembre tuvimos charlas como “Desarrollo de plataformas”, “Introducción a radio definida por software”, “Azure Functions: Experiencias de un principiante”, “Súper tendencias de arquitectura y desarrollo de software para 2020”, “¿Debería dar una charla?”, “Blazor: C# en el browser”, “Tecnología para Industria 4.0” y “REST, y por qué lo estás haciendo mal”. Y esperamos seguir organizando muchas más. Recuerden que pueden inscribirse al meetup CaliSharp para conocer los próximos eventos. Y si les interesa dar una charla, sólo deben llenar este formulario , que tiene un aire vintage pero funciona muy bien. PD: Vienen artículos técnicos sobre .NET Core.