Ajax

[Ajax] Microsoft Silverlight apuesta por APAX,ARAX en vez de AJAX

Bueno es lunes en la tarde, y con estos preparativos de la boda no me da tiempo de postear mucho, por cierto ya casi cumplimos un año aver que se me ocurre para festejarlo.

silverlight

Les platico que en theinquierer, Silverlight, soportara a futuro Python o Ruby para poder mejorar el rendimiento de Silverlight, ose a en vez de usar Javascript usaran Phyton y/o Ruby.

“La diferencia entre AJAX, ARAX y APAX es el lenguaje”, explica Brian Goldfarb, responsable del grupo de la división de desarrolladores de Microsoft.

Esto sera la novedad para el lanzamiento de Silverlight 2, ya que se espera que venga con soporte para ambos lenguajes , implementados para el lado del cliente en vez de usar Javascript

“Lo que hemos hecho en Silverlight es posibilitar que se utilice Ruby o Python como alternativa a JavaScript para construir el mismo tipo de aplicaciones. Todo lo que el navegador necesita es tener Silverlight instalado y los desarrolladores podrán aprovecharse de las ventajas de estos lenguajes en las aplicaciones clientes”, comentó Goldfarb.

No se que buscara microsoft con esto pero me suena bastante raro que hayan optado usando Python o Ruby, sera ¿que es menos eficiente implementar asp del lado del cliente?!!!!..

En fin a ver que nos depara el dia de mañana
Vía | Silverlight soportará Ruby y Python como alternativa a JavaScript

Leer más

[Ajax]Phototype, manipulando imagenes usando Javascript

Feliz inicio de semana, una semana algo complicada para mi por múltiples cosas que tengo que hacer(pagar TC, pagar Salon, Pagar art de la casa etc..), pero sin duda postear un buen numero de artículos hará mas amena la semana.

El otro día vi un enlace no recuerdo en que pagina/Blog (ajaxian??), el cual nos comentaba sobre un script que nos permite hacer maravillas con las imagenes usando para ello PHP y GD, si no mal recuerdo, para muestra vean la siguiente imagen la cual fue rotada y se le agrego el efecto polaroid con esta libreria.

phototype

Se trata de Phototype, el cual funciona usando php y la librería Javascript Prototype, lo cual funciona de la siguiente forma.

[Javascript]



[/javascript]

En el caso anterior lo que hicimos fue modificar el tamaño de la imagen, usando el método resize

Existen varios métodos como:

  • resize
  • flipV
  • rotate
  • dropShadow
  • makeSketchy
  • toGreyScale
  • addCaption
  • y hasta addChuckNorris

Mas información de este Framework, aquí | Phototype: image manipulation with javascript

Leer más

[Google-Ajax] Google Ajax Libraries API, La gran biblioteca de Librerias Ajax

Leyendo el blog de Andrés Nieto veo una nueva iniciativa de Google, se llama:

Google Ajax Libraries API

Que viene siendo una especie de lugar donde se almacenaran librerías Ajax, (como Jquery, Mootools, Prototype, Etc..), y las cuales estarán accesibles a todo el publico.

Las librerias/Frameworks disponibles en este momento son

Las ultimas 4 no son Librerias JS, sin embargo tambien forman parte de este abanico de posibilidades.

Su implementación/uso es simple y de la siguiente forma:


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

Esto es para cargar Jquery, para cargar alguna de las otras librerías JS, debemos cambiar la ruta del script(SRc) por alguna de las siguientes:


//jQuery

http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

// Prototype

http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js

//Script.aculo.us

http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/scriptaculous.js

//MooTools

http://ajax.googleapis.com/ajax/libs/mootools/1.11/mootools-yui-compressed.js

//Dojo

http://ajax.googleapis.com/ajax/libs/dojo/1.1.1/dojo/dojo.xd.js

También se pueden agregar dichas librerías usando funciones de la api de Google, para ello, necesitaremos cargar la api de google y llamar lo que deseemos como el siguiente ejemplo

<script src="http://www.google.com/jsapi"></script>

