Archivo

Posts Tagged ‘.Net’

Estado de .Net para el 2018

diciembre 6, 2017 Deja un 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

MDE.Net comunidad .Net en Medellin

diciembre 3, 2017 Deja un comentario

MDE.Net es la comunidad .Net en Medellin que realiza meetups mensuales con temas relacionados a tecnologias Microsoft .

hasta el momento todos los meetups se han llevado acabo en Ruta N medellin  https://www.rutanmedellin.org/es/

Complejo Ruta N Calle 67 Nº 52-20
Piso 1 sala 1 Torre A

Somos 4 orgnizadores que trabajamos en diferentes empresas del sector y nos encargamos de logistica en cada evento

9284ef22-6ddd-46be-8666-37b6537d4626

Tenemos un meetup oficial en que pueden inscribirse para el evento

MDE.NET

Medellín, CO
558 Miembros

Este es un grupo para todos los desarrolladores y entusiastas del desarrollo que usan o desean aprender .Net y tecnologías Microsoft en general. Te invitamos a participar de n…

Check out this Meetup Group →

Nuestras redes sociales:

https://www.facebook.com/mdedotnet/

https://twitter.com/mdedotnet

 

El pase de diapositivas requiere JavaScript.

Razor vs Tag helpers .Net core

En .Net core tenemos la posibilidad de utilizar Tag Helpers para diseñar nuestras vistas, esto nos permite omitir el uso de Razor y poder diseñar vistas simplemente extendiendo las propiedades de HTML con algunas especificas integradas.

Hay que aclarar que podemos usar una combinación de Razor y tag herlpes en pocas podemos usar el uno, el otro o la combinación de ambos.

Aquí esta una lista de como podemos se traduce a través de  TagHelpers cierta nomenclatura de Razor:

Razor
1 “@Html.LabelFor(model => model.title)”
2 “@Html.EditorFor(model => model.title)”
3 “@Html.ValidationMessageFor(model => model.title, “”)”
4 “@using (Html.BeginForm())”
5 “@Html.ValidationSummary(true, “”, new { @class = “text-danger” })”
6 “@Html.ActionLink(“Back to List”, “Index”)”
7 “@Html.TextAreaFor(model=> model.Description)”
8 “@Html.DropDownList(“Country”, (IEnumerable<SelectListItem>)ViewData[“Countries”])”
Tag Helper
1 <label asp-for=”title”></label>
2 <input asp-for=”title” />
3 <span asp-validation-for=”title”></span>
4 <form asp-action=”Create”>
5
6 <a asp-action=”Index”>Back to List</a>
7 <textarea asp-for=”Description”></textarea>
8 <select asp-for=”Country” asp-items=”Model.Countries”></select>

Sin título

Razor vs Tag helpers

Ruta por defecto en un proyecto Web.Api .Net Core

marzo 30, 2017 Deja un comentario

Podemos definir facilmente la ruta en la que se va inicar nuestro proyecto Web.Api cuando hagamos debug

para ellos solo debemos ir a las propiedades del proyecto  y luego definir en debug la ruta que deseemos abrir por defecto.

 

webapicore

 

webapicore2

Definir página inicial en ASP.NET Core

marzo 29, 2017 Deja un comentario

Para definir una pagina por defecto en ASP.Net core simplemente tenemos que cambia la ruta por defecto del controlador

 app.UseMvc(routes =>
 {
 routes.MapRoute(
 name: "default",
 template: "{controller=[controller]}/{action=[action]}/{id?}");
 });

Si deseamos especificar una pagina HTML debemos usar el metodo DefaultFiles como muestra en el ejemplo

 DefaultFilesOptions DefaultFile = new DefaultFilesOptions();
 DefaultFile.DefaultFileNames.Clear();
 DefaultFile.DefaultFileNames.Add("MyPage.html");
 app.UseDefaultFiles(DefaultFile);
 app.UseStaticFiles();

Usar StreamReader .Net core

marzo 27, 2017 Deja un comentario

En .Net core tenemos un problema usando la clase StreamReader para leer un archivo y es por que no podemos usar el constructor que usualmente recibe la ruta del archivo que deseamos leer

streamreader

El WorkAround para este caso es utilizar la clase File con el metodo open File.OpenText

using (var myReader = File.OpenText("data/books.json"))
 {
 string str = myReader.ReadToEnd(); 
 return JsonConvert.DeserializeObject<List<Book>>(str);
 }

 

 

Error creando controller en visual 2017

marzo 26, 2017 Deja un comentario

Cuando creamos un proyecto tipo Api en visual 2017 puede ocurrir un error por el diseñador

Untitlednetcorecontrollererrornetcorecontrollererror2

Para solucionar este inconveniente simplimente agregamos al archivo del proyecto .csproj los siguientes paquetes:

<PackageReference Include=”Microsoft.VisualStudio.Web.CodeGeneration.Design” Version=”1.1.0-msbuild3-final” PrivateAssets=”All” />

<ItemGroup>
<DotNetCliToolReference Include=”Microsoft.EntityFrameworkCore.Tools.DotNet” Version=”1.0.0-msbuild3-final” />
<DotNetCliToolReference Include=”Microsoft.Extensions.SecretManager.Tools” Version=”1.0.0-msbuild3-final” />
<DotNetCliToolReference Include=”Microsoft.VisualStudio.Web.CodeGeneration.Tools” Version=”1.0.0-msbuild3-final” />
</ItemGroup>

 

Rereferencia:

https://developercommunity.visualstudio.com/content/problem/5964/code-generator-error-creating-controller.html