May 22, 2015

No Comments

¿Qué son los ORM?

En el desarrollo de una aplicación vemos involucradas dos partes fundamentales para el funcionamiento de la misma como son: La parte del código que se genera para poder hacerla funcionar y por otro lado el acceso a los datos que son los que harán funcional la aplicación, que debido a los cambios que puedan llegar a surgir el manejo de estos se puede llegar a complicar con la evolución.

En la actualidad contamos con un sistema de base de datos relacionales que nos permite mantener entidades con sus respectivas relaciones y atributos.

 

Ejemplo: En un sistema que lleva la información de una escuela.

 

Entidades: Alumno, profesor, salones, boleta, etc.

Relaciones: Una boleta corresponde a un estudiante, etc.

Atributos: Una boleta contiene nombre, materia, calificación, etc.

 

Este sistema posee una interfaz para acceder a los datos llamada Query que es un Lenguaje Estructurado de Consultas y con este realizamos las peticiones a la Base de Datos, ejemplo:

Select * from Boleta where IdAlumno = 1

Antes de la aparición de los ORM las consultas tenían que realizarse en código duro dentro de las aplicaciones, con lo cual se perdía la ventaja de los lenguajes orientados a objetos, ya que se realizaba una petición a la base de datos de manera manual, por lo que era necesario contar con una adaptación de los datos a la aplicación.

Con los ORM nosotros podemos reducir la cantidad de código necesario y lograr una integración de tal manera que las entidades sean ocupadas como objetos, siendo el propio sistema el que se encargue de convertir esta información a SQL y a realizar el procesamiento.

Ejemplo:

Public Class Boleta

{

Int IdBoleta { get; set; } ;

Int IdAlumno { get; set; } ;

List<String> Materias { get; set; };

}

 

El desarrollo de capas de acceso a datos con ORM es una técnica de programación que mapea una base de datos relacional a una serie de objetos que pueden ser manipulados mediante código.

Lo que se persigue con los ORM es facilitar y automatizar el proceso para acceder a la información que va a ser manipulada por nuestro sistema.

 

Un sistema ORM nos proporciona las siguientes ventajas:

 

  • Autonomía completa del desarrollador: Podemos desarrollar una aplicación de acceso a datos sin escribir ninguna línea en lenguaje SQL, únicamente interviniendo directamente con las entidades.

     

  • Reducción en tiempo de desarrollo: Para desarrollar los métodos de acceso a datos solo se requieren una serie de líneas de código, lo que reduce los tiempos, permitiendo centrarnos más en la capa de presentación y en la de lógica de negocio.

     

     

  • Errores en tiempo de ejecución: Cuando se ejecuta cualquier operación de acceso a datos se obtienen errores de codificación en tiempo de compilación lo cual permite saber exactamente donde se encuentra el error.

     

Desventajas:

 

El principal inconveniente de los ORM es la poca escalabilidad que tienen, ya que realiza la traducción a lenguaje SQL de todas las operaciones que programemos a través del lenguaje ORM a emplear, siendo el problema las malas traducciones y la mala calidad del código traducido, por lo que para cierto tipo de sistemas es mejor utilizar procedimientos almacenados con buena estructura y optimización de código que las traducciones que realizan los ORM.

En conclusión los modelos ORM proporcionan muchas ventajas ya que nos permiten tener acceso a los datos de forma rápida y sencilla.

Al no ser la única manera de acceder a los datos, se debe ser preciso en saber cuál va a ser el mecanismo por el cual nuestro sistema tenga acceso a la información ya que para algunos sistemas tendrá un mejor rendimiento el no utilizar un ORM por las desventajas antes mencionadas.

May 22, 2015

No Comments

Visual Studio Code

La poderosa herramienta de desarrollo se pone en manos de los poseedores de una computadora con Linux o IOS siendo la primera herramienta de desarrollo multiplataforma agregando distintas características que la hacen ver muy atractiva.

 


 

Características

  • Incluye como en las versiones para Windows un resaltado de Sintaxis
  • El apoyo del siempre funcional IntelliSenses
  • La vista previa.
  • Incluye la nueva versión de ASP.NET
  • Incluye la nueva versión de C#
  • Soporte para Git y Diffs
  • Incluye el poder de la herramienta Roslyn y OmniSharp

 

Microsoft ha puesto a disposición el .Net Core y las bibliotecas para los sistemas Linux y Mac OS X con la intención de poder hacer .NET la primera herramienta de desarrollo multiplataforma incluyendo las características que lo distinguen como lo es el desarrollo Web con ASP.NET con el lenguaje de programación C#.

 

Lenguajes soportados

  • C++
  • Java
  • F#
  • Objetive-C
  • Perl
  • PHP
  • PowerShell
  • Python
  • C#
  • Entre otros….

 

Principales Características

Es una herramienta que destaca por ser muy rápida en su depuración como en la navegación dentro de la herramienta, La depuración es muy fácil tanto en JavaScript como en C#. La herramienta de IntellinSense para JavaScript como para JSON es de gran ayuda para la corrección en el desarrollo de algunos métodos en JavaScript como de la estructura de JSON, se incluye la opción de auto guardado de en VSCode muy similar a lo que ocurre con el autoguardado de la herramientas de Office Online. La navegación es muy fácil de realizar con un estilo retro que da una probadita de lo que es Windows 10. Se pueden abrir diferentes proyectos sin alterar el performance de la herramienta siendo muy útil sin tener bajones de rendimiento

 


 