<script type="text/javascript"><!--
// Load jQuery
google.load("jquery", "1");

// on page load complete, fire off a jQuery json-p query
// against Google web search
google.setOnLoadCallback(function() {
$.getJSON("http://ajax.googleapis.com/ajax/services/search/web?q=google&;v=1.0&;callback=?",

// on search completion, process the results
function (data) {
if (data.responseDate.results &&
data.responseDate.results.length>0) {
renderResults(data.responseDate.results);
}
});
});
// --></script>

Como pudimos ver la carga se realizo usando la función google.load, la cual funciona de la siguiente forma:


google.load(name, version, opt);

Como podemos observar se utilizan 3 parámetros, los cuales son, el nombre de la librería, la versión de dicha librería, y el ultimo parámetro, que es opcional es para indicar algunas opciones para personalizar mejor la carga de dicha librería, por ejemplo si la deseamos comprimida o no, entre otras opciones mas.

Leer más

[Javascript] JavaScript HTML Parser: Mejorando nuestros HTML’S

Muchos quizas creyeron que ya no postearia, pero se equivacaron, he estado un poco atorado(como siempre), pero poco a poco mostrare mejores cosas.

Hoy leyendo el blog de Jhon Resig, me entero de que el, ha lanzado un proyecto llamado: Pure JavaScript HTML Parser.

Este proyecto , por lo poco que lo probe, se trata de un corrector de codigo html, aunque talvez, muchos digan, que son expertos en HTML, no olvidemos que al estar programando en algun otro lenguaje se nos puede pasar algo de HTML, como cerrar alguna tag.

Esta funcionalidad posee 4 metodos/opciones diferentes de uso.

  • Compone Tags no cerradas:
    HTMLtoXML("<p><b>Hello") == '<p><b>Hello</b></p>'
  • Elementos Vacios:
    HTMLtoXML("<img src=test.jpg>") == '<img src="test.jpg"/>'
  • Bloques vs. Elementos:
    HTMLtoXML("<b>Hello <p>John") == '<b>Hello </b><p>John</p>'
  • Cierre de Elementos padre:
    HTMLtoXML("<p>Hello<p>World") == '<p>Hello</p><p>World</p>'
  • Atributos deshabilitados.:
    HTMLtoXML("<input disabled>") == '<input disabled="disabled"/>'

Talvez a muchos no nos sea de gran ayuda pero quiza usando este codigo podamos mejorar nuestros codigos HTML, asi como tambien usarlo para algo mas.

Pueden ver el demo de su uso en el siguiente enlace.

Demo | JavaScript HTML Parser

Leer más

[Ajax] Usando peticiones Ajax con Mootools

Tendré que hacer una comparación para ver cual framework es la que trabaja mejor, y es que viendo bien a Mootools me he quedado encantado.

mootools

Tal vez siga usando Jquery por que realmente me gusta la forma en la que uno la puede usar digamos en pocas palabras es simple, pero la única pega que a veces tenemos es el peso, y recordemos que el peso tiene que ver con la experiencia del usuario, y a veces unos cuantos Kbs de Javascript, puede transformase en alejarse de nuestro sitio web/Blog.

Ahora bien veamos como usarla para poder hacer peticiones XMLHttpRequest osea Ajax.

Como primer paso necesitaremos Descargarnos Mootools de Aquí:

http://mootools.net/download

Ahí hay que elegir los componentes que deseamos bajar, ya que esta librería esta como segmentada.

Debemos elegir solamente Ajax, ya que una vez eligiendo este componente, Mootools carga sus dependencias de componentes automaticamente.

Una vez que hemos bajado el Framewokr vamos a proceder a usarlo “en caliente” o sea sin tanta explicación y saben por que, bueno pues por que su uso es muy fácil, en cuanto tenga un poco mas de tiempo explicare mejor como funciona el core de esta libreria

Primero incluiremos la Librería Mootools


<script type="text/javascript" src="mootools-release-1.11.js"></script>

Posteriormente necesitaremos nuestro código html


