Archivos para Programación

¿Como esconder el código Javascript?

Este post un poco más técnico, trata de dar algunas ideas a los desarrolladores y arquitectos para que puedan definir un plan de contingencia con el código Javascript que queda visible en el cliente.

El código de las aplicaciones Javascript, al igual que las imágenes, css, html, etc. está disponible para ser accedido y visualizado por cualquier usuario. Hoy en día, muchas empresas utilizan AJAX en sus desarrollos, creando complejos scripts que al final cualquier usuario puede consultar i hasta copiar.

Aunque este ha sido un problema de toda la vida y prácticamente imposible de solucionar, existen técnicas que dificultan al cliente hacerse libremente y entender el código fuente. Una de las mejores técnicas es ofuscar el código Javascript.

Hay determinados programas que permiten ofuscar el código Javascript. Estos ofuscadores dejan el código de un modo que es casi imposible de entender. La aplicación funciona exactamente igual, pero el código Javascript queda tan sucio y difícil de leer que el fichero .js ya no sirve al cliente.

Por ejemplo os nombro un programa para realizar esta labor. El ofuscador Jasob ofrece un ejemplo del resultado de ofuscar cierto código JavaScript.

Os comento también la aplicación online de packer gratuita y que es muy práctica.

Al sustituir todos los nombres de las variables y de las funciones por nombres de una sola letra, es prácticamente imposible comprender el código del programa.

A parte de realizar esta labor, muchos lo utilizamos para reducir el peso de las librerías Javascript. Si os fijáis elimina los comentarios, reduce el nombre de las variables, etc.

Dejar un comentario »

¿Que es Microsoft SILVERLIGHT?

Microsoft ya hace casi dos años que esta trabajando con esta tecnología. Esta proviene de Windows Presentation Foundation / Everywhere y en la parte web se denomina Silverlight.

microsoft_silverlight_c.jpg

Básicamente, es un subconjunto de XAML (eXtensible Application Markup Language) especialmente diseñado para construir aplicaciones multimedia sobre web.

Para definirlo de un modo más entendedor, me basaré en los siguientes puntos para explicar que es esta nueva plataforma de Microsoft.

- Es un plugin que se instala en algunos navegadors y algunos sistemas operativos. Navegadores Web (Internet Explorer 6 o superior, Netscape 6+, Firefox 1.5+) para Windows XP y Vista. Para Macintosh funciona con los navegadores Safari y Firefox. Actualmente hay un pacto con Linux, para que desarrollen el plugin para este también. El plugin se descarga y instala en un momento ocupa unos 1.4Mb.

- Es una versión reducida del Famework .NET. Esta enfocado a todo el entorno multimedia que el desarrollador puede imprimir a la web. Contempla video, audio, animación, interactividad, etc. Tipo Flash? Si, para que nos entendamos seria el Flash de Microsoft.

- Uno de los puntos fuertes de esta plataforma, es que soporta vídeo en Alta Definición (HD) y que utiliza streaming des del cliente, sin utilizar el servidor.

- Para utilizar Silverlight (en la versión actual 1.0), necesitamos conocer dos tecnologías: XAML, para la parte visual y Javascript para la parte operativa. De todos modos comentar que hay ya una versión 1.1, que dispone de más de 20 lenguajes de programación diferentes C#, VB.NET, PHP, JAVA, PYTHON, RUBY, C++, etc. Gracias a esta ampliación de lenguajes, podrán utilizar Silverlight mucha más gente.

- Las herramientas utilizadas para trabajar con Silverlight. Serian para un diseñador el Web Expression Blend 2, y para un programador Visual Studio 2005 (con la plantilla instalada) o el Visual Studio 2008 que ya viene de serie.

Para acabar este post, os adjunto la url oficial www.silverlight.net

Dejar un comentario »

Librerias AJAX

Para terminar estos posts seguidos relacionados con tecnología AJAX.
Os voy a adjuntar algunos enlaces, con librerías de AJAX fáciles de implementar y con look Web 2.0.

Prototype Window – Demo
http://prototype-window.xilinus.com/
Esta clase javascript te permite añadir ventanas en una página HTML.

Reflection.js
http://cow.neondragon.net/stuff/reflection/
Para añadir un reflejo sólo añadir un class=”reflect” a la imagen.

Bubble Tooltips
http://web-graphics.com/mtarchive/BubbleTooltips.html
Forma fácil de agregar información en un globo tipo viñeta a cualquier página web.

Cross-fading Slideshow
http://millstream.com.au/view/code/cross-fade-anything
Esta es una demo de un simple pase de diapositivas con efecto desvanecimiento.

TJPzoom – JS / CSS / DOM image magnifier
http://valid.tjp.hu/tjpzoom/
Nos permite hacer un zoom de qualquier imágen de la página.

Dejar un comentario »

