Anuncios

Archivo

Posts Tagged ‘Programacion’

Cinco claves para desarrollar una aplicación con éxito

Codigo fuenteEste mes, la revista “Emprendedores” publica una columna en que se pueden leer unos grandes consejos que debe tener una aplicación. Esta enfocada a dispositivos móviles, pero bueno, se podría trasladar a cualquier tipo de aplicación, debido que son cinco claves que hay que analizar para desarrollar un buen software. Además, le doy mi punto de vista personal que analizo debido mi experiencia como desarrollador de software.

Transcriben un comentario de Telefónica, en que se afirma que siguiendo estas claves, es la única manera en que “una aplicación puede ganarse un hueco entre los empleados, los clientes y la sociedad en general“.

Sin más, paso a escribir las claves:

  1. No hagas una aplicación para estar por estar: Es decir, tienes que definir que objetivos tienes y cual es la misión de la aplicación. Quieres más relevancia? Más ventas? Más productividad?
  2. Cuida tu presencia en canales y aprovecha el potencial que ofrece el SaaS: El llamado SaaS son las siglas de “Software as a Service”, es decir, Software como Servicio. Es ese software que se desarrolla y aloja en servidores para que todo el mundo pueda utilizarlo solamente accediendo a una dirección web. Si aprovechas este potencial, puedes llegar a más audiencia
  3. Ten una estrategia de Social Media: Socia Media es lo que normalmente se conoce como “Medios de comunicación social“, y por esto se entiende pues aprovechar el potencial que ofrecen, por ejemplo, las redes sociales, tales como Facebook, Twitter, etc… ¿Y por qué este detalle? Muy sencillo: Las redes sociales las utilizan millones y millones de personas. Si logras que un porcentaje (aunque sea pequeño) pueda ver tu aplicación, tienes más posibilidades que se interesen por ella. Por tanto, mayor audiencia, difusión, etc….
  4. Las actualizaciones, mucho mejor: Las aplicaciones tienen que estar actualizadas y al día, tanto en contenido como en la tecnología utilizada. Eso si, sin que las actualizaciones no desestabilicen la versión anterior. Es decir, es totalmente contraproducente que una actualización comprometa la inestabilidad de la aplicación. Debe estar totalmente prohibido que una actualización haga que la aplicación funcione peor que antes de actualizarlo.
  5. Mide tus indicadores: Fíjate si lo que estás haciendo hasta ahora es lo adecuado para la aplicación. Es decir, cumple las pautas, analiza el trabajo realizado por si necesita algún cambio, etc etc…
Si sigues estas claves, conseguirás una aplicación que se adecue a lo que necesitas o necesiten tus clientes de una forma exitosa.
Anuncios

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: ,

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: ,