Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

64
Conquer Architectural Challenges with End-to-End JavaScript Alternative options for the pragmatic developer sidestep unnecessary plumbing code and integration layers. Ricardo MELLO Alexandre MORGAUT

description

Conquer Architectural Challenges with End-to-End JavaScript ● Decrease complexity and reduce your time-to-market; ● Show a powerful a NoSQL business object datastore; ● Build hybrid or native mobile-apps with an API-centric backend. ● Play with third-party libraries in reusable drag-and-drop widgets; ● Use our AngularJS connector to develop the front end

Transcript of Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Page 1: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Conquer Architectural Challenges

with End-to-End JavaScript

Alternative options for the pragmatic developer sidestep unnecessary plumbing code and integration layers.

RicardoMELLO

AlexandreMORGAUT

Page 2: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Conquer Architectural Challenges

with End-to-End JavaScript

Alternative options for the pragmatic developer sidestep unnecessary plumbing code and integration layers.

Chrome apps

Page 3: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Ricardo MELLO Alexandre MORGAUT

@ricoduoba

Passionated about the creative use of data.

My dream is to be an alchemist and transform data into gold.

www.mellodia.comgithub.com/rmello4d

Wakanda Product Director Community manager

Your speakers today

@amorgaut

Passionated about Standards, Semantics, and Web Technologies.

My dream is to make technologies interoperable and accessible to anyone

about.com/amorgautgithub.com/AMorgaut

Page 4: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Summary

Conquer Architectural Challenges with End-to-End JavaScript● Decrease complexity and reduce your time-to-market;

● Show a powerful a NoSQL business object datastore;

● Build hybrid or native mobile-apps with an API-centric backend.

● Play with third-party libraries in reusable drag-and-drop widgets;

● Use our AngularJS connector to develop the front end

Page 5: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

4D is helping business and developers for 30 years

Unified language :

Database Server Client

Page 6: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

6000 clients around the globe

Page 7: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end HTML5

Database Client

Page 8: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Fragmentation nightmare ?

Page 9: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Fragmentation nightmare ?

Page 10: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Page 11: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Page 12: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end JavaScript

Server & Database Client

JSON-REST

Page 13: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end JavaScript

Server & Database Client

JSON-REST

Page 14: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end JavaScript

Server & Database Client

JSON-REST

Page 15: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end HTML5

Server & Database Client

JSON-REST

Page 16: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Standard Based platform

XMLHttpRequest, Timer, JSON

Web Storage, Web Workers, Web

Sockets

File, FileSystem, Blob, …

Console, JSON-RPC, REST

also some node.js API support

Modules, Package, Unit Test

Webkit & Crossfire remote debugging

Page 17: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

End-to-end HTML5

Server & Database Client

JSON-RESTWebSockets

*

* wakanda 9

Page 18: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Data Driven

Page 20: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

“It’s the data, stupid”

Page 21: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

“It’s the data, stupid”

Page 22: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Think Data

● Think data first● Graphical expression (freedom to code)● Central business knowledge● Modern syntax (relational friendly)● Data + Class = DataClass ● 2 Way binding with GUI elements

Page 23: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Open Data & Native DaaS

+

Page 24: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Open Data & Native DaaS

Page 25: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Open Data & Native DaaS

Documents Key-Value

ObjectsGraph

Page 26: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 27: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 28: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 29: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 30: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 31: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Product Development

Page 32: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Implementations

Page 33: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Page 34: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Page 35: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Page 36: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Page 37: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

Page 38: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Page 39: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Implementation Consistency

● Unified Language

● Unified APIs

● Think Model First

● Think Server First

● Get Native Model Proxy for the Client

Page 40: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Team Work

Git Source Control Test Servicefor Client & Server JS

Page 41: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Single Page Applications

"a web interface where the entire page does not need to be reloaded on each user action."

Ali Mesbah and Arie van Deursen

Page 42: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Single Page Applications

SPAs are a great fit for data intense web applications

Page 43: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Single Page Applications

● user experience

● data layer

● small footprint

● less bandwidth

● easy ride to the

complex architecture

● minimize first loading

time

● library management

Page 44: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Single Page Applications

● user experience ● data layer ● small footprint ● less bandwidth

Pros Cons

● complex architecture ● loading time● library management

Page 45: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Single Page Applications

SPAs are a great fit for data intense web applications

Page 46: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

"Atwood's Law"

Any application that can be written in JavaScript will eventually be written in JavaScript.

Jeff Atwood

Page 47: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 48: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 49: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 50: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 51: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 52: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 53: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 54: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

Page 55: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

JavaScript Harvesting

● Mustache

● Handlebar

● jsPDF

● cron.js

● npm modules (stripe, amqp, ..)

● ...

libs & Modules

even for the Server

Page 56: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

http://ng-wakanda-pack.us.wak-apps.com/

angular-wakanda

Page 57: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Thank you!

http://wakanda.org/

@wakandasoft

github.com/Wakanda-Packages

youtube: wakandasoft

Alexandre Morgaut

@amorgautwww.mellodia.comgithub.com/AMorgaut

Ricardo Mello

@ricoduobawww.mellodia.comgithub.com/rmello4d

Page 58: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…

Page 59: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…

Page 60: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…

Page 61: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…

Page 62: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…

Page 63: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Page 64: Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014

Extras…