Archivo

Archive for the ‘Programación’ Category

Programando por capas en Visual Basic .Net

Visual Basic logoHacía tiempo que no escribía nada relacionado con la programación. Si os soy sincero, estoy renovando mi forma de programar. Después de haber realizado unas cuantos programas en Visual Basic .NET con el IDE Visual Studio 2010, es cuando uno se da cuenta que se tiene que aplicar el dicho «renovarse o morir» de una forma radical.

Veréis, mi forma de programación, por muchos casos de éxito que haya tenido, es de todo menos limpia. Es decir, la programación no es optima. Cualquiera que tenga nociones de programación con muchos años de experiencia, sabrá que existe la arquitectura de capas, en que para una optima programación se exige que el software a desarrollar contenga 3 capas que son:

  • Capa de presentación
  • Capa de negocio
  • Capa de datos

Capa de presentación

Esta capa es la que ve el usuario final en su pantalla, sobretodo en aplicaciones totalmente enfocadas en la filosofia cliente-servidor.

Lo que ve el usuario final da lo mismo lo que sea, puede ser un formulario web, un formulario de Windows, etc…

Esta capa es la que permite la entrada de datos hacía el programa y a partir de allí que empiece la gestión de los datos.

Capa de negocio

Esta capa se considera el corazón del software. El programa tiene que pasar gran parte del proceso de datos en esta capa intermedia, ya que su función es muy importante: Aplicar las reglas de negocio para la gestión de datos.

Es decir, si por ejemplo tenemos un campo de texto en un formulario, tendremos un método que se encargue de pasar el dato que hay en la caja de texto hacia la capa de negocio. Esta analizará el texto si tenemos aplicado alguna regla de negocio (que no contenga numeros, que contenga una longitud predeterminada, etc…) y, si pasa el filtro, los datos pasaran a la capa de datos. Y en caso contrario, saltará un aviso de error para que se pueda corregir por el usuario.

Es decir, la capa de presentación solamente sirve para interactuar con el usuario. Una vez el usuario introduzca o interaccione con el programa, la capa de presentación pasa a un 2º plano, delegando el potencial del programa a la capa de negocio, tal y como estoy diciendo.

Capa de datos

Una vez los datos han pasado la regla de negocio, llega la capa de datos, en que los datos están preparados para ser guardados en una base de datos después de su correcto tratamiento. Y una vez guardados en la base de datos, se devuelve la confirmación del proceso. O en su caso contrario, saltará un error.

Por qué es tan importante la programación por capas?

Visual Basic .NET es un lenguaje POO (es decir, Programación Orientada a Objetos) desde su versión 2002, que fue el salto definitivo del antiguo y arcaico Visual Basic 6.

Este salto supone muchas ventajas, ya que permite la creación de clases (como indica su definición, permiten la Herencia, etc… ya lo explicaré más en profundidad en otra ocasión)

Y es aquí donde intervienen las capas, ya que las capas pueden ser conjuntos de clases y, en caso de ser un equipo de desarrollo de software, cada grupo se podría ocupar de programar una capa en concreto y así optimizar el proceso de mejoría en los programas, ya que se tardará menos tiempo en lanzar una nueva versión.

Es decir, puedes mejorar la capa de datos (mejoría en la gestión de consultas, etc….) sin que la capa de negocio se vea afectada, por ejemplo. Programar un poco por módulos.

Además, las capas no hacen falta que estén todas en el mismo ordenador, sino que en caso de tener una red LAN, cada capa puede estar en un PC distinto tal y como se puede apreciar en la siguiente imagen:

Programacion por capas

Y aquí es donde entra en juego la importancia de que una aplicación esté bien estructurada. Y dicho esto, aquí es donde pecan los programas que he realizado hasta ahora y que estoy reescribiendo para una mayor optimización de código. Será un proceso largo, tengo muchas dudas debido que lo estoy haciendo de forma autodidacta, pero bueno, la perseverancia es la clave…

De todos modos, aquí tenéis un ejemplo (en PDF) sobre como llenar un control Listbox usando la arquitectura en 3 capas y que va realmente bien para entender todo lo que he dicho hasta ahora: Enlace

Categorías: Programación Etiquetas: ,

Programación – Las variables y sus tipos

Vamos entrando más en materia y vemos de que consta un programa, aparte del diseño y de la planificación tal y como os comenté en post anteriores.

Una vez diseñada, nuestra aplicación tiene que almacenar datos en algún sitio. Este sitio es la memoria RAM. La memoria RAM almacena los datos en celdas de memoria, localizables gracias a los punteros de memoria. Pero a nosotros lo que nos interesa es como interactuar con esos datos, como podemos «jugar» -entre comillas- con ellos y sacar provecho. Para ello, existen las variables.

Tipos de datos

Podemos encontrarnos variables en todo lo que sea programación: Ya sean bases de datos, como lenguajes de programación como Visual Basic, Java, Access, MySQL/SQL, etc… Cada lenguaje, como es lógico, cuenta con su sintaxis. Pero a fin de cuentas, lo que nos interesa es saber que es una variable y como se utiliza. Cuando entremos en detalle con algún lenguaje de programación ya lo definiremos.

