Probar Webservices

Es usual que las aplicaciones de escritorio se vean desplazadas por desarrollos web, y dentro de estos que se organicen en webservices. Estos son muy útiles a la hora de desarrollar la arquitectura de una aplicación descentralizada, pero son difíciles de testear.

Esa dificultad puede verse mitigada si usamos la siguiente aplicación:

SoapUI

Nos permite enlazar directamente con los servicios web que le indiquemos, creando plantillas cómodas de usar que nos permiten probar directamente nuestras aplicaciones. Al guardar automáticamente las pruebas que realizamos nos ahorra mucho trabajo.

Crear URLs amigables

Un código muy compacto para crear enlaces amigables en PHP:

PHP: Crear URL amigables

La segunda parte, como modificar el .htaccess para que capture las url amigables:

HTAccess: URL amigables

Llamadas a métodos o funciones de nombre variable en .NET

Los programadores de PHP están acostumbrados a poder llamar a una función por vía de una variable. Esto es muy útil para ejecutar determinadas funciones dependiendo de las reacciones del usuarios. Una explicación de esto se encuentra en este enlace: funciones variables. Basta con asignar a una variable el nombre de la función y llamarla:

$mifuncion=”RaizCuadrada”;

$mifuncion(4);

Sin embargo, realizar lo mismo en .NET no es tan fácil ni intuitivo. Pero puede conseguirse. Para ello viene en nuestra ayuda la función GetMethod. El siguiente código nos permite hacerlo:

Type t;
MethodInfo mi;

try
{

//Cargamos el Type e Instanciamos la clase
t = pruebas.GetType();

//Cargamos el método y lo ejecutamos
mi = t.GetMethod(”Nombre de la función o método”); // Get the method
mi.Invoke(pruebas, null); // Call the method
}
catch (Exception ex)
{
throw ex;
}
finally
{
t = null;
mi = null;
}

Hay que tener cuidado con los valores nulos si no encuentra la función.

CSS, JavaScript, Ajax

Alain Alemany tiene una bitácora imprescindible para lo desarrolladores web. Una muestra de su buen hacer son estas tres entradas, recopilaciones de los aspectos fundamentales del dieño web:

50 técnicas avanzadas CSS para una codificación efectiva.

70 técnicas JavaScript profesionales + tutoriales avanzados.

85 soluciones AJAX para desarrollo profesional.

Entre las muchas perlas se pueden destacar como realizar menús con CSS, un interesante upload de imágenes o varios ejemplos de como autocompletar en Ajax. Unas recopilaciones imprescindibles.

Shadow y Overrides

Cuando se crean clases en VB .NET se pueden sobreescribir los métodos de la clase base. Esto es lógico y permitido en cualquier lenguaje orientado a objetos. Pero VB incorpora una característica curiosa, la posibilidad de ocultar (Shadow) el método de la clase base. Las diferencias son sutiles, pero están muy bien explicadas en el siguiente artículo:

Cuidado con lo que deseas…

Para resumirlo pronto: Shadow sólo debe utilizarse en casos muy contados, ya que la forma correcta es Overrides. La diferencia de comportamiento estriba cuando un objeto de la clase base contiene un objeto de la clase derivada. Si el método se ha definido con Overrides siempre se usa el método de la subclase. Si se ha ocultado con Shadows siempre se usa el de la clase base. Un artículo muy ilustrativo.

¿Son un negocio los blogs?

Leo en Libro de notas una entrada sobre la realidad del negocio de los blogs:

Blogs: el negocio que no fue

Muchos escritores de bitácoras en español hace tiempo que se han dado cuenta de que no se harán millonarios escribiendo. Algunos seguro que están ganando dinero, pero en general los ingresos están muy lejos de ser los necesarios para retirarse.

Eso no quiere decir que para las empresas no sea rentable crear una imagen corporativa vía blog, o que desaprovechen las oportunidades de anunciarse en los mismos. Más bien al contrario, se puede conseguir buen posicionamiento a buen precio. Pero los que crean blogs deberán tener una entalidad más realista.

Drupal vs. Joomla

Hoy en día los dos grandes gestores de contenido que se reparten la mayor parte del mercado son Drupal y Joomla. Los dos son fáciles de implementar y se consigue de una manera sencilla una página web configurable por el cliente y muy poderosa.

Pero ¿Cuál es la mejor? Dependerá del uso final que vaya a darle el cliente. Si sólo necesita una web corporativa en la que ir añadiendo noticias y contenido, probablemente lo mejor sea utilizar Joomla. Esta plataforma dispone de muchos y buenos diseños y es fácil de usar.

Pero si lo que queremos es algo más, incluyendo módulos que nos permitan gestionar usuarios, estadísticas, etcétera, lo mejor es Drupal. Drupal está pensado para los desarrolladores profesionales y pueden conseguirse aplicaciones muy completas prácticamente utilizando los módulos ya existentes. Y en caso contrario es relativamente fácil desarrollar módulos nuevos.

En Debug_mode=on reproducen un análisis de los dos sistemas:

Drupal vs. Joomla: una comparativa sincera de un consultor de IBM

Destacando las ventajas e inconvenientes de cada plataforma. Además han escrito otra entrada con buenos consejos para los usuarios de Drupal:
Los principales cinco errores al empezar con Drupal y su solución

En Intelisen hemos desarrollado proyectos en las dos plataformas y estamos de acuerdo con el análisis y los consejos. Para un portal que necesita un buen diseño y sólo gestión de contenido, lo indicado es Joomla. Para una aplicación que necesite programación a medida, se impone Drupal.

Desactivar autocompletar por HTML

Los navegadores ofrecen la opción de autocompletar las entradas que ponemos en los formularios, pero puede ser que en nuestra aplicación queramos que eso no ocurra. Lo que es útil para una web no lo suele ser cuando hablamos de aplicaciones web o de Intranet.

Afortunadamente hay una manera sencilla de evitar esto. Basta poner el atributo ‘autocomplete’ a off. Esto lo podemos hacer en un cuadro de texto:

<input type=”text” name=”campo” autocomplete=”off”>

O para todo un formulario:

<form action=”#” method=”post” autocomplete=”off”>

Vía: Desarrollo Web

El programador es un artista

Acabo de leer esta entrada de Iván Gadea:

Management del siglo XX

Donde compara con gran acierto la labor del programador con la del artista. Hay muchas profesionales que son intercambiables, que aunque lo hagan peor o mejor harán la misma labor. No es el caso de un buen programador que puede no tener sustituto.

La diferencia entre el éxito y el fracaso a la hora de abordar un proyecto puede consistir en disponer o no del elemento clave que es capaz de llevar a cabo las tareas fundamentales para su desarrollo.

Por eso en Intelisen siempre hemos apostado por tener un equipo pequeño pero de gran calidad. No podemos compararnos con Google en tamaño e importancia, pero sí podemos imitar su manera de gestionar los equipos.

50 Utilidades para JavaScript