El Javascripto y los Emuladores de la Muerte

77
EL JAVASCRIPTO Y LOS EMULADORES DE LA MUERTE / @xabadu @fforres

Transcript of El Javascripto y los Emuladores de la Muerte

EL JAVASCRIPTOY LOS EMULADORES DE LA MUERTE

/ @xabadu @fforres

AUTOBOMBOSDE @ GrouponJS Chile & Chile Dev <3IC Champion

Fernando Larrañaga - @xabadu

AUTOBOMBOSDE @ GrouponNoders & JS ChileLevel 3 Salsa Ninja

Felipe Torres - @fforres

EL JAVASCRIPTO Y EL PRINCIPE NATIVOa.k.a.

Como estuvimos a punto de dejarlo todo e irnos a vendercuchuflís a la playa

Todo parte con una historia en una pequeña startup

¿Android? Claro, tenemos años de experienciaal respecto.

Existencia de la tecnología + 5 años =Experiencia de la Startup

¿Cómo empezamos?

LA (NO TAN) AYUDASDKDependenciasEjemplos (?)DocumentaciónMembresías

El primer hola mundo import android.app.Activity;import android.os.Bundle;import android.widget.TextView;

public class HelloWorldActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

TextView text = new TextView(this); text.setText("Hola mundo"); setContentView(text); }}

Hola mundo emulador

PROBLEMAS

(Muchos) nuevos conceptos

Especialización de lenguajes

Fragmentación

Iteraciones de desarrollo lentas

Implementaciones de versiones (muy) lentas

Tareas que debiesen ser sencillas, realmente no lo son

Baja tolerancia al cambio

Testing & Debugging

¿Resultado?

EL JAVASCRIPTO Y LA CÁMARA DE LOSFRAMEWORKS

a.k.a.

Esto necesita más jQuery

MIENTRAS TANTO EN LA WEBLas cosas estaban cambiando...

Habían nuevas tecnologías

y la experiencia de desarrollo era mucho mejor.

NodeJSSocketsFrameworks JS: Ember, Angular, BackboneCSS Preprocessors

Conclusión: Web rawks!

¿Y si llevamos algo de esto a móvil?

HOLA FRAMEWORKS

Algunos problemas los resolvieron muy bien

FragmentaciónLenguajesNuevos conceptosComplejidad de tareasSimplificación del diseño *Testing & Debugging *

Y otros... no tanto

Iteraciones de desarrollo seguían siendo lentasBaja tolerancia al cambio

Pero además, generaron algunos problemas nuevos:

PerformanceAcceso a core featuresSimplificación del diseño

EL JAVASCRIPTO Y EL (NO TAN) PRISIONERO DELA WEB

a.k.a.

JavaScript... es como Java, ¿no?

El mercado de fameworks está lleno!

jQuery - Batman.JS - MooTools - YUI - jQuery UI - KnockoutJS - Wakanda - Dojo - Ember.JS - AngularJS - BackBone.js -

KendoUI - Unified.js

Una pequeña startup con una pequeña idea

Hacer una cosa y hacerla bien

ReactJSla V del MVC, MVVM, MV*

Todo estaba por cambiar en base a 2 conceptos:

Componentes reutilizablesEstado de las aplicaciones

COMPONENTES

USER CARD<div> <div class="img"> <img src="./usuario"> </div> <div> <div class="nombre"> John </div> <div class="apellido"> Cena </div> </div></div>

COMPONENTE USERCARD<usercard></usercard>

< GRIDDLE />< Griddle results={fakeData} />

ESTADOS DE APLICACIONES

Maquina de Estados

SEMAFOROverde

amarillo

rojo

<semaforo> <luzverde></luzverde> <luzamarilla></luzamarilla> <luzroja></luzroja></semaforo>

<semaforo> <luz tipo="{color}"></luz></semaforo>

REACT NATIVO

ESTADOS- Y -

COMPONENTES

React Nativo

+

Fast

Android

IOS

React

COMPONENTES DISPONIBLESNo redescrubramos la rueda!

¿ Y SI NO HAN CREADO EL MÓDULO XYZ ?

COMMUNITY MODULESReact Parts - Native

"SHOW ME THE MONEY"reactnative.com/built-with-react-native

Facebook Groups

Facebook ADS

Discovery VR

Lets Go Live!

Chile

Cool

NODEBOTS

GAMING