Dependiendo de la cantidad de memoria que se quiera utilizar y del tipo de dato que queramos usar -no es lo mismo un caracter que una palabra, un numero que un numero decimal, tenemos unas variables más pequeñas (como es el caso del Byte) y, las más grandes, como es el caso del Long.

Vamos a hacer una pequeña enumeración de menos a más. Cuando termine os voy a dar un consejo muy util que seguro que os vendrá muy bien a la hora de programar:

  • Byte –> 1 Byte (8 bits de memoria) | Rango: de 0 a 255
  • Short –> 2 Bytes (16 bits de memoria) | Rango: De -32.768 a 32.767
  • Integer –> 4 Bytes (32 bits de memoria) | Rango: De -2.147.483.648 a 2.147.483.647
  • Long –> 8 Bytes (64 bits de memoria) | Rango: De -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
  • Float –> 4 Bytes (32 bits de memoria) | Rango: De 1,5E-45 a 3,4E+38
  • Double –> 8 Bytes (64 bits de memoria) | Rango: De 5E-324 a 1,7E+308
  • Char –> 2 Bytes (16 bits de memoria) | Rango: De 0 a 65,535 (código Unicode)
  • Boolean –> 1 Bit de memoria | Rango: «Si» o «No» / «True» or «False»

Visto los tipos de variables, aqui viene el consejo que os prometí antes: Tened muy en cuenta las variables, ya que pueden optimizar/estropear el programar.

Es decir, si sabes que tu programa, por poner un ejemplo, es de contabilidad básica, muy básica, y sabes que las operaciones que harás no pasarán del valor 32.000, pues usa un Short. Por estas razones:

  • No puedes usar una variable Byte porqué te quedarás corto (vemos que es de 0 a 255, si pasas de ese valor, no se podrá almacenar)
  • Si usas una variable más grande como es el caso de Integer, vemos que estás usando el doble de memoria que si lo guardaras en la Short.

Que quiero decir con esto? Pues que si por ejemplo tienes 10 variables que están usando el doble de memoria que la que realmente necesitan, tu programa no es optimo, va a ir lento (no se notará porqué las máquinas de hoy en día son verdaderos monstruos de la computación pero tampoco es para ir programando mal) y ocupará un espacio de memoria que, si necesitas tener muchos procesos, se llegaría notando.

Por eso es importante la gestión de las variables. Cuando dominéis el arte de la programación os daréis cuenta que las variables son la base de la arquitectura del programa. Si más no, una pieza fundamental.

En properos post os iré enseñando más cosas, como por ejemplo como diseñar bien una aplicación usando funciones, modulos, etc. Estad atentos.

Post in english: Link

Categorías: Programación Etiquetas: ,

RIM presenta WebWorks y nuevas herramientas para desarrollar para BlackBerry

28 septiembre, 2010 Deja un comentario

Seguimos con RIM ya que esta Devcon 2010, que se celebra en San Francisco hasta el próximo día 30, está siendo muy interesante en cuanto novedades de la empresa canadiense.

Después de hablaros de PlayBook, el nuevo Tablet de RIM, es hora de hablaros de novedades que hará las delicias de todos los programadores. Las novedades las podemos enumerar como WebWorks, BlackBerry Analytics SDK, BlackBerry Enterprise Application Middleware y BlackBerry Messenger Social Platform.

WebWorks

WebWorks se presenta al mundo como un nuevo modo de desarrollo para aquellos programadores de BlackBerry. De hecho, el nombre completo de la novedad es BlackBerry WebWorks Application Platform.

¿Por qué digo nuevo modo? Porqué es así, ya que como principal novedad tenemos la posibilidad de programar vía Web. Si si, habéis leído bien, ya que usará el potencial que ofrece lenguajes como HTML5, CSS3 y Javascript para desarrollar aplicaciones para BlackBerry.

Mike Lazaridis, Presidente de RIM, asegura que «abre un nuevo mundo a los programadores» y que «cualquiera que conozca HTML, puede desarrollar una aplicación para BlackBerry«.

Plugin para MacOS X

Los usuarios de Mac no se quedarán sin programar, ya que también para ellos hay novedades. Básicamente, han desarrollado un plugin de eclipse para MacOS X, con lo que también podrán unirse a los millones de desarrolladores del terminal de RIM.

BlackBerry Analytics SDK

Esta herramienta lo que te facilitará será información acerca del uso que se le está dando a tu aplicación. Viene a ser como un resumen estadístico de tu aplicación, con información sobre las descargas que ha obtenido, etc…

Entonces te puedes hacer una idea de si ha llegado o no a un gran número de usuarios. Si no ha sido la idea que te esperar puedes entonces mejorar las prestaciones de tu aplicación para que llegue a más usuarios, etc…

