Desarrollo de
aplicaciones bajo entorno web
Conceptos básicos
Desde el advenimiento de la Internet a nivel masivo,
acontecido hacia comienzos de los noventa, el enfoque de los nuevos desarrollos
se ha ido volcando paulatinamente hacia este tipo de entorno, donde cada día se
van multiplicando las posibilidades de negocios en un mundo que requiere de
soluciones rápidas y ágiles que puedan llegar de forma precisa a cada cliente,
en especial, teniendo en cuenta su perfil, cosa que hasta hace poco tiempo nos
sorprendía.
Y a veces nos sigue sorprendiendo, el hecho de estar realizando
determinada búsqueda en algún motor y ver que éste ya tiene cierto conocimiento respecto a lo que estamos
buscando. Eso es parte de esa evolución.
Existe mucho dinero dando vueltas alrededor de la web. Todos
tenemos la posibilidad de poder capturarlo en nuestro beneficio. Pero cada día,
se va haciendo más complejo, debido a que todos intentan evolucionar dentro de
este universo desenfrenado.
Con el correr de los años, la web se fue adaptando
obligatoriamente a los distintos dispositivos que estaban vigentes en cada
momento. Primero fueron los monitores monocromo, luego apareció el color, luego
las pulgadas, y todos hemos visto que la propia web fue adaptándose
principalmente a esos dispositivos para poder contar con la mejor visualización
por parte del visitante, o sea el posible
cliente y que éste pueda recibir de manera precisa el mensaje.
En los últimos años aparecieron los dispositivos móviles, y
fue un otra vez a arrancar. La web se
fue volcando paulatinamente hacia estos componentes hasta llegar al día de hoy,
donde ya se le está dando mayor prioridad a una buena visualización en un
dispositivo que en una computadora común.
Este tipo de adaptación de los formatos de visualización
vamos a encontrarlo por allí bajo el término responsivo. En consecuencia, una web es responsiva cuando tiene la capacidad de adaptarse al
dispositivo con que se la está explorando.
De esta manera, vamos a poder encontrar en muchas solicitudes
de desarrollo web, el término responsivo
para calificar al producto final. Pero debemos tener en cuenta que esto no debe
ser un requerimiento del cliente sino que ya hoy en día debiera serlo del
desarrollador.
Como en su momento fue la programación orientada a los
requerimientos del buscador. Este concepto hoy sigue estando vigente. Lo que
han evolucionado en este caso son los algoritmos de indexación de los
buscadores que por estos tiempos, ya buscan
cosas donde hace algunos años ni siquiera nos imaginábamos que podían buscar.
Pero en líneas generales, las distintas características que
debemos darle a nuestro código, siguen siendo las mismas, en ese sentido los
buscadores no han variado en mucho su funcionalidad.
Contamos entonces con dos elementos importantísimos al
momento de proyectar nuestro desarrollo: el sitio responsivo y el sitio adaptado
al criterio de los buscadores.
No nos olvidemos que los buscadores son la puerta de entrada
para nuestros futuros posibles clientes. Nunca olvidemos eso y seamos amables con sus indexadores. Ellos se alimentan de los contenidos de nuestros sitios,
démosle entonces de comer de la forma más saludable.
Pero ¿Cómo saber la mejor forma de alimentarlos? En líneas
generales, por estos tiempos no ha cambiado la idea central acerca de como
brindar información a un robot spider
de un buscador. Hacemos un pequeño alto aquí, para refrescar el concepto del spider.
Desde los comienzos de la interacción con la Internet, el
simple hecho de desarrollar un sitio web no quedaba concluido si no
continuábamos con la ardua tarea de registrarlo en los distintos buscadores.
Allá por mediados de los noventa, Yahoo y Altavista dominaban la escena de
estas vidrieras que desde un comienzo fueron fundamentales para la difusión que
cualquier proyecto web. Sin ellas, todo lo referente a la publicidad de nuestro
sitio estaba enfocado exclusivamente a nuestra propia publicidad, una tarea hoy
en día casi inconcebible.
En el año 98 aparece Google y cambia por completo la escena.
Los viejos buscadores fueron sucumbiendo, por así decirlo ante este monstruo
creado por Larry Page y Sergei Brin en el garaje de la casa de uno de ellos
(vaya comienzo). Con el correr de los años, se fue apoderando de todo lo que
significaba el tráfico dentro de la red. Hoy por hoy no hace falta decir los
alcances de Google, cada uno ya lo conoce, pero si mencionar algunos conceptos
que Google utiliza para capturar nuestra información de nuestros negocios y
hacerla pública.
El primer concepto que siempre recomiendo tener en cuenta en
este sentido es precisamente considerar que Google no es el único buscador, a
pesar que más del 70% de la gente lo utiliza. Que existen otros buscadores que
también necesitan alimentarse con nuestra información.
La manera o algoritmo llamémoslo que cada buscador tiene para
indexar nuestro sitios, difieren, entonces, si preparamos nuestros contenidos
para que Google los tenga en cuenta, también pensemos un poco en otros, como
Yahoo o Bing, que merecen sin dudas parte de nuestra atención.
Algunas veces, en los últimos años, me ha sucedido, como a
muchos de ustedes, algún hecho en particular donde me fue difícil encontrar en
Google determinada información. Pero no se bien porqué, siempre arracaba (y lo
hago actualmente) buscando en Google. Ya que cuando no encontraba lo que
buscaba, lo intentaba por ejemplo en Yahoo y ahí casi siempre (salvo pocas
excepciones) encontraba lo que quería.
Estas diferencias radican en que ambos utilizan distintos
criterios para indexar nuestras páginas. Google brinda resultados más
generalizados; Yahoo por su parte más particulares, más certeros en definitiva,
aunque en estos últimos tiempos, muy para mi desgracia, he empezado a ver que
Yahoo va tomando criterios muy parecidos a Google, y ha perdido parte de esa
precisión. Esto se debe a que ha modificado su spider utilizando criterios más
generalizados.
Un robot spider en definitiva, explora una determinada web, y
se alimenta de su contenido. Lee las etiquetas html que le dejamos
exclusivamente para él y va indexando nuestra página con lo que nosotros mismos
le decimos acerca de ella. Con lo cual, sin entrar en tecnicismos la mejor
manera de alimentar correctamente a una web es dándole muchos contenidos.
Como dijimos anteriormente, en los comienzos debíamos
registrar nuestro sitio en los buscadores, eso también existe hoy en día, y
luego, esperar un par de meses para que el buscador lo incluya en el
directorio.
Pero la mejor forma de incluír un sitio en el buscador,
cualquiera de ellos, es simplemente colocar un enlace a nuestro nuevo sitio en
otro sitio donde diariamente pase el robot spider a buscar contenidos.
Cuanto más visitado sea nuestro sitio, con mayor frecuencia
pasará el robot spider. Este procedimiento de incorporar un nuevo sitio al
buscador (ya hablamos en general, no solo Google) demanda no más de 48 horas
para que aparezca incluído en las listas.
De allí en mas, dependerá de nuestra astucia y trabajo
constante sobre el sitio, incorporando contenidos y ganando en visitas, para
que el buscador le vaya dando cada vez mas importancia y ubicando en los
primeros resultados de las búsquedas, que se logra solamente ganando en
importancia y creando contenidos con menor competencia con sitios de idéntica
temática.
Esto es un arduo, muy arduo trabajo en definitiva, que
requiere de nuestra constante atención y que involucra términos como usabilidad
y optimización de un sitio.
Construír un sitio optimizado y con características de
usuabilidad, requiere incluír estos conceptos mencionados para que se
fácilmente accesible al buscador, cualquiera de ellos, sea Googlebot, Yahoo
Slurp, Google Adsense, Yandex, Facebook Bot y tantos otros.
Pero como todo, las herramientas y metodologías en la web,
van evolucionando rápidamente y nuevas cosas van surgiendo. Hoy en día, no solo
basta con tener un sitio optimizado y usable. Hay demasiada competencia.
Tenemos que obligatoriamente incorporar el tema económico y los programas
publicitarios, si no queremos quedar relegados. En definitiva, para estar
arriba, en mayor o menor medida, vamos a tener que pagar.
Los programas de patrocinadores, muy difundidos desde hace ya
tiempo, van compitiendo entre ellos mismos para captar al mayor número de
clientes, sean éstos desarrolladores o usuarios final, y poder incorporarlos
dentro de sus proyectos publicitarios.
Uno de los más difundidos desde hace ya varios años, son
Google Adwords y Google Adsense, con un programa más reciente y poderosísimo
como el de la red social Facebook que ha logrado captar fuertemente un
importante número de clientes que se han volcado del primero al éste último en
los últimos años.
Tanto Google como Facebook y otras tantas redes sociales y
programas de buscadores utilizan el concepto más fuerte que poseen para
desarrollar sus negocios en este sentido. Y ese concepto precisamente se lo
dimos nosotros mismos. El simple hecho de utilizar sus servicios, de escribir
su url en el explorador, de accederlos, o sea en definitiva, de la
concurrencia, en definitiva, su audiencia.
Como en cualquier otro medio de difusión, la concurrencia, el
público, es el que le da el poder al buscador o a la red social.
Hoy por hoy, y esto es una opinión personal mía, yo incluiría
a Facebook por ejemplo, como un nuevo sistema operativo. Parece algo gracioso,
si se quiere, pero existen un gran público que ingresa a una computadora
exclusivamente para hacer uso de la red social. No le importa absolutamente
nada más que eso, no le importa si tiene un Windows 9 o 10, nada mas que contar
con un poderoso dispositivo y poder acceder a la red social.
Pero ese es el público que más interesa a esta red social,
hacia él están destinados los programas publicitarios, es en definitiva, el
gran comprador. Constituye el “nuevo contenido” con el cual se alimenta el
robot que se llama Facebook, Twitter o como quieran llamarlo.
Los tiempos van cambiando, el concepto es siempre el mismo,
solo cambia de forma. Y nosotros tenemos que ir adaptándonos a ello. Leyendo,
aprendiendo y mucho más viviendo nuestra propia experiencia.
Hoy por por hoy, en mi caso particular, he probado ambas
metodología publicitarias, la de Google Adwords y su contrapartida Adsense (en
el primero uno paga para publicitar, en el segundo uno cobra parte de esas
regalías ofreciendo la plataforma para los anuncios) y la de Facebook por
ejemplo, y me quedo con un combo entre ambas que se traduce de esta manera. Para
publicitar utilizo Facebook, la concurrencia que posee es enorme y el resultado
inmediato; desde Facebook redirecciono a mi sitio web externo donde tengo
incorporado el programa ADSENSE de Google, con lo cual puedo recuperar algo de
la inversión realizada en Facebook. Antes de esta red social, la combinación se
hacía entre ADWORDS y ADSENSE, pero no confío en eso de darle solamente a un
mismo proveedor todo el negocio, prefiero combinar dos opciones.
A mi entender, en estos tiempos, Facebook es una herramienta
poderosísima para desarrollar negocios y como plataforma de entrada hacia
nuestros propios negocios en la web. Si tengo que invertir voy a hacerlo en la
red social como primera opción.
La técnica enfocada al
negocio
Luego de haber visto los conceptos básicos que debemos
considerar en todo lo referente al desarrollo web en tiempos actuales, vamos a
ver un poco de temas técnicos tendientes a soportar la gran mayoría de los
conceptos que vimos hasta aquí.
La evolución en este sentido no solo ha llegado a las
metodologías, también ha hecho escala en las herramientas y la tecnología de
las aplicaciones que sirven como estructura del negocio.
Existen varias herramientas de desarrollo de aplicaciones y
en los últimos tiempos han ido surgiendo nuevas metodologías que amplían aún
mas el alcance del desarrollo, ya que llegan a usuarios con un menor
conocimiento de la programación de sitios web. En este sentido, hay que tener
mucho cuidado si vamos a comenzar desde cero con cualquier tipo de desarrollo.
Podemos encontrar herramientas que trabajan bajo la modalidad
“en la nube”, que nos ayudarán con ciertos desarrollos estáticos, para la
obtención de sitios informativos, personales, en fin sin un contenido dinámico
que es en definitiva la modalidad que debemos perseguir para conseguir un sitio
verdaderamente profesional. En consecuencia, no nos va a interesar este tipo de
herramientas.
Vamos a enfocarnos en dos tipos de modalidades que nos
proporcionan contenidos dinámicos y que nos proveerán de los elementos para finalmente
lograr un resultado altamente profesional.
Por un lado tenemos la modalidad clásica y personal de un
html como estructura básica y adicionales para manejo de datos y funcionalidad,
soportados por PHP, javascript y ASP, según la plataforma en que nos estemos
moviendo y el conocimiento que tengamos sobre éstos. Para cualquier caso, vamos
a adoptar el MySql como herramienta de base de datos fundamental, sin
profundizar en otro tipo de bases.
Hoy por hoy, la competencia entre PHP y ASP se inclina fuertemente
hacia el primero en el sentido de contar con mayor representación en el área de
desarrollo. En mi caso, como programador con más de diez años de experiencia en
ASP, puedo afirmar que todo lo que nos propongamos hacer con uno, también
podremos hacerlo con el otro, salvo algunas limitantes que pueda tener el ASP
que en muchos casos podemos suplir con la ayuda de nuestros amigos de
JAVASCRIPT.
Logicamente, son dos lenguajes con marcadas diferencias.
Cuando comencé a desarrollar, conocía mucho mas de Visual Basic que de C, eso
me llevó a inclinarme a ASP y encontrarme verdaderamente muy cómodo con él. Hoy
en día, puedo hallar cualquier solución que me proponga dentro de los dominios
del ASP, de allí que siempre voy a recomendarlo.
Pero bueno, no todos nos movemos en las mismas aguas. Si
tengo que recomendar entonces a alguien que desee comenzar a incursionar en el
ambiente del desarrollo web, voy a recomendar que primero tenga en cuenta el
mercado, que es lo que se pide al momento de desarrollar y luego sus
conocimientos, para ver donde posicionarse y que puede resultar mas fácil al
momento del aprendizaje. En este sentido, los desarrollos .NET van a estar a la
vanguardia de esa decisión. No nos vamos a ocupar de eso aquí. Vamos a realizar
un análisis simple, con herramientas simples, clásicas. El html, con ASP
clásico bajo una base de datos MySql, para finalmente ingresar al mundo de las
nuevas herramientas que poseemos a nivel de usuario final.
En cualquiera de los casos, la necesidad de estar al tope de la
concurrencia, es el factor fundamental para cualquier web establecida en la
Intranet. Hoy en día se programa con la idea que el visitante, además de
nutrirse con los contenidos de nuestra web, nos genere ingresos. Estos vendrán
seguramente de un programa Google ADSENSE donde tendremos un importante número
de posibilidades para generar nuestros anuncios y luego colocarlos en las
páginas. En este último punto nos encontramos ahora. Será necesario utilizar
algún editor de HTML para poder diseñar cada una de las páginas de nuestra web
y establecer la ubicación de los anuncios teniendo en cuenta algunas pocas
consideraciones muy importantes: la disposición ideal de los anuncios va de
arriba hacia abajo y de izquierda a derecha, en ese sentido la posibilidad de
click en los mismos va decreciendo. Y otra consideración es la de mimetizar los
colores de los anuncios de texto al igual que el tipo y estilo de la fuente,
con lo de los contenidos, para que no resulte chocante, para que el visitante
pueda llegar a pensar que el anuncio es parte del contenido y de esta forma
haga click sobre el mismo (vil engaño).
Los administradores de
contenidos
Vamos a tocar un último punto en este tema del desarrollo y
son precisamente los administradores de contenidos que no son ni más ni menos
que aplicaciones web que sirven para crear sitios web con poco (hasta nada
diría en algunos casos) conocimiento de programación web.
En su gran mayoría son de código abierto, o sea, software
libre al cual podemos modificar su propio código en beneficio de nuestros
propios caprichos.
Lógicamente tienen sus limitaciones en lo que se refiere al
tema del conocimiento de programación. ¿Qué significa esto?, pues bien,
significa que cuanto más conozcamos de programación, mas potencialidad podremos
conseguir de parte del administrador de contenidos.
Dicho de otra forma, el usuario sin conocimiento de
programación podrá crear sitios con limitaciones; el usuario con conocimiento
de programación, podrá crear sitios más robustos y potentes.
El advenimiento de los administradores de contenidos ha dado
importantes soluciones a usuarios de nivel medio, como ser aquellos que con
algún conocimiento de programación, encuentran en el administrador una
herramienta complementaria que le brinda un importante ahorro en tiempo de
desarrollo y le provee soluciones robustas para sus proyectos.
La gama más importante de administradores de contenidos están
soportadas por el conjunto PHP-JAVASCRIPT-MYSQL, en su gran mayoría, ya que
pueden ser emplazados indistintamente en plataformas Windows y Linux, de forma
rápida y consistente. En este conjunto, tenemos a la vanguardia a Wordpress,
Joomla! y Drupal, siendo éste último a mi entender, el que provee mucha mayor
potencialidad al momento de la concepción de sitios profesionales.
¿Pero es esto conveniente? Depende de la importancia del
negocio. El hecho de estar encasillado dentro de un software de terceros crea
cierto recelo lógicamente.
Pero si conocemos en profundidad su lógica y logramos
dominarlo, podríamos estar ante una poderosa herramienta.
Los administradores de contenidos fueron creados en su
momento en favor del conjunto PHP-JAVASCRIPT-MYSQL, hecho que como
desarrollador del conjunto ASP-JAVASCRIPT-MYSQL me produjo cierto fastidio ya
que no encontré prácticamente equivalencia dentro de mi universo de desarrollo.
Fue así que un buen día, como no existía un administrador de
contenidos para el conjunto ASP-JAVASCRIPT-MYSQL me decidí a crearlo. De esta
manera nació hace muy poco tiempo CMS Viewpage. Antes de desarrollarlo, estuve
analizando un poco la competencia en PHP y me sumergí un poquito en el mundo
del Joomla! y Drupal. De inmediato, luego de haber visto algunos temas del
primero y comenzar con el segundo, saltó a la vista de inmediato la mayor
robustez de éste último, fue entonces que abandoné Joomla! y me puse de lleno
con el Drupal 7. Me sorprendió y me dejó una visión muy favorable. Y fue así
que viendo las características principales de éste, surgió el desarrollo de
Viewpage, tomando los conceptos generales de Drupal y enfocándome hacia
elementos que no tienen equivalencia en otros administradores de contenidos.
En definitiva, los administradores de constituyen potentes
herramientas de desarrollo web orientadas al usuario final, que se potencian
con un mayor conocimiento de lenguajes de programación. Es precisamente allí
donde puede explotarse a pleno el verdadero potencial.