¿Como funciona AJAX?

De todos modos antes de entrar en términos de codificación, explicaré esquemáticamente como funciona AJAX, como lo hace porque sólo con una única carga ni haya lo suficiente por actualizar contenido ?

Todo se basa con el sistema de comunicación empleado hasta ahora por comunicar la aplicación con el usuario. Hasta ahora, las aplicaciones web utilizaban un sistema de comunicación síncrona. Se a decir, se ejecutaba al mismo tiempo y seguían el siguiente orden:

1. El cliente genera una petición al servidor.
2. El servidor ejecuta la petición y envía la página de respuesta al cliente.
3. El cliente empieza a recibir y leer la página resultante.
4. Un golpe ya ha leído la página mostrada, el usuario decide cambiar de página, ejecutando una otro acción que vuelve a iniciar el punto nº 1.

Con AJAX este escenario cambia radicalmente. El que era una comunicación síncrona acontece comunicación asíncrona. De este modo ante cualquier evento del usuario podemos ejecutar en consecuencia.

El proceso anteriormente denominado quedaría de la siguiente manera con AJAX:

1. El cliente genera una petición al servidor.
2. El servidor ejecuta la petición y envía la página de respuesta al cliente.
3. El cliente empieza a recibir y leer la página resultante.
4. La diferencia uve ahora. Un golpe ya ha leído nuestra página y el usuario decide ejecutar algo diferente, nosotros podemos mostrarle esta nueva petición sin necesidad de recargar de nuevo toda la página, sino simplemente enseñando la información que nos pide.

Una vez visto el esquema adjunto al post, queda claro que AJAX genera pequeñas peticiones HTTP contra el servidor y así muestra la nueva información al usuario. Sólo muestra o ejecuta el que el usuario pide y no todo como fines ahora. En el caso d’AJAX generamos un nuevo espacio denominado motor AJAX, el cual nos servicios por parar la petición, denegarla y sobre todo por mostrar el cargando …. Permitiendo de esta manera enseñar un mensaje al usuario totalmente personalizado, informando que la acción se está ejecutando.

ajax-fig2_small_es.png

Dejar un comentario »

¿Que es AJAX ?

Podríamos definirlo como una técnica de programación Web, que utiliza otras tecnologías o lenguajes existentes. Por lo tanto, debe quedar claro, que el que denominaremos a partir de ahora como AJAX, no es un nuevo lenguaje de programación.

AJAX es el resultado de agrupar varias tecnologías y lenguajes de programación tales cómo:

- Por la presentación utiliza XHTML (o HTML) y CSS- Por la interacción y manipulación dinámica de la presentación; DOM (Documento Object Modelo)

- Por intercambiar y manipular la información se utiliza XML

- Por intercambiar información de forma asíncrona se utiliza XMLHttpRequest.

- Finalmente Javascript es el encargado de juntar todas las tecnologías.

El nombre de AJAX viene dado por el acrónimo Asynchronous Javascript And XML.
Ciertamente este ha sido un acrónimo muy utilizado últimamente por muchos programadores web. Esta técnica ha dado un giro muy importante en la manera de crear aplicaciones y proyectas web.

De una forma bastante sencilla, AJAX nos permito mejorar la calidad, la interactividad y la velocidad del proyecte web.

Podemos destacar el siguiente:

- No requiere ningún tipo de plugin: Así como en el inicio de Flash, los programadores web debían realizar dos páginas una por flash y la otra por no flash, en AJAX no pasa esto. No requiere de cabeza otra programa o plugin por ser ejecutado.

- Esta basado en estándares abiertos: Todas las tecnologías que agrupa AJAX son estándares, exceptuando XMLHttpRequest. De todos modos se soportado por todos los navegadores más utilizados de internet.

- Mejora en los tiempos de espera: Desaparece la carga de la página por mostrar información. Con AJAX únicamente refrescamos la parte demandada sin cargarlo todo.

- Fácil iniciación: Se muy fácil empezar a utilizar AJAX, debido a que este utiliza tecnología conocida de sobra por cualquier programadora web.

- Utilizado por los gurus de la tecnología web: Prácticamente todas las compañías de renombre tales como Google, Microsoft, Yahoo, Amazon, etc. Utilizan este tipo de tecnología en sus portales corporativos o aplicaciones web.

- Web 2.0: Cada vez más crece el movimiento Web 2.0, y este lo hace de la mano de AJAX. Prácticamente todas las aplicaciones de la nueva moda traen algo referenciado de AJAX.

- Se independiente del tipo de tecnología del servidor que se utilice: Cómo hemos comentado, AJAX es compatible en cualquier navegador y también es compatible en cualquier tecnología servidor como por ejemplo: PHP, ASP, ASP.NET, PERL, JSP, COLDFUSION, etc.

Dejar un comentario »