Estado de .Net para el 2018

diciembre 6, 2017 1 comentario

Nota importante este articulo esta basado en el articulo publicado por Telerik “The State of .NET in 2018” 

La siguiente gráfica podemos observar el estado  de las tecnologías, plataformas y herramientas de desarrollo que tenemos a disposición en .Net y que tendremos para el próximo año:

2017-12-05_1658

Como vemos en la gráfica tenemos 3 grandes bloques para construir aplicaciones basadas en las .NET Standard library  las librerías base con todos los componentes de .Net, y en herramientas ahora con aclamado Visual Code multiplaforma que se ha convertido en el favorito de los desarrolladores.

.Net Standard Library juega un papel muy importante en el presente y futuro de .net ya que este evita que se genere la fragmentación que se tenia por las diferentes plataformas, especialmente por la ultima que adquirida por Microsoft que fue Xamarin.

2017-12-05_1708

La Standard Library es la librería base de todos los proyectos en .Net independiente de la plataforma utilizada y estas se complementan usando Nugets y librerías especificas para cada una. 2017-12-05_1715

El gráfica anterior podemos ver las diferentes versiones de .Net Standard y  la compatibilidad con las diferentes versiones de cada una de las plataformas existentes, como podemos ver UWP no tiene soporte aun pero se espera que pronto lo tenga.

.Net Core 2.0 ultima versión lanzada de esta plataforma tiene muchas mejoras de compatibilidad con respecto a las APIs que solíamos usar en .Net Framework,  de momento solo 43 APIs no están soportadas en .NET core así que la posibilidad de migrarse se facilita mucho:

2017-12-05_1745

XAML es utilizado en tecnologias Microsoft para el diseño de interfaces en WPF, UWP y Xamarin sin embargo tiene un fragmentación latente en cada una de ellas por ejemplo podemos ver en UWP vs Xamarin lo siguiente:

UWP              -      Xamarin

StackPanel      vs     StackLayout

TextBlock        vs      Label

Esto provoca que se haga dificil reutilizar este código de lado a lado de manera fácil.

XAML Standard llega como la solución a este problema como una especificación única para todas tecnologías que usen XAML

Aun no se tiene una fecha exacta de la primera versión de XAML  Standard pero ya se tienen los repositorios para tal fin  https://github.com/Microsoft/xaml-standard

Angular y React ahora son mas fáciles de utilizar para los .Net developers puesto que con .Net core tenemos 2 templetes que nos permiten utilizar un proyecto base conectado directamente a un Web Api. Tenemos las opciones de Angular, React.js y React.Js and Redux

2017-12-06_1515

Un C# fortalecido en las versiones 7.X y una futura versión 8.0.  Este lenguaje de programación sigue creciendo con nuevas funcionalidades que ya tienen algunos otros lenguajes y alejándose de estigma de ser una copia barata de Java

En el siguiente link puedes encontrar un post anterior con todos los cambios de C#:

https://mteheran.wordpress.com/2017/12/01/features-c-7-0-7-1-7-2/

 

UWP ha logrado unificar todos los dispositivos Microsoft en torno a un único sistema operativo que es Windows 10. Obviamente las capacidades de un dispositivo de Iot son diferentes a las de un PC o Xbox pero afortunadamente con las Extensions SDK podemos extender las funcionalidades de la App que estemos desarrollando para cada uno de las plataformas.

2017-12-06_1541

 

La conclusión al final es que se pinta un 2018 con muchas cosas interesantes por de Microsoft y sus tecnologías. Y si a todo esto agregamos los servicios de Azure tenemos todo un ecosistema robusto para trabajar con nuestras aplicaciones incluyendo tecnologías no creadas por Microsoft.

Sin embargo para todos los developers se hace necesario estar actualizado de los cambios que se presentan y empezar ha utilizar tecnologías como .Net Core desde este momento para sacarle provecho.

 

Anuncios

XML The complete guide

diciembre 4, 2017 Deja un comentario

Coverlet, cobertura de pruebas unitarias para .NET

septiembre 10, 2019 Deja un comentario

Medir la covertura de las pruebas unitarias en nuestro código es un tema muy importante pues nos permite saber que tan bien estamos diseñando las pruebas y el alcance que estas tienen en los flujos que puede tener un método o rutina.

Coverlet  es una excelente herramieta para este trabajo y nos minimiza todo el proceso a solo unos cuantos comandos.

