Las 5 mejores extensiones para Visual Studio

por:

Las 5 mejores extensiones de Visual Studio

Visual Studio es uno de los principales entornos de desarrollo y, desde mi punto de vista, uno de los más completos. Sin embargo, para mí hay 5 extensiones imprescindibles que deberías instalar en Visual Studio.

 

.NET Portability Analyzer

Como seguramente sabrás, el ecosistema de .NET está cambiando a gran velocidad y es preciso adaptarse a las nuevas APIs, si no te quieres quedar atrás a medio plazo. Este cambio, significa que hay métodos, clases y bibliotecas que van a dejar de funcionar y por tanto, hay que realizar migraciones.

Este plugin te va a ahorrar multitud de tiempo, analizando qué partes de tu código actual no son compatibles y si debes cambiar algo. Desde mi experiencia las aplicaciones que necesitan más cambios son las de tipo web, ya que en ASP.NET Core se han eliminado multitud de APIs y compatibilidades con desarrollos legacy.

Leer más

Programación a bajo nivel con C# y .NET Core 3

por:

Programación a bajo nivel con C# y .NET Core 3

Programar a bajo nivel, quizás es una de esas cosas que aprendes en la carrera y que nunca vas a necesitar. Sin embargo, es muy curioso como algunos lenguajes de alto nivel, según van evolucionando, van añadiendo más características de bajo nivel.

¿Qué es programar a bajo nivel?

Para mí, programar a bajo nivel es programar lo más cerca posible al uso directo de la memoria del ordenador y al juego de instrucciones básicas del procesador. Esto evita usar abstracciones como clases, operadores propios del lenguaje, etc. acercándote lo máximo posible a programar en ensamblador.

¿Cuándo es necesario programar a bajo nivel?

En el día a día, seguro que el 99% de los desarrolladores no necesitamos programar a bajo nivel. Pero que no forme parte de nuestro día a día, no quiere decir que todavía no sea muy necesario en algunas áreas:

  • Programación de sistemas empotrados o embebidos.
  • Computación científica, con alta carga matemática.
  • Desarrollo de motores o sistemas que simulen sucesos.
  • Programación de sistemas criptográficos.

Leer más

Identificando mejoras de rendimiento en .NET

por:

Identificando mejoras de rendimiento en .NET

¿Cuántas veces nos hemos preguntado entre dos opciones cuál es más óptima? Hoy os muestro una utilidad que os puede ayudar.

Conociendo nuestro lenguaje

Lo primero que hay que saber para ver cómo se optimiza en el lenguaje que trabajamos es ver cómo funciona el mismo. En el caso de C# (java es similar), hay 2 fases principales:

Proceso de compilar y optimizar el código en .Net para mejorar el rendimiento.

Viendo el gráfico anterior, podemos apreciar como el compilar puede realizar optimizaciones tanto en la generación del código C#, como en la generación del IL(Intermediate Language) y en tiempo de ejecución, en la generación de las instrucciones que ejecutará nuestra CPU.

Leer más

DevCleaner: limpia tus desarrollos

por:

DevCleaner limpia tus desarrollos

Hace poco tiempo me di cuenta de que almacenaba en mi equipo un gran número de proyectos de desarrollo, que había ido acumulando a lo largo de los meses. Estos proyectos cada vez ocupaban más espacio y, por lo tanto, era importante limpiarlos.

Estructura de un proyecto de desarrollo

Normalmente todos los proyectos de desarrollo tienen la siguiente estructura:

  1. Una o varias carpetas donde se almacena el código fuente.
  2. Otra carpeta donde se guardan recursos: imágenes, traducciones, archivos de configuración, etc.
  3. Un conjunto de carpetas donde se guardan dependencias, archivos con el código precompilado, paquetes y los archivos finales para ser publicados.

Está bastante claro que ni se quiere perder el código de las aplicaciones, ni los archivos auxiliares necesarios para que la misma funcione correctamente. Pero todos los archivos del punto 3, son candidatos a ser eliminados, puesto que se pueden volver a generar a partir de los archivos de los puntos 1 y 2.

Leer más

Cómo crear aplicaciones multiplataforma con Xamarin y C#

por:

Como crear aplicaciones multiplataforma con Xamarin y C#

La necesidad de crear aplicaciones (principalmente para móviles), cada vez es mayor para cualquier tipo de servicio y/o empresa. Por ello en esta guía te enseño cómo crear aplicaciones multiplataforma con Xamarin y el lenguaje de programación C#.

La necesidad de Xamarin