JavaScript

  • Incluye intellinSense para para .Node y JavaScript
  • IntellinSense para módulos CommonJS y AMD
  • Validación y controles de sintaxis que le permite al usuario controlar como lo es: comparationOperatosNotStrict, emptyBlockWithoutComment

     

HTML

  • IntellinSense para los elementos y las etiquetas definidos por HTML 5
  • Expansión de fragmentos Emmet
  • Coloreado de sintaxis

JSON

  • Colorado de sintaxis
  • Corrección de la sintaxis
  • Corrección estructural basado en la estructura JSON
  • La inclusión de IntellinSense con Ctrl + Shift + 0

 

May 22, 2015

No Comments

Mejoras de ASP.NET 5

Desde la aparición en enero del 2002 de ASP.NET sustituyendo a ASP con la gran mejora de poder usar cualquier lenguaje de programación admitida por el Framework de .Net y apoyándose del Code Behind ha recibido bastantes mejoras a través de los años. Ahora es el tiempo de analizar las mejoras de ASP.NET 5 que se encuentra incluida dentro de Visual Studio .NET 2015.

 

Web Forms 4.6.

 

Dentro de la nueva actualización de ASP.NET 5 se incluye la de los Templates en este caso incluido los Web Forms que han formado parte importante de del desarrollo Web. En esta ocasión desglosaremos las tres características más importantes que incluirá esta versión.

 

HTTP/2

  • En esta versión se incluye la compatibilidad con HTTP/2 una de las ventajas es que el explorador solamente utilizara un TCP para comunicarse con el servidor sin tener que crear un nuevo TCP en cada consulta con el mismo.
  • Compatibilidad con la inserción de información al servidor, esto permitirá realizar una sola petición al servidor de múltiples peticiones en una sola respuesta evitando que el cliente tenga que realizar distintas solicitudes.

 

Compatibilidad con ROSLYN

  • Es una plataforma que es Open Source que permite la creación de un análisis de código con la misma API de Microsoft Visual Studio.

     


     

Nuevas Características en ASP.NET

 

  • Optimización en el Core de CLR rediseñando en componentes para tener mejor flexibilidad
  • CLR multiplataforma, Esto permitirá desarrollar y ejecutar aplicaciones en .NET en dispositivos como lo son Mac o Linux
  • Simplificación de las Dependencias. Las referencias se realizaran en un JSON y ya no realizando referencia al ensamblado al proyecto.

  • Desarrollo más ágil, se puede realizar los cambios de código así como guardar los cambios y de manera inmediata poder visualizar los cambios en el navegador sin necesidad de reconstruir el proyecto.

 

Conclusión.

La Herramienta de desarrollo Visual Studio nos brinda desde sus versiones anteriores una facilidad de desarrollo en distintos campos como lo es Mobile tanto en Windows 8 como lo es en Andorid y IOS (Xamarin) demostrando que es una herramienta que no se queda atrás en las nuevas tecnologías dando prioridad al performance de nuestras aplicaciones con apoyo de nuevas herramientas que se van agregando en las actualizaciones que nos proporciona el soporte de Microsoft, Vale la pena dar el gran salto a las actualizaciones de Visual Studio 2015 que nos brindan muchas ventajas.

Referencia:

http://www.asp.net/vnext/overview/aspnet-vnext

 

May 22, 2015

No Comments

¿Qué es ASP .NET vNext?

ASP.NET vNext intenta llevar las cosas al siguiente nivel. Hoy en día, se utiliza ASP.NET utilizando el mismo CLR que las aplicaciones de escritorio utilizan. Lo que se intenta con esta nueva tecnología es establecer una versión optimizada para servidores de poca memoria y de alto rendimiento.

ASP.NET vNext nos permite implementar nuestra propia versión de .NET Framework en una aplicación y tener su propia CLR. Las bibliotecas CLR y el acceso la nube se maneja mediante paquetes (NugetPackages).

La manera en la que se manejan los proyectos también cambia, ya que se integran los packages.config, NuGet, y los archivos de proyecto (csprojs) en una visión unificada de sus dependencias del proyecto expresados ​​en un archivo project.json.

Si nosotros queremos lanzar nuestros proyectos web, estos se pueden construir también como paquetes NuGet, para que pueda ser publicado tanto el proyecto como las dependencias del mismo.

Características:

  • Sincronización entre la nube y el servidor
  • Cross-Platform Runtime (Se ejecuta en MacOS y Linux)
  • Modelo de programación unificada que combina MVC, Web Api y Páginas Web
  • Posibilidad de ver los cambios sin necesidad de recompilar el proyecto
  • Código abierto en GitHub
  • Desacoplado de System.Web (Se divide en paquetes NuGet)
  • Integra inyección de dependencias
  • Posibilidad de usar un editor diferente a Visual Studio

Ventajas:

Fuente: http://taditdash.wordpress.com/2014/10/24/top-features-of-asp-net-vnext/

En ASP .NET vNext ha desaparecido el web config para dar lugar a un nuevo Framework de configuración con soporte para JSON, CommandLine y XML.

Nueva estrategia de construcción de .NET

Fuente: http://es.slideshare.net/santypr/introduccin-a-vnext