Top Banner
JAVASCRIPT NO LONGER A “TOY” LANGUAGE AN LP NGUYEN KMS TECHNOLOGY 26 TH MAR 2016
48

JavaScript - No Longer A Toy Language

Apr 10, 2017

Download

Technology

KMS Technology
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JavaScript - No Longer A Toy Language

JAVASCRIPTNOLONGERA“TOY”LANGUAGE

ANLPNGUYENKMSTECHNOLOGY

26THMAR2016

Page 2: JavaScript - No Longer A Toy Language

ICEBREAKER

• 6-PERSONGROUPS• GETTOKNOWEACHOTHERS• SHAREYOURNAME• FILLMEMBERNAMESASGROUPNAME• ASKTHEMOSTVALUABLEQUESTION

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 3: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

$whoami

▸ Front-end/backenddeveloperinKMSIncubator

▸ Rubyloversince2011▸ HasbeeninarelationshipwithJavaScriptsince2013

[email protected]@crashbell

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 4: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

$whoareyou

▸ var,function,callback▸ hoisting,prototype,closure▸ fatarrowfunction,generator,async/await

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 5: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

AGENDA

▸ Atoylanguage▸ StacksJavascripthasbeeninvolving▸ SignificantupdatesfromES6andES7▸ Demo▸ Quiz▸ Takeaways

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 6: JavaScript - No Longer A Toy Language

JAVASCRIPTISMOSTCOMMONLYUSEDASACLIENTSIDESCRIPTINGLANGUAGE.

WhatisJavascriptlanguage?-Quora

JAVASCRIPT - A TOY LANGUAGE

Page 7: JavaScript - No Longer A Toy Language

JAVASCRIPT - A TOY LANGUAGE

FunFacts

▸ Mocha,LiveScriptandJavaScript

▸ “Java”inJavaScriptwasamarketingstrategy

▸ JavaScriptwasdevelopedatNetscape-NotSunMicrosystems

▸ JavaScriptisnothingrelatedtoJavaexceptC-likesyntax

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 8: JavaScript - No Longer A Toy Language

JAVASCRIPT - A TOY LANGUAGE

The90’s

▸ Annoyingpopups▸ Statusbars▸ Mouseovers▸ Autoscrolling▸ Blinkingtexts▸ NoDOM,NoCSS,NoRegex

JavaScript was used in website for fun and "annoying"

Source:http://www.makeuseof.com/

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 9: JavaScript - No Longer A Toy Language

JavaScriptusedtobea“toy”languagewhichwasusedtodecorateawebsiteandsolvecross-browsercompatibilities

Page 10: JavaScript - No Longer A Toy Language

JAVASCRIPTISEVERYWHERE.SOAREWEALLOKWITHTHAT?

JavaScriptJourneywww.theregister.co.uk

STACKS JAVASCRIPT HAS BEEN INVOLVING

Page 11: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Source:http://githut.info

Page 12: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

STACKS

▸ Backend

▸ Front-end

▸ Database&Mobile/Desktop

Page 13: JavaScript - No Longer A Toy Language

BACKEND

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

STACKS JAVASCRIPT HAS BEEN INVOLVING

Page 14: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

NodeJS

▸ Cross-platformruntimeenvironment

▸ BuiltonChrome'sV8JavaScriptengine

▸ Event-drivenarchitecture

▸ Non-blockingI/OAPI

Source:http://code-maven.com

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 15: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

NodeJS–EventLoop

Source:http://softwareengineeringdaily.com

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 16: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Source:http://www.slideshare.net/yurabogdanov/nodejs-talken

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

NodeJS–CPUBOUND&IOBOUND

Page 17: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Backendframeworks

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

▸ Express:AminimalandflexibleNode.jswebapplicationframeworkthatprovidesarobustsetoffeaturesforwebandmobileapplications.

▸ koa:AnewwebframeworkdesignedbytheteambehindExpress,whichaimstobeasmaller,moreexpressive,andmorerobustfoundationforwebapplicationsandAPIs.

▸ Hapi:Enablesdeveloperstofocusonwritingreusableapplicationlogicinsteadofspendingtimebuildinginfrastructure.

Page 18: JavaScript - No Longer A Toy Language

FRONT-END

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

STACKS JAVASCRIPT HAS BEEN INVOLVING

Page 19: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

SPAFrameworks

Source:http://brewhouse.io

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 20: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Front-EndWorkflow

Source:http://joellongie.com/

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 21: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Mycurrentfront-endtools&frameworks

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

▸ Packagemanager:NPM▸ Taskrunner:Gulp▸ Modulebundler:Webpack▸ Framework:React+Redux▸ Testframework:Mocha▸ Codequalitytool:ESlint,Babel

Page 22: JavaScript - No Longer A Toy Language

DATABASES&MOBILE/DESKTOP

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