Aunque cada vez se crean más aplicaciones y se necesitan que sean compatibles con varias plataformas, su desarrollo todavía sigue siendo un proceso costoso y largo. Esto es debido a que cada plataforma cuenta con un lenguaje de programación propio, impidiendo la compartición de recursos, por esta razón han surgido varias aproximaciones para crear aplicaciones multiplataformas:

  • Utilizar los lenguajes y tecnologías web (HTML, CSS y JavaScript), aprovechando que todos los dispositivos cuentan con un navegador web y un componente para representar este código.
  • Utilizar Xamarin junto con C#, para unificar el desarrollo gracias al proyecto Mono.

Ventajas del uso de Xamarin frente a las aplicaciones web

Seguramente habrás notado que los navegadores son un tipo de software cuyo consumo es elevado y, en muchos casos, no dan el rendimiento esperado. Esto, junto con las limitaciones que de HTML5 hace que las aplicaciones basadas en tecnologías web (Ionic, PhoneGap…), suelen tener un menor rendimiento, mayor consumo de batería y limitaciones para el acceso a algunas características de los dispositivos.

Por otro lado, Xamarin permite el desarrollo nativo para cada plataforma, lo que permite obtener un rendimiento similar a las aplicaciones creadas en el lenguaje de cada plataforma y el acceso completo a todas las APIs del sistema.

Leer más

3 componentes básicos para tu app con C#

por:

3 componentes básicos para tu app con C#

En los dos últimos meses he estado desarrollando algunas aplicaciones tanto para móviles (vía Xamarin), como para escritorio (WPF) y en todas ellas hay 3 componentes que siempre se repiten.

PRISM

Como muchos de vosotros sabréis, la arquitectura propuesta por Microsoft para desarrollar aplicaciones es la denominada MVVM (Model View ViewModel). Esta arquitectura requiere escribir bastante código para algunas características simples, así que suele ir siempre apoyada por un framework. En mi caso, la elección es PRISM debido a que es:

  • El framework diseñado por Microsoft
  • Uno de los desarrollos más completos en el soporte de MVVM
  • Un sistema muy estable y maduro
  • Un desarrollo que soporta todo tipo de aplicaciones realizadas con C#

Este proyecto es software libre y puede ser consultado en GitHub, donde también están presentes enlaces a la documentación y a los paquetes de NuGet.

Leer más

3 maneras de optimizar tus programas en C# ?

por:

3 maneras de optimizar tus programas en C#

Uno de los problemas que más se repite en los programas que manejan muchos datos o que tienen algoritmos complejos, es el tiempo que tarda el sistema en realizar los cálculos y los recursos que necesita. Por esta razón, hoy te enseñamos 3 maneras de optimizar tus programas en C#

¿Qué es optimizar?

Optimizar es un proceso clave en el mundo empresarial, el cual consiste en reducir los recursos necesarios para alcanzar un objetivo. En este caso queremos reducir el tiempo de computación y la cantidad de memoria, necesaria para ordenar un conjunto de datos grande. La optimización tiene los siguientes problemas:

  • Es un proceso complejo, ya que para alcanzar mejoras en el rendimiento, muchas veces, es necesario utilizar estructuras de datos más complejas.
  • Requiere definir claramente qué queremos optimizar (memoria, tiempo, uso del disco duro, etc), porque en muchos casos al optimizar un parámetro, empeoramos otros.
  • Es necesario conocer a fondo la plataforma y tecnologías que estamos utilizando, para saber qué mejoras son más óptimas.
  • El coste de optimizar suele ser logarítmico, al principio se necesita poco tiempo para conseguir mejoras, pero se llega a un punto donde el coste de desarrollar una mejora es muy alto.

Leer más

Cómo insertar un video de YouTube en WPF o UWP

por:

Cómo insertar un video de YouTube en WPF o UWP

YouTube actualmente se ha convertido en el lugar por excelencia para albergar vídeos, por lo que es bastante común que tengamos que reproducir algún video hosteado en este servicio en nuestras aplicaciones.

Utilizando el control MediaElement

Tanto WPF como UWP tienen el control MediaElement, que no es más que un reproductor nativo de elementos multimedia (video, audio), como se puede ver en la siguiente imagen:

Demostración del control Media Element en UWP

Leer más

Cómo subir una aplicación a la Windows Store

por:

Cómo subir una aplicación a la Windows Store

En los últimos tiempos, las tiendas de aplicaciones se han convertido en la piedra angular de la distribución de las aplicaciones. En este artículo os vamos a enseñar todos los pasos que debéis realizar, desde que hacéis la aplicación, hasta que la subís a la tienda.

Reservando el nombre de nuestra aplicación

Lo primero que tenemos que hacer para distribuir nuestra aplicación en la tienda de Windows, es reservar el nombre de nuestra aplicación. Este proceso se realiza desde el panel de desarrolladores.

Panel de la Windows Store para la reserva de nombres y la visualizaición de los datos

Pulsaremos en crear una aplicación nueva, aquí nos saldrá un cuadro en el que podremos comprobar si el nombre que queremos usar está disponible y reservarlo para nosotros.

Leer más