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
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
(Muchos) nuevos conceptos
Especialización de lenguajes
Iteraciones de desarrollo lentas
Implementaciones de versiones (muy) lentas
Tareas que debiesen ser sencillas, realmente no lo son
Baja tolerancia al cambio
Testing & Debugging
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?
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
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>
ESTADOS- Y -
COMPONENTES
COMPONENTES DISPONIBLESNo redescrubramos la rueda!
¿ Y SI NO HAN CREADO EL MÓDULO XYZ ?
COMMUNITY MODULESReact Parts - Native
NATIVE MODULESReact Native - Native Modules
"SHOW ME THE MONEY"reactnative.com/built-with-react-native
Bet on
/ @fforres @xabadu