STACKS JAVASCRIPT HAS BEEN INVOLVING

Page 23: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Databases

▸ ApacheCouchDB™:AdatabasethatusesJSONfordocuments,JavaScriptforMapReduceindexes,andregularHTTPforitsAPI

▸ MongoDB:Across-platformdocument-orienteddatabase(NoSQL),useJSONfordocumentsJavaScriptobjectquerying

▸ PouchDB:Adatabasewithinbrowserwascreatedtohelpwebdevelopersbuildapplicationsthatworkaswellofflineastheydoonline.

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 24: JavaScript - No Longer A Toy Language

STACKS JAVASCRIPT HAS BEEN INVOLVING

Mobile/DesktopApplications

▸ Buildcross-platformweb-baseddesktopapplicationwithElectron

▸ ReactNative:AframeworktobuildnativemobileappsusingReact(Notacrossplatformframework)

▸ Cordova:WrapsyourHTML/JavaScriptappintoanativecontainerwhichcanaccessthedevicefunctionsofseveralplatforms.

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 25: JavaScript - No Longer A Toy Language

JavaScriptcandoalmosteverythingnow!

Page 26: JavaScript - No Longer A Toy Language

JAVASCRIPT–NOLONGERA“TOY”LANGUAGE

TEABREAK(IN10MINS)

Page 27: JavaScript - No Longer A Toy Language

IT’STHENEXTVERSIONOFJAVASCRIPT,ANDITHASSOMEGREATNEWFEATURES.

ECMAScript6(ES6):What’sNewInTheNextVersionOfJavaScript

www.smashingmagazine.com

SIGNIFICANT UPDATES FROM ES6/7

JAVASCRIPT–NOLONGERA“TOY”LANGUAGE

Page 28: JavaScript - No Longer A Toy Language

Here’snotafullwalkthroughofES6/7features

Page 29: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

WhatisES6/7

▸ JavaScripthasbeenstandardizedsince1998underthenameECMAScriptorES

▸ EShasbeendesignedbyTC39(TechnicalCommittee39)▸ ESreleasesperyear(since2015)▸ ES6(ECMAScript2015)wasfinalizedonJune17,2015▸ ES7(ECMAScript2016)isworkinprocess

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 30: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 31: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

MINORUPDATES

▸ letandconst▸ letisvarwithblockscope

▸ templateliterals

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 32: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

MINORUPDATES

▸ fatarrowfunction▸ ()=>{}

▸ For..Of

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 33: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

CLASSES

▸ Declareaclass

▸ Initializenewobject

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 34: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

ASYNC-CALLBACKHELL

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 35: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

ASYNC-PROMISE

▸ Simplyunderstanding:ithassuccessandfailurecallbacks

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 36: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

ASYNC-PROMISE

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 37: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

ASYNC-ChainingPromises

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 38: JavaScript - No Longer A Toy Language

SIGNIFICANT UPDATES FROM ES6/7

ASYNC-ASYNC/AWAIT

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 39: JavaScript - No Longer A Toy Language

FormoreES6featurespleasefindhere:http://es6-features.org

ForES7async/awaitfeature:https://github.com/tc39/ecmascript-asyncawait

Page 40: JavaScript - No Longer A Toy Language

JAVASCRIPT–NOLONGERA“TOY”LANGUAGE

DEMO

REDUX+BABEL+WEBPACK

Page 41: JavaScript - No Longer A Toy Language

JAVASCRIPT–NOLONGERA“TOY”LANGUAGE

QUIZ

Page 42: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

QUIZ-1

WhatdoesNPMstandfor?1.NodePullingMessage2.NodePackageManagement3.NodePackageMinimization4.NodePackageManager

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 43: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

QUIZ-2

WhatisReactNative?1.Cross-platformframework2.Web-basedmobileapplication3.BuildingnativeappswithJavaScript4.Desktopbuilder

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 44: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

QUIZ3-TemplateLiterals

Whatiscorrectconvert?

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 45: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

OpenQuestion

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 46: JavaScript - No Longer A Toy Language

JAVASCRIPT - NO LONGER A “TOY” LANGUAGE

TAKEAWAYS

▸ JavaScriptisnolongeratoyandamateurlanguage.Letchangeyourthought(ifyouhave)aboutit.

▸ JavaScripthaschangedrapidlyonmanytechnologystacks

▸ NewversionsofJavaScripthavecomeupveryfastandalotofchangesonJavaScript.

▸ Getpreparedyourself!

Source:http://99u.com

JAVASCRIPT – NO LONGER A “TOY” LANGUAGE

Page 47: JavaScript - No Longer A Toy Language

JAVASCRIPT–NOLONGERA“TOY”LANGUAGE

Q&A

Source:http://www.faithdeployed.com

Page 48: JavaScript - No Longer A Toy Language

THANKYOU

©2013KMSTechnology