1

Aprende gratis las ventajas de io.js y su evolución frente a node.js

3280Puntos

hace 6 años

Ya hablamos acerca de io.js, el futuro de Javascript del lado del servidor pero ahora quiero resaltar algunos de los detalles técnicos más importantes, mencionados por Julian Duque aquí en Platzi, y como preámbulo al curso gratuito en el que puedes registrarte desde ya.

Primero hay que detallar la intención de estabilidad y retrocompatibilidad con Node.js, ¿a qué nos referimos con eso?

Con estable nos referimos a cambios pequeños que no afecten de fondo el funcionamiento correcto de io.js; y con respecto a retrocompatibilidad, nos referimos a que se desarrolla io.js de tal forma que no interfiera con otros desarrollos hechos en node.js. Esto permite que, por ejemplo, sea fácil migrar de node.js a io.js.

Una de las nuevas características que diferencia a io.js de node.js es la actualización del motor V8 de Chrome, el cual dota a io.js con las nuevas capacidades del nuevo estándar de Javascrip ECMA Script 6:

1. Nuevas variables const y let

cons hace referencia a un dato que no cambia por más que se intente modificar:

cons number = 10;
console.log(number);
> 10
number = 11;
console.log(number);
> 10

let es una forma de declarar variables para controlar mejor su propagación en un contexto específico.

En el método clásico var sucede lo siguiente:

var a = 1
// nuevo contexto
{
var b = 2
}
console.log(a,b);
> 1 2

Usando let, podemos ver un control mejor de las variables:

let a = 1
// nuevo contexto
{
let b = 2
}
console.log(a,b);
> b is not defined

2. Template string

Permite concatenar de forma más elegante. De la forma clásica es, como si fuera una suma de elementos, en este caso dos strings:

var name = "DiegoUG"
console.log("mi nombre es: " + name)

La forma de template strings es más elegante, se trata de una asignación de una variable:

const name = "DiegoUG"
console.log(`mi nombre es: ${name}`)

Nótese que para usar los template string toca colocar la salida del string con `.

3. Promesas

Esto es una alternativa al manejo de callbacks múltiples y es bueno para tener un código más organizado

let p = new Promise(function(resolve, reject){
    setTimeout(function(){
       resolve("esto es una promesa");
    }, 2000)
})

p.then( function(data){
    console.log(data);
 });

 // despues de dos segundos
 > esto es una promesa

4. Generadores

Un generador nos permite trabajar con una función que en cada llamada puede mantener sus valores actuales, los cuales puede cambiar y entre llamadas:

function* generateId(){
    let index 0;
     while(true){
        yield index++
    }
 }

let id = generateId().next().value
console.log(id);

//En la primera llamada:
> 1
// En la siguiente:
> 2
//y así sucesivamente.

Un generador se identifica por su asterisco despues de escribir function “function*”.

Aquí lo que sucede es que “yield” se encarga de retornar un valor y de frenar la ejecución, imaginen que el while no es infinito y medimos cuando index es menor a 5:

…..
    let index 0;
    while(index < 5){
        yield index++
    }
…..

Entonces cuando lo llamas la quinta vez lo que sucede es lo siguiente:

> generateId().next()
{ value: 4, done: false }
> generateId().next()
{ value: undefined, done: true }

Conclusión

Esto es apenas una pequeña muestra de lo que esperamos aprender en el curso gratuito que empieza mañana, aquí podrán aprender cómo aprovechar al máximo esta novedosa herramienta y así poder hacer aplicaciones geniales.

He estado hablando con Julián y es impresionante todo lo que podemos aprender de él, junto con ustedes estaré presente en primera fila, espero disfruten lo que él tiene para enseñarnos.

Diego
Diego
DiegoUG

3280Puntos

hace 6 años

Todas sus entradas
Escribe tu comentario
+ 2