BlackBerry Enterprise Application Middleware

Seguimos y esta vez hablamos de esta herramienta cuya meta es facilitar la faena a los desarrolladores de aplicaciones para BlackBerry mediante el uso de nuevas API’s, librerías y software de servidor.

Concretamente, como novedad, podemos ver como RIM nos da métodos para crear, según ellos, aplicaciones capaces de acceder a alertas de un modo instantáneo, utilizar transferencias de archivos enfocado a aplicaciones de nivel empresarial y facilitar el uso de la geolocalización.

Para ello, contamos con la tecnología Middleware para desarrollar con herramientas de la talla de IBM WebSphere o Oracle Fusion Middleware.

BlackBerry Messenger Social Platform

Finalmente, terminamos con herramientas para desarrollar aplicaciones para el servicio de mensajería instantánea BlackBerry Messenger, que actualmente cuenta con 28 millones de usuarios en todo el mundo.

Vía: ItEspresso | Noticias2D

Post in english: Link

Breve introducción a la programación – Consejos

21 septiembre, 2010 Deja un comentario

Tal y como prometí la vez anterior, estrené la sección de programación que podéis encontrar en la página homónima.

Introducción

Programar es un arte. Podría llamarse así ya que tu creas desde cero programas bajo un lenguaje. Es más, de hecho, la llamó así cuando tengo que explicar a alguien para que sirve programar y la importancia de ello.

Para poneros un ejemplo: Imaginad una persona que no hable tu idioma. Esa persona lo domina pero tu no, con lo cual, no puedes hablar con él. Poco a poco vas aprendiendo su idioma, empezando por la gramática, sus tiempos verbales; poco a poco, cuando empiezas a dominar ya empiezas a montar frases; de frases pasas a oraciones y de oraciones ya escribes textos.

Pues con programación pasa lo mismo. Yo empecé con C, la madre de todos los lenguajes de programación. Si aprendes C, aprenderás la estructura básica de la programación. Yo estoy especializado en Visual Basic .NET y, sinceramente como todo en la vida, me costó su aprendizaje. Recuerdo las clases con mi profesor en que no entendía nada. Pero poco a poco, con las prácticas que hice en su día en la academia (que ahora reviso y se podrían mejorar) vas entendiendo el porqué de ese bucle, el porqué crear una clase/modulo y el porqué, todo en conjunto, es lo que es: un programa.

Pero no todo termina en la programación. Mas tarde tienes la difícil tarea del mantenimiento de tu aplicación. Cuando entreis en el mundo laboral os daréis cuenta que:

  1. No vale eso de empezar a programar sin base. Antes de poneros delante del ordenador, coged siempre papel y boli y dibujad el diseño, escribid sin miedo, haced un brainstorm de lo que queréis hacer o lo que quieren que hagas. Piensa que el mejor programa empezó en un papel y, una vez plasmado en papel, programarlo será todavía más fácil.
  2. Tendréis que hacer un programa excelente (No vale que sea bueno, tiene que ser superior, con lo que la tarea del analista/programador requiere mucho esfuerzo. En este mundo no valen los errores ya que está en juego tu reputación como informático. Si programas con errores pierdes credibilidad y la posibilidad que te den mas tareas de programación. Con lo cual, una buena fase de testeo es primordial antes de lanzar la versión accesible para los usuarios)
  3. Evolutivos. Siempre tendrás que mejorarlo. Tus jefes te pedirán que en la siguiente versión haga X cosa que antes no hacía, con lo cual el programar también exige investigación (buscando como hacer esa cosa que quizá no sepas hacer)
  4. Depurarlo. Cuando te llamen de un departamento comentando que ese programa que has hecho falla cuando quieren realizar una tarea, tu deber es abrir el programa, reproducir el error y, si está bien programado, solucionarlo en un momento. De ahí la importancia que este muy pero que muy bien estructurado. El esqueleto de la aplicación tiene que ser solido, sin grietas (de ahí la importancia del punto 1)

Con lo cual, poneos cómodos y sobretodo, muy importante: Abrid vuestra mente. No os de verguenza preguntar el porqué ese bucle o que hace esa función. O porqué esa variable y no otra… Cuando dominéis el arte de la programación pensad en la siguiente frase que digo siempre a los usuarios cuando me piden si puedo programar alguna cosa para sus quehaceres diarios.

«Todo se puede programar, el límite está en la imaginación«

Post in english: Link

Categorías: Programación Etiquetas: , ,

Estrenada sección: «Programación»

13 septiembre, 2010 Deja un comentario

Seguimos de estrenos y ampliando el abanico de posibilidades que ofrece esta web.

Aparte de noticias, comentar que como informático, parte de mi trabajo se dedica a la programación de aplicaciones. Y para ello, quisiera compartir con todos vosotros ejemplos prácticos de como hacer alguna que otra rutina, función, bucle, etc…

Sin más, os dejo el enlace a la página: Sección «Programación»

Post in english: Link

Categorías: Programación Etiquetas: ,