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

Post on 10-May-2015

900 views 1 download

Tags:

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

Conquer Architectural Challenges

with End-to-End JavaScript

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

RicardoMELLO

AlexandreMORGAUT

Conquer Architectural Challenges

with End-to-End JavaScript

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

Chrome apps

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

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

4D is helping business and developers for 30 years

Unified language :

Database Server Client

6000 clients around the globe

End-to-end HTML5

Database Client

Fragmentation nightmare ?

Fragmentation nightmare ?

End-to-end JavaScript

Server & Database Client

JSON-REST

End-to-end JavaScript

Server & Database Client

JSON-REST

End-to-end JavaScript

Server & Database Client

JSON-REST

End-to-end HTML5

Server & Database Client

JSON-REST

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

End-to-end HTML5

Server & Database Client

JSON-RESTWebSockets

*

* wakanda 9

Data Driven

“It’s the data, stupid”

“It’s the data, stupid”

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

Open Data & Native DaaS

+

Open Data & Native DaaS

Open Data & Native DaaS

Documents Key-Value

ObjectsGraph

Product Development

Product Development

Product Development

Product Development

Product Development

Product Development

Implementation Consistency

Implementations

Implementation Consistency

Implementation Consistency

Implementation Consistency

Implementation Consistency

Implementation Consistency

Implementation Consistency

● Unified Language

● Unified APIs

● Think Model First

● Think Server First

● Get Native Model Proxy for the Client

Team Work

Git Source Control Test Servicefor Client & Server JS

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

Single Page Applications

SPAs are a great fit for data intense web applications

Single Page Applications

● user experience

● data layer

● small footprint

● less bandwidth

● easy ride to the

complex architecture

● minimize first loading

time

● library management

Single Page Applications

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

Pros Cons

● complex architecture ● loading time● library management

Single Page Applications

SPAs are a great fit for data intense web applications

JavaScript Harvesting

"Atwood's Law"

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

Jeff Atwood

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

JavaScript Harvesting

● Mustache

● Handlebar

● jsPDF

● cron.js

● npm modules (stripe, amqp, ..)

● ...

libs & Modules

even for the Server

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

angular-wakanda

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

Extras…

Extras…

Extras…

Extras…

Extras…

Extras…