Coverlet es un proyecto completamente Opensource que soporta .NET Framework y támbien .NET Core. Pueden revisar el repositorio oficial en github https://github.com/tonerdo/coverlet

Para comenzar con Coverlet debemos instalar el NuGet en nuestro proyecto. Coverlet tienes varias formas de ser usada pero yo sugiero implementar la integración  con MSBuild ya que es mucho mas fácil.

Para ello debes usar el siguiente comando:

dotnet add package coverlet.msbuild

Una vez agregamos el NuGet podemos utilizar la integración con MSBuild para ejecutar las pruebas y también el cubrimiento.  El comando para la ejecución  de pruebas en netcore es dotnet test vamos agregar a este comando el parametro CollectetCoverage=true

dotnet test /p:CollectCoverage=true

Obtendremos un resultado parecido al siguiente:

Screen Shot 2019-09-09 at 9.57.20 PM.png

Interpretamos el resultado de la siguiente manera:

En la primera sección identificamos los modulos que hacen parte del set de pruebas y que al final representan los namespaces y en el segundo un total y un promedio de todos los módulos.

En el detalle tenemos Line porcentaje de líneas de código cubiertas por las pruebas unitarias, Branch se refiere al número de sentencias o declaraciones cubiertas es decir condicionales, ciclos, etc… y Method Porcentaje de métodos cubiertos.

Coverlet genera un archivo coverage.json con la información que aparece en pantalla para consumirlo por alguna aplicación externa si así  lo queremos.

En resumen Coverlet nos ayuda a medir la covertura de una manera sencilla en nuestro proyecto algo que aveces se complica o en el que debemos usar herramientas de pago externas.

Curso C# de 0 a 100 NetUnivesity

septiembre 6, 2019 Deja un comentario

Si quieres aprender C# desde las bases utilizando Visual Code y .Net Core he diseñado un curso en donde fácilmente puedes aprender  siguiendo una serie de videos y evaluando tus conocimientos con algunas pruebas en cada modulo.

image.png

https://net-university.ninja/p/curso-introduccion-c-csharp-0-100

Son mas de 6 horas de curso que podas aprovechar al máximo e incluso material extra para seguir aprendiendo y profundizar lo aprendido.

Ingresa a Net-University y adquiere el curso de  0 a 100

https://net-university.ninja/courses

 

 

 

 

Crear un nuevo Skill para Alexa usando Alexa.NET (Dispositivas)

septiembre 4, 2019 Deja un comentario
Categorías:.Net, C#, Computación

C# 8 – switch como expression

septiembre 4, 2019 Deja un comentario

C# 8 nos trae muy buenas mejoras en el lenguaje. pero definitivamente una que realmente me gusta mucho es Switch expression.

int intValueForSwitch = 0;
string state = "";

switch (intValueForSwitch)
{
    case 0:
      state = "Zero";
    break;
    case 1:
      state = "One";
    break;
    case 2:
      state = "Two";
    break;
    default:
      state = "No valid number";
    break;
}

El anterior código  muestra un switch con una situación  especial en donde por cada caso estamos asignando un valor a una variable sin ningún procedimiento adicional.

en C# tenemos ahora una manera de simplificar significativamente este código:

//switch as expression
int intValueForSwitch = 0;

var state = (intValueForSwitch) switch
{
    (0) => "Zero",
    (1) => "One",
    (2) => "Two",
     _ => "NO valid number"
};

 

Usando el operador flecha podemos asignar el valor de la variable en cada caso en una linea de código. y finalizando con el guion bajo y la flecha podemos asignar lo que seria el valor por defecto en el que antes usábamos ‘default:’

Puedes probarlo y utilizarlo con Visual 2019!

Revisa el historial de mejoras de C# en el siguiente repositorio: CSharpVersionsDemos

 

 

 

 

Net University – la mejor forma de aprender sobre tecnología

junio 19, 2019 Deja un comentario

Net University es una nueva plataforma de educación  online completamente en español con los mejores instructores del mercado.

https://net-university.ninja/

download

La iniciativa nace en colombia ante la escaces de contenido en español para el aprendizaje de tecnologías  Microsoft y en general desarrollo de software e innovación.

Puedes pagar en diferentes formas los cursos, dar seguimiento a tu aprendizaje y presentar examenes para evaluar tu conocimiento.

 

BenchMark: Performance Analysis

Azure location based services

abril 21, 2018 Deja un comentario