<h3>Ejemplo Ajax</h3>
<p><a id="peticion" href="#">Click Aqui</a> para procesar la peticion ajax</p>
<div id="resultado">
	<p>Esperando respuesta.......</p>
</div>

El funcionamiento de este ejemplo es el siguiente, al darle click a el elemento con el ID “peticion”, nos hará una petición ajax y el resultado de este proceso lo mostrara en la capa(div) identificada con el id “resultado”

Como ya tenemos el HTML que usaremos ahora nos falta el Javascript, que actuara en conjunto con Mootools


$('peticion').addEvent('click', function(e) {
	e = new Event(e).stop();

	var url = "pagina2.php";

	/**
	 * la url en cuestion
	 */

       /*
 	* nuevo objeto ajax
	*/
	new Ajax(url, {
		method: 'get',
		// metodo ajax get o post
		update: $('resultado')
		// donde se va  a insertar el resultado
	}).request();
});

Y listo

Creo que no hay mucho mas que explicar, de todos modos si tiene dudas ya saben por algo están los comentarios.

Prometo mas manuales/ayudas sobre el Framework Mootools, que seguro sera de gran ayuda en nuestros desarrollos.

Con información | Mootools Ajax

Leer más

[Ajax-Php] mooHP: Mootools y Php

Buscando un script que me facilitara poner unas tabs para el próximo theme de el blog, el cual por cierto al parecer usara Mootools para unas tabs, las cuales luego verán, Me tope con este Framework.

Se llama mooHP, el cual como su nombre lo indica es una mezcla entre Mootools y Php.

La ventaja reside en que su sintaxis es muy similar a la de Mootools , por lo cual si estas acostumbrado a usar esta librería la implementación sera fácil y las ventajas muchas mas, como gestionar la gran mayoría de código vía Php.

A continuación les pongo un ejemplo de código y posteriormente un link para que vean el demo.

< ?php
include("mooHP2/dom.class.php");
include("mooHP2/element.class.php");
include("mooHP2/css.class.php");
include("mooHP2/utility.class.php");

//New instance of the dom class
$t = new dom();

//Loads a template from file
$t->loadFile("base.html");

//Gets element by css selector  and sets it's HTML content.
$t->SE("body")->setHTML("");

//Selected ellement: body adopts  new element
$t->SE("body")->adopt( $t->element("div", array("id"=>"header") ,"Hello world!") );

//Body adopts  <br />
$t->SE("body")->newLine();

$picked = "";
if (isset( $_GET["cd"] )) {
 $picked = " you have selected #".$_GET["cd"];
}

//Body adopts new element div: with assigned properties as second argument and text as content;
$t->SE("body")->adopt( $t->element("div", array("style"=>"margin:10px; padding:10px; border:1px solid #444;"), "Counting down:".$picked) );

// $select  = new Element()
$select = $t->element("select", array("name"=>"cd"), "");

//Body adopts new element of type form
$t->SE("body")->adopt( $t->element("form", array("id"=>"newForm","method"=>"get") ) );
//Selects new element by ID and adopts previously defined element $select
$t->S("newForm")->adopt( $select );
// #newForm adopts new Element input
$t->S("newForm")->adopt( $t->element("input", array("type"=>"submit", "value"=>"CLICK!") ) );

for ($i=1; $i< =20; $i++) {
	//$newOption is new option element
	$newOption = $t->element("option", array("value"=>$i), "Count down: " . $i );
	//$select adopt as it's first child the $newOption element
	$select->adoptTop( $newOption );
	if ( isset($_GET["cd"]) && $_GET["cd"] == $i ) {
		//Setting an attribute to an element
		$newOption->setProperty("selected","selected");
	}
}

//Body accepts  new style rules
$t->SE("body")->setStyle("margin","10px");

//Body adopts <br />
$t->SE("body")->newLine();

//Appending text to the body
$t->SE("body")->appendText("and here comes the appended text");

//Body is adopting the inc.html contents
$t->SE("body")->adopt( $t->includeFile("inc.html") );

