Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
EMBARACE JAVASCRIPT
TURN MR. ZALAVADIYA
AGENDA?
MR. BHAVANI MR. KAWA MR. VIRANI
WHAT? WHY? NEXT?HOW?
TURN MR. BHAVANI
JAVASCRIPT EVOLUTION
TURN MR. KAVA
ISOMORPHIC WEB DEVELOPMENT
NODE JS WHAT?
Ryan Dahl
Nov 9th, 2009
Jan, 2010
NODE JS WHY?
NODE JS HOW? ARCHITECTURE
NODE JS HOW? SOCKET IO
NODE JS HOW? SCALING
MONGODB WHAT?
2007 Open Source: Oct 20, 2017
MONGODB WHY?
Ad Hoc Queries Indexing Replication Load Balancing
GridFS Aggregation
MONGODB WHY? FEATURES
Map Reduce Transaction
Sharding
REACTJS WHAT?
Jordan Walke
2011
2012
2013
Mar, 2015
Apr 2019
REACT JS WHY? COMPOSITION
Inheritance
(is a)
Composition
(has a)
REACT JS WHY? STATEFUL
REACT JS WHY? VIRTUAL DOM
Embarace javascript
REACT JS WHY? LIFECYCLE
REACT JS WHY? REDUX
REACT JS WHY? JSX
GRAPHQL WHAT?
Internally, 2012
Publicly, 2015
7th Nov, 2018
GRAPHQL WHY? GRAPH
GRAPHQL WHY? REST
GRAPHQL WHY? UNDER-FETCHING
GRAPHQL WHY? OVER-FETCHING
GRAPHQL WHY? SCHEMA VALIDATION
GRAPHQL
type Post {
title: String!
author: Person!
}
type Person {
name: String!
age: Int!
posts: [Post!]!
}
WHY? EXAMPLE
{
allPersons {
name
}
}
{
"allPersons": [
{
"name": "Leonardo di caprio",
"posts":{
"title": "Climate Change"
}
}
]
}
GRAPHQL
mutation {
createPerson(name: "Bob", age: 36) {
name
age
}
}
WHY? EXAMPLE
"createPerson": {
"name": "Bob",
"age": 36,
}
GRAPHQL
subscription {
newPerson {
name
age
}
}
WHY? EXAMPLE
{
"newPerson": {
"name": "Jane",
"age": 23
}
}
GRAPHQL WHY? EXAMPLE
GRAPHQL WHY? RELAY
GRAPHQL WHY? RELAY APP
GRAPHQL WHY? <Story/>
GRAPHQL WHY? <Story/>
GRAPHQL WHY? <NewsFeed/> 
GRAPHQL WHY? <NewsFeed/> Fragment 
GRAPHQL WHY? <NewsFeed/> Load More
GRAPHQL WHY? RELAY COMPONENTS
Relay
Environment
Network Layer <QueryRenderer/>
Fragment
Container
Fragment
Container
Pagination
Container
Mutation Subscription Relay Store fetchQuery
GRAPHQL WHY? FINAL WORDS
GRAPHQL WHY? CONNECTED DATABASE
GRAPHQL WHY? INTEGRATE EXISTING SYSTEM
GRAPHQL WHY? CONNECTED + INTEGRATED
GRAPHQL WHY? RESOLVER FUNCTION
EMBARACE ARCHITECTURE
JEST WHAT?
Zero Config Snapshot Testing Isolated Code Coverage Easy Mocking Fast and Safe
JEST WHY? SNAPSHOT
JEST WHY? SNAPSHOT RESULT
JEST WHY? SNAPSHOT RESULT
JEST WHY? CODE COVERAGE
JEST WHY? MOCKING
WEBPACK WHAT?
WEBPACK WHY? WEBPACK DEV SERVER
BABEL WHAT?
var a = 3
a + 5
BABEL WHY?
CI / CD WHAT? WHY?
THINK HOW TO THINK?
TURN MR. VISHAL VIRANI
THINK OPEN SOURCE
“In the middle of
difficulty lies opportunity.”
~ Albert Einstein
QUESTION ANSWER
NODE JS: https://en.wikipedia.org/wiki/Node.js
REACT JS: https://en.wikipedia.org/wiki/React_(JavaScript_library)
REACT JS: https://ibmcode-staging.us-east.containers.mybluemix.net/tutorials/wa-react-intro/
RELAY: https://reactjs.org/blog/2015/03/19/building-the-facebook-news-feed-with-relay.html
REDUX: https://redux.js.org/introduction/motivation
MONGO DB: https://en.wikipedia.org/wiki/MongoDB
REACT: https://arkwright.github.io/scaling-react-server-side-rendering.html
Relay: https://code-cartoons.com/a-cartoon-intro-to-facebook-s-relay-part-4-aef7d819a8ed
GRAPH QL: https://en.wikipedia.org/wiki/GraphQL
WEBPACK HMR: https://www.javascriptstuff.com/understanding-hmr/
REFERENCE LIST
BABEL: https://www.sitepoint.com/understanding-asts-building-babel-plugin/
CI / CD: BABEL: https://www.sitepoint.com/understanding-asts-building-babel-plugin/

More Related Content

Embarace javascript