41
Isomorphic Applications Javascript

geekcamp-id-2015

Embed Size (px)

Citation preview

Page 1: geekcamp-id-2015

Isomorphic Applications Javascript

Page 2: geekcamp-id-2015

ABOUT ME

Hengki Sihombing Building Karejo.com - Organizer JakartaJS

twitter @hengkiardo

github @aredo

[email protected]

Page 3: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Yes, fancy words

- but why should I care..?

Page 4: geekcamp-id-2015

SERVER-SIDE

Just ship it all from scratch every time

So easy!!

Page 5: geekcamp-id-2015

SERVER-SIDE

But poor user experience if you interact a lot

Page 6: geekcamp-id-2015
Page 7: geekcamp-id-2015

Traditional Web Framework

Page 8: geekcamp-id-2015

Gimme some dynamic web pages already!

NOT GOOD ENOUGH

Page 9: geekcamp-id-2015

• Pros: • Easy to reason about

• SEO out of the box

• Cons: • Every action is a refresh

• Poor user experience for dynamic apps

SERVER-SIDE

Page 10: geekcamp-id-2015

CLIENT-SIDE (SPA)

Look ma’ I can do all the things

without reloading now!

Page 11: geekcamp-id-2015

CLIENT-SIDE (SPA)

Page 12: geekcamp-id-2015

CLIENT-SIDE (SPA)

Don’t you dare press the back button

Page 13: geekcamp-id-2015

Modern Single Page Application

Page 14: geekcamp-id-2015

Modern Single Page Application

Page 15: geekcamp-id-2015

• Pros: • Actions without refresh the page

• Less redundancy, Better user experience

• Separate pure data from business logic

• Cons: • No content before the js loads / SEO

• Performance depend on users’ end devices

• Duplicate logic(URL routing, validation, ...etc.)

CLIENT-SIDE (SPA)

Page 16: geekcamp-id-2015

BUT I WANT IT ALL!

Page 17: geekcamp-id-2015

SERVER SIDE + SPA

Get all your stuff done!!

Page 18: geekcamp-id-2015

BUT

Page 19: geekcamp-id-2015

SERVER SIDE + SPA

Two separate codebase for the same application

Page 20: geekcamp-id-2015

Approaching..

Page 21: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 22: geekcamp-id-2015

• A concept of JS web framework that shares Javascript run on both client side and server side.

• Reuse all codes Flexible for developer • Bootstrap initial page via server rendering • Font-end rendering/Back-end rendering

ISOMORPHIC

Page 23: geekcamp-id-2015
Page 24: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 25: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 26: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 27: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 28: geekcamp-id-2015

ISOMORPHIC JAVASCRIPT

Page 29: geekcamp-id-2015

How we can do it..??

Page 30: geekcamp-id-2015

So many options..

Page 31: geekcamp-id-2015
Page 32: geekcamp-id-2015
Page 33: geekcamp-id-2015

A library for creating user interfaces

https://facebook.github.io/react/

Page 34: geekcamp-id-2015
Page 35: geekcamp-id-2015
Page 36: geekcamp-id-2015

+

Page 37: geekcamp-id-2015
Page 38: geekcamp-id-2015

Let’s Demo OneThe Simplest isomorphic

Javascript app?

Page 39: geekcamp-id-2015

Redux

Flux Framework

Page 40: geekcamp-id-2015

meetup.com/JakartaJS

How to keep up to date on Javascript Technologies??

Page 41: geekcamp-id-2015

Thank you