if (!isset( $_GET["cd"] )) {
	//Make simple alert with javascript
	$t->alert("Hello and welcome to mooHP");
}

//Setting the <title> tah innerHTML
$t->setPageTitle("..:: Hello and welcome to mooHP ::..");

//Creating new instance of the css class
$newCss = new css();
//Setting rule in css
$newCss->setStyle("color","#ff9900");
//Setting rules in css
$newCss->setStyles(array("font-weight"=>"bold","font-size"=>"24px" ));
//Writing the defined css to element
$newCss->writeToElement( $t->S("header") );

//Creating new instance of the css class
$newCss2 = new css();
//Setting rule in css
$newCss2->setStyle("border","10px solid #DDD");
//Setting rule in css
$newCss2->setStyle("padding","10px");
//Writing the defined css as #newForm selector in $t dom instance
$newCss2->writeToDom("#newForm", $t);

//Writing the page   if true is passed as argument the page will be compresed
$t->writePage(true);

?>

El resultado de esto seria lo siguiente.
http://www.devpartment.com/testdrive/mooHP/

Creo que Mootools, me esta ganando, y eso se debe a una gran ventaja que ofrece ante otras Frameworks, como JQuery o Prototype, y eso es su peso, que es extremadamente pequeño, bueno aun sigo defendiendo a Jquery, pero si no se compacta un poco mas quiza tenga que darle un vistazo a Mootools.

Por cierto fui la Flisol, no participe casi en nada y es por que no me dio tuve mucho tiempo, eso si me compre una nueva playera muy chida de Debian Linux, tome unas fotos y me queria traer la de Php, pero pues no habia mas Varo($), asi que sera para la próxima, en cunato baje las fotos les platicare como estuvo la cosa.

Via | mootools + PHP = mooHP
Descarga | Descargar MooHP
Mas información en | http://www.devpartment.com/posts/mootools-php-moohp/

Leer más

[Ajax] TimeFrame: Rango de fechas usando prototype

Recuerdan que este blog se llama Ajaxman,por la gran admiración que le tengo a lo que es Ajax, y pues ultimamanete no ha habido muchos posts sobre esto, bueno vamos a mejorarlo , o al menos ese sera mi proposito, es que realmente blgo con buenas noticias sobre ajax en español practicamente no hay, asi que tengo que interntar “traducir” algunas noticias de el mejor blog sobre Ajax, osea Ajaxian.com.

Bien, olvidandonos un poco de lo poco que hay sobre ajax en español, paso a comentarles que surgio un plugin para prototype, una libreria que es muy eficiente para extender y/o mejorar las funcionalidades de Javascript-Ajax, la cual la he usado he varias ocasiones.

Este plugin se llama TimeFrame, con este plugin podremos hacer una selección de fechas o de un rango de fechas, son el “mouse” y veremos como se desplaza el rango al elejir una u otra fecha, n lo personal pienso que haria falta mejorarlo un poco mas, sin embargo, es una muy buena alternativa, ya que hace poco en un proyecto use la libreria “Ajax – Javascript”, Mootools con un plugin calendar, con el cual despliega dos calendario(pendiente el manual de como hacer esto), para tomar un rango de fechas, talvez usar TimeFrame hubiera sido mas optimo, quien sabe, aqui les dejoi la imagen de como se ve este proyecto que realice.

muestra mootools javascript calendar

Para usar TimeFrame, basta con bajarse el framework prototype y posteriormente bajarse el plugin de aqui. y usarlo

<script src="http://www.ajaxman.net/projects/timeframe/scripts/prototype.js" type="text/javascript"></script>
<script src="http://www.ajaxman.net/projects/timeframe.js" type="text/javascript"></script>

Una vez solicitados los Archivos Javascript los usamos con Javascript

    //< ![CDATA[
      new Timeframe('calendars', {
        startfield: 'start',
        endfield: 'end',
        previousbutton: 'previous',
        todaybutton: 'today',
        nextbutton: 'next',
        resetbutton: 'reset' });
    //]]>

Y con lo cual obtendriamos algo como esto.

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter