lunes, 15 de diciembre de 2014

Post 4. Conceptos Básicos MVC

Pues como ya saben el concepto de MVC es muy conocido (o al menos todos hemos escuchado de él en algún momento), para una definición mas formal los invito a leer su descripción en la wikipedia haciendo click aquí, a continuación procedo a explicarlo (o intentar explicarlo) con mis propias palabras.

MVC: Es un patrón de diseño (principalmente web) en el que se divide la parte de Vista, Modelo y Controlador (obviamente todos lo saben). Esta "división" permite mayor flexibilidad de desarrollo, los diseñadores pueden crear las paginas, mientras los programadores desarrollan los controladores sin esperar uno del otro, independencia de componentes, puedes modificar componentes de una capa sin afectar a otras.

  • Modelo: Define la parte "lógica" del sistema, contiene las clases necesarias (entidades, lógica de negocio, acceso a base de datos) para que éste funcione.
  • Controlador: Es el intermediario entre el modelo la vista, se encarga de responder a las peticiones desde la vista hacia el modelo y viceversa.
  • Vista: Maneja todo el aspecto visual y es con la que interactúa el usuario, en él se ingresan y se muestran la información del sistema (con ayuda del modelo).

Tomemos el ejemplo de un inicio de Sesión o Login:

Cuando el usuario ingresa a la ventana de login se muestra un formulario donde se deben ingresar el usuario y el password (Vista), al hacer clic en el botón de login se envían los datos ingresados hacia el servidor (Controlador), este validad si los datos ingresados pertenece al modelo de Login, el controlador valida que el usuario y password sean correctos accesando a Base de Datos (Modelo).
Una vez reciba una respuesta el controlador decide si enviar un mensaje de "usuario o password incorrecto" hacia la ventana de login o redireccionar hacia una ventana de bienvenida.

Existe un concepto adicional (que yo particularmente uso mucho, sobretodo en sistemas bastante complejos) llamado ViewModel, los viewmodel representan una funcionalidad específica de una entidad.

Utilizando otro ejemplo, si necesitamos un mantenimiento de usuarios, para poder representar el registro, muy probablemente sea suficiente el mismo modelo, pero que pasa si deseamos utilizar una búsqueda de usuarios en la que el filtro de búsqueda sea el rango de fecha de registro (fecha inicio y fecha fin). 

Lo mas simple seria agregar 2 nuevos atributos al modelo, pero se perdería un poco el concepto de la entidad, pues los atributos de fecha de inicio y fecha fin no son realmente atributos de un usuario.

Por ello es que se utilizan los viewmodels, en este caso podemos crear un viewmodel con los atributos fecha inicio, fecha fin y una lista (array) de usuarios a mostrar en nuestra grilla de resultados, asimismo podemos agregar los atributos paginado, total de registros para cuestiones de paginado.

Espero que hayan entendido mejor los conceptos básicos de MVC, nos vemos pronto.




Seguir leyendo →

domingo, 23 de noviembre de 2014

Post3. Hola Mundo

Empezaremos con nuestro primer proyecto con el clásico Hola Mundo. Para ello crearemos nuestraprimera web MVC3.

Para crear un proyecto debemos ir a Archivo -> Nuevo -> Proyecto.


Es recomendable crear primero una solución en blanco e ir agregándole tus proyectos, seleccionamos la plantilla Otros tipos de proyecto -> Soluciones de Visual Studio -> Solución en blanco. Ingresamos un nombre y seleccionamos la ubicación fisica. Luego hacemos clic en Aceptar.


Continuamos agregando un proyecto Web, clic derecho sobre la solución -> Agregar -> Nuevo Proyecto.

Se mostrará la ventana Agregar Nuevo Proyecto.
En la sección plantillas instaladas seleccionamos Visual C# -> Web, luego seleccionamos la plantilla ASP. NET MVC 3 Web Application, ingresamos un nombre y hacemos clic en aceptar.

Se mostrará la ventana New ASP.NET MVC 3 Project, para nuestro ejemplo seleccionaremos las opciones por defecto como se muestra, luego hacemos clic en OK. Con esta opción VS2010 nos creará un proyecto por degecti


VS2010 nos creará una estructura básica para el proyecto (se explicará con mayor detalle más adelante).

Abrimos el archivo HolaMundoMVC3 -> Views -> Home -> Index.cshtml y eliminamos su contenido y agregarmos: <h1>Hola Mundo !!!</h1>.

Luego Ejecutamos (F5):


Con esto ya hemos credo nuestra primera web MVC3, hasta la próxima.
Pueden descargar la fuentes de este post aqui.


Seguir leyendo →

domingo, 4 de mayo de 2014

Post2. Conceptos Básicos

Antes de iniciar a programar debemos explicar los conceptos básicos que serán utilizados en todo el blog

Visual Studio .Net: Es un programa de Microsoft que nos brinda las herramientas necesarias para la creación diversos tipos de aplicaciones (paginas web, programas de escrotorios, consola, web services, aplicaciones mobile, etc.) para ello nos brinda también la posibilidad de utilizar distintos lenguajes dentro de un mismo ID (C#, Visual Basic, J#, etc.).

C#: Es un lenguaje creado por Microsoft para ser utilizado en su plataforma .NET, sus principales creadores son Scott Wiltamuth y Anders Hejlsberg. La sintaxis de C# está basado en C++ (particularmente yo había programado antes en C++ y Java y adecuarme a C# fue bastante simple).

Intellisense: Es una aplicación de autocompletado desarrollado por Microsoft y que se utiliza en Visual Studio. Sirve de "ayuda" (y bastante) al momento de programar porque nos ayuda diferenciar entre distintas nombres de variables y funciones, nos brinda documentación y nos ahorra el tiempo de tipear todo el nombre completo.



Solución: Es el conjunto de proyectos que conforman nuestra aplicación. Posee la extension .sln y define la "estructura" de todos los proyecto que lo conforman.

Proyecto: Se utilizan para separar una parte de tu proyecto en una estructura "adecuada" es decir dentro de nuestra aplicacion tenemos un proyecto que contiene la lógica del negocio, otro que posee el acceso a datos y otro que posea los formularios web. Cada proyecto debe de generar un resultado (web, exe, dll, etc.)





Plantillas: Visual Studio nos brinda gran cantidad de plantillas de proyecto las cuales nos darán la estructura y recursos basicos (carpetas, archivos, librerias, etc) para poder iniciar nuestro proyecto.


Namespace: O espacios de Nombres, es una forma de agrupar nuestras clases y funciones que están relacionadas (es algo parecido a los paquetes de Java). Ya veremos más adelante su uso.

Ensamblados: Son archivos (con extension .exe o .dll) que contienen el compilado el codigo ejecutable mejor dicho la funcionalidad". Gracias a esto puedes utilizar clases y funciones de otros proyectos dentro de otro.

Existen otros conceptos que son necesarios para aprender a programar pero que son de carácter general, por lo que fácilmente podrán encontrar su definición en diversas páginas (como wikipedia) entre ellas:
Clases
Objetos
Programación Orientada a Objetos (POO)
Tipos de Datos

De todas maneras podremos verlas (y con ejemplos) más adelante.
Seguir leyendo →

Post1. Interfaz de desarrollo

En este primer capítulo daremos una pequeña descripción hacerca del ID de desarrollo, deberán de instalar cualquier versión de Visual Studio 2010.



La primera vez que iniciemos el programa nos mostrará el cuadro de diálogo "Seleccionar configuración de entorno predeterminada", deberemos seleccionar la opción Configuración de desarrollo de Visual C#.

El ID de desarrollo es bastante similar a las versiones anteriores (si han trabajado con alguna otra versión no tendrán ningún problema).

Podremos resaltar puntos importantes:

  • Barra de Menú
  • Barras de Herramientas
  • Página principal, página de inicio donde se muestran los últimos proyectos que abrimos y una sección de Consejos / Recursos / Noticias.
  • El explorador de Soluciones (que mostrará los archivos fuente de nuestra solución)


Seguir leyendo →

jueves, 1 de mayo de 2014

1,2,3... Iniciando

Bienvenidos a este nuevo blog, mi principal meta es enseñar a todos aquellos que quieran aprender acerca del lenguaje  C# .Net orientado a Web.

Como primera etapa de este Blog iniciaremos con los conceptos básicos del lenguaje, iniciando con proyectos web y luego orientándonos hacia Programación Web con MVC.

Espero contar con el apoyo y comentarios de todos para poder hacer crecer este Blog.
Seguir leyendo →

Contactos

Post Populares

123.Net

123.Net

Vistas a la página totales

Con tecnología de Blogger.