SlideShare a Scribd company logo
1 of 40
Download to read offline
HOW DID I GET HERE
• IN MID 2010, I WAS MIRED IN MOBILE
• WORKING ON PROJECTS IN “ADOBE AIR” AND
“OBJECTIVE C”
• FREELANCING, I BRIEFLY JOINED THE CBC
• WORKED ON KIDS GAMES
WHAT THE HECK HAPPENED TO JS?
• SO I HAD TO JUMP BACK INTO JAVASCRIPT
• SOMETHING I HAD NOT DONE IN QUITE SOME
TIME
• I TAUGHT JAVASCRIPT BACK IN THE DOT-COM
HEYDAY
• BUT IT WAS STILL A ‘KIDDIE-SCRIPT’ LANGUAGE
• I WENT TO DO SOME SERVER-SIDE CODE
WHAT THE HECK HAPPENED TO JS?
• THIS POORLY TYPED LANGUAGE CALLED
JAVASCRIPT TURNED INTO A MONSTROSITY
• FINDING INFORMATION ABOUT ANYTHING JS
WOULD LEAD YOU TO A BLOG POST THAT WAS
INSTANTLY DATED
• IT LOOKED LIKE JAVASCRIPT WENT CRAZY, AND I
NEEDED TO TAKE A PILL
SO THAT LEADS ME TO NOW…
• LET’S TALK ABOUT THE TOOLSETS AVAILABLE
TODAY IN THE 2016 JAVASCRIPT WORLD
• LET’S TALK ABOUT THE EVALUATION PROCESSES
THAT HELP CHOOSE THE JAVASCRIPT
TECHNOLOGIES YOU CAN USE
• LET’S PERHAPS EVEN TAKE A LOOK AT A SIMPLE
USE CASE
BUT HOW DID WE GET HERE?
A LITTLE HISTORY WOULD BE NICE…
THE STORY SO FAR..
• 1995 – I’M A YOUNG PHARMACY STUDENT / ”HACKER”. EXPLORING THIS NEW WORLD CALLED THE “WORLD
WIDE WEB”.
• 1995 – IN THAT SAME YEAR, WITHIN TEN DAYS, BRENDAN EICH OF NETSCAPE CREATES A LANGUAGE CALLED
“MOCHA”
• CHANGED THE NAME TO LIVESCRIPT
• THEN CHANGED IT TO JAVASCRIPT (TO TAKE ADVANTAGE OF THE RISING POPULARITY OF SOME OTHER LANGUAGE
CALLED…JAVA)
• JAVASCRIPT THEN CONFORMED TO THE ECMASCRIPT (EUROPEAN COMMUNITY MANUFACTURING
ASSOCIATION)
THE STORY SO FAR..
• 1998 – JAVASCRIPT 1.3/ ECMASCRIPT V1 (ECMA-262) STANDARD CREATED
• INCIDENTALLY, THE VERSION I HAD BEEN USING FOR YEARS…
• ALSO THAT YEAR, JAVASCRIPT 1.4 (SERVER SIDE JS!) RELEASED …WAITAMINIT… ISN’T THAT … NODE.JS?
• 2000 – JAVASCRIPT 1.45/ ECMASCRIPT V3 OS RE;ASED
THEN…
WHAT THE HECK HAPPENED?
FIGHT!
• PLUGINS RELEASED EVERYWHERE FOR NON-
TRIVIAL INTERACTIVTY
• FLASH, JAVAFX, SILVERLIGHT
• FLASH AS3 WAS SUPPOSED TO BE THE
EVOLUTION OF ECMASCRIPT V4
• THE RESULT WAS ECMASCRIPT V5 …
10 YEARS LATER!
And THE MATRIX didn’t get much better as it
progressed.
ELSEWHERE…
• IN THE JAVASCRIPT WORLD…
• 2005 – AJAX WHITE PAPER
• GOOGLE MAPS GOES LIVE! AND INTRODUCES
“GOOGLE BETA” I.E. FOREVER
• HTTP://WWW.JOHNNYCASHHASBEENEVERYWHE
RE.COM/
ELSEWHERE…
• IN THE JAVASCRIPT WORLD…
• 2006 – THE BIRTH OF JAVASCRIPT “LIBRARIES”
• JQUERY, MOOTOOLS, PROTOTYPE, DOJO, YUI, ETC.
ETC.
• MADE WORKING WITH THE DOM EASIER
• INTRODUCES “PROGRAMMING PATTERNS” TO JS
– OBSERVABLES, PROMISES, ETC.
AND THEN CAME NODE.JS (AND NPM)
• 2009 – NODEJS CAME OUT
• POWERED BY GOOGLE'S V8 SCRIPTING ENGINE FOR
WEBKIT ( I COULD HAVE HAD A … )
• INCLUDES ”ASYNC I/O”
• JS IS RESURRECTED ON THE SERVER…ERR…
ANYWHERE!
• 2011 – NPM RELEASED
• PACKAGE MANAGER FOR JS
• ORGANIZES LIBRARIES IN A DEPENDENT MANNER
• I WAS AT THE CBC, KIND OF OBLIVIOUS TO IT ALL
THE “JAVASCRIPT” MATRIX WAS CREATED
AND WOW….AT LEAST IT WAS A BIT MORE ORGANIZED.
MODULE EXPLOSION
• NPM HAS AN EASY PUBLISHING PROCESS
• LITTLE GATEKEEPING (GOOD ? BAD ?) –
COMPARE TO APP STORE FOR IOS
• MASSIVE OVERLAP
• QUALITY OF EACH MODULES VARIES
MANY MODULES FORM A PACKAGE…
JUST IN CASE YOU ARE WONDERING…
JAVASCRIPT – MORE THAN FUNCTIONS
• JAVASCRIPT IS USED FOR RUNNING TOOLS THAT
HELP SCAFFOLD YOUR SITE
• ”SCAFFOLDING” – CONCERNED WITH GENERATING A
STARTER TEMPLATE FOR APP BUILDING, BASED
UPON SOM SETTINGS
• YEOMAN, SLUSH
• SCAFFOLDS REDUCE TIME IN SETTING UP
BOILERPLATE CODE FOR YOUR WEB APP,
DOWNLOADING DEPENDENCIES, AND MANUALLY
CREATING A FOLDER STRUCTURE.
JAVASCRIPT – MORE THAN FUNCTIONS
• JAVASCRIPT IS USED FOR RUNNING TOOLS THAT HELP
TRANSPILE YOUR SITE’S CODE
• ”TRANSPILING” – TAKING SOURCE FROM ONE LANGUAGE
AND CONVERTING IT TO ANOTHER WITH THE SAME
DEGREE OF ABSTRACTION
• COFFEESCRIPT, TYPESCRIPT, DART, BABEL, CLOJURESCRIPT
• TRANSPILING ALLOWS A WEB DEVELOPER TO WRITE
SOPHISTICATED, WELL MANAGED JS CODE THAT FOLLOWS
BEST PRACTICES FOR PROGRAMMING
JAVASCRIPT – MORE THAN FUNCTIONS
• JAVASCRIPT IS USED FOR RUNNING TOOLS THAT
HELP BUILD YOUR SITE FOR PRODUCTION
• ”BUILDING” – AUTOMATION TOOLS THAT PERFORM
REPEATED TASKS IN A PROJECT, EX. MINIFICATION,
INJECT DEPENDENCIES
• GRUNT, GULP, WEBPACK, BRUNCH, ETC.
• BUILD TOOLS SAVE TIME, MONEY, AND RESOURCES
BY PERFORMING REPEATABLE TASKS – LIKE
MINIFYING JS AND CSS
JAVASCRIPT – MORE THAN FUNCTIONS
• JAVASCRIPT IS USED FOR RUNNING TOOLS THAT
HELP TEST YOUR SITE’S FUNCTIONS
• ”TESTING” – UNIT TESTING ASSERTION
LIBRARIES THAT CONFIRM FUNCTIONS WORK
• UNITJS, MOCHA, JASMINE, KARMA, PROTRACTOR
SO…ANGULAR? REACT? OTHERS? (EMBER)
• ANGULAR 2 (PUT ASIDE ANGULAR JS FOR NOW)
• STRUCTURAL FRAMEWORK FOR DYNAMIC WEB
APPS
• HTML IS THE TEMPLATE LANGUAGE
• EXTENDS HTML, AND UTILIZES TYPESCRIPT, AND
ADVANCED VERSION OF ECMASCRIPT
SO…REACT? ANGULAR? OTHERS? (EMBER)
• REACTJS (LET’S PUT ASIDE REACT NATIVE FOR
NOW)
• FOCUSED ON CREATING FRONT-END
COMPONENTS
• UNLIKE ANGULAR(2) DOES NOT REALLY HAVE A
“MODEL” OR “CONTROLLER” LOGIC
• UTILIZES JSX, A VARIATION ON JAVASCRIPT THAT
IS “TRANSLATED” FROM A VIRTUAL DOM TO
REGULAR JAVASCRIPT
SO…EMBER? (VS. THE OTHER TWO)
• EMBER IS A JAVASCRIPT WEB FRAMEWORK
• IN SOME WAYS, SIMILAR TO ANGULAR
(COMPLETE MODEL/VIEW/VIEWMODEL PATTERN)
• IN SOME WAYS SIMILAR TO REACTJS
(COMPONENT BASED WORKFLOW)
• STRICTLY ABOUT THE FRONT-END AS WELL…
BUT WAITAMINIT…. How about METEOR?????
OK…METEOR THEN
• METEORJS IS AN OPEN SOURCE JAVASCRIPT WEB
FRAMEWORK AS WELL
• BUT CENTERED AROUND NODEJS
• WHICH MEANS
• IT CAN PERFORM “SERVER-SIDE” LIKE TASKS
• AS WELL AS
• PERFORMING FRONT-END UI TASKS
• SO IT CROSSES BEYOND THE PREVIOUS THREE!
• AND UTILIZES APACHE CORDOVA /APACHE PHONEGAP
FOR MOBILE SUPPORT
COMING SOON TO A JS WORLD NEAR YOU!
• ASM.JS – BECAUSE YOU WANT TO WRITE COMPILE IT TO C, C++, LUA, RUBY, PYTHON ETC. AND COMPILE
IT OVER TO JAVASCRIPT AND USE IT FOR THE APPROPRIATE MEDIA (WEB, TABLET, ETC.)
• ECMASCRIPT 2015 / V6 (ES6 – RED ACADEMY TEACHES THIS IN THE HERE IN NOW. CREATE MODULES!
NEW (WELL ALMOST NEW) SYNTAX!
• WEB COMPONENTS - A STANDARD SET OF REUSABLE USER INTERFACE WIDGETS CREATED USING OPEN
WEB TECHNOLOGY, AND ARE BAKED INTO THE BROWSER, SO WE DON’T NEED LIBRARIES LIKE JQUERY OR
DOJO
• HTTP/2 – BECAUSE REVISING HTTP IS REALLY REALLY NEEDED
FIRST … TIME TO CLEAN SWEEP
EVERYTHING
ONE RING (UNFORTUNATELY) MAY NOT RULE
THEM ALL…
• WHAT TYPE OF APP ARE YOU BUILDING
• WHERE IS THE APP EXPECTED TO RUN?
• WHY USE KNOWN (OR UNKNOWN) TECHNOLOGIES
• HOW LARGE WILL BE YOUR EXPECTED CODEBASE?
• WHO IS YOUR EXPECTED AUDIENCE
• WHEN IS THE PROJECT BEING DEPLOYED
IT’S NOT JUST TECHNICAL CONCERNS
• IT AFFECTS
• WHO YOU HIRE
• SALARY MANAGEMENT (DIFFERENT
TECHNOLOGIES -> DIFFERENT COSTS)
• TEAM MORALE (USING AN ANCIENT TECHNOLOGY
THAT IS DATED MIGHT NOT GET THE BEST EFFORT
OUT OF YOUR STAFF)
• NEW TECHNOLOGY = ADDITIONAL TRAINING
GET TO KNOW ES6 (AND MAYBE ES7) AND
TRANSPILING
• TRANSPILING IS GOOD BECAUSE
• IT IS BEST OF BREED PROGRAMMING
• ENFORCES STRONG TYPING
• IMPROVED SYNTAX
• SUPPORTS DOMAIN SPECIFICITY (HAS SPECIFIC
CONCERNS AND FOCUS)
• TRANSPILING IS NOT GOOD BECAUSE
• MORE COMPLEX TOOLING AND SETUP
• LONGER RAMP-UP
• THE DEGREE OF IMPLEMENTATION OF ES6 TO ES5
CAN VARY FROM CODER TO CODER
ReactJS and Angular2 use a form of transpilation
The common choice is transpiling ES6 via Babel
UTILIZE THE BEST TOOLING
• TOOLING IS THE PROCESS OF SELECTING THE
TOOLS, UTILITIES AND LIBRARIES THAT WHEN
COMBINED BUILDS YOUR CODE TO BE USED IN
THE WEB BROWSER
• GREAT CHOICES IN “TOOLING” WILL IMPACT THE
DEVELOPMENT PROCESS, FINANCIAL SPENDING,
AND CAN MAKE CLIENTS AND DEVS HAPPY
UTILIZE THE BEST TOOLING
• THE QUICKER YOU CAN GO FROM CODE TO PREVIEWING
(“QUICKER FEEDBACK LOOPS”) MAKES THE PROCESSING
OF DEVELOPING MORE ENJOYABLE
• EX. USING “HOT RELOADERS”, OR IDES THAT SUPPORT
QUICK PREVIEW
• AUTOMATE ALL THINGS IF POSSIBLE
• BOOTSTRAPPING (TO AUTO DOWNLOAD LIBRARIES)
• SOURCEMAPS – MAPS THAT POINT FOR TRANSPILED CODE
TO POINT BACK TO ORIGINAL SOURCE
UTILIZE THE BEST TOOLING
• AUTOMATE YOUR TESTING PROCESSES
• AUTOMATE THE DEPLOYMENT
• DOCUMENT ALL TOOLS (CREATE AN INTERNAL
BLOG)
• BETWEEN GRUNT, GULP, WEBPACK AND
BRUNCH…THE CURRENT TREND IS WEBPACK! TO
HELP IMPLEMENT TOOLING AUTOMATION
WHAT IS THE PHILOSOPHY OF CHOICE
• WHAT IS THE PROBLEM THAT THE LIBRARY IS
TRYING TO SOLVE?
• CAN THE LIBRARY AUTHORS ITS USAGE SIMPLY?
• WHAT IS THEIR REASONING OR INSPIRATION
BEHIND THE LIBRARY’S CREATION?
• WOULD THEY SOLVE YOUR PROBLEMS?
• WILL THIS LIBRARY WORK WELL WITH OTHERS?
SMALL PIECES VS MONOLITHIC FRAMEWORKS
• LARGE FRAMEWORKS ARE GENERALLY
CONSISTENT ALL THE TIME
• ONE SOURCE OF CENTRALIZED DOCUMENTATION
• MAY BE A LARGER MENTAL PROCESS TO
UNDERSTAND IT ALL, BUT IT’S A UNIFIED
ENVIRONMENT
• SMALL PIECES ARE A “PICK AND CHOOSE
“PROCESS
• DOCUMENTATION MAY BE SMALL, BUT
FRAGMENTED IN MANY PLACES
• WIDER NUMBERS OF TOOLS BECOMES MAYBE A
LITTLE BIT CHALLENGING
HOW MUCH INFORMATION IS OUT THERE?
• WEBSITE BLOGS – OUT OF DATE
• VIDEO TUTORIALS – OUT OF DATE
• BOOKS – OUT OF DATE
• MY EXPERIENCE WITH GETTING THE INFORMATION NEEDED ALL TOGETHER
• WHILE CODING – CAN YOU READ THE UNIT TESTS (ARE YOU DOING UNIT TESTS?)
• FOLLOW ONE PARTICULAR RESOURCE / METHODOLOGY TO START (LIKE THE ORIGINAL DOCS)
• USE TUTORIALS ONLY AS GUIDES…KNOWING THAT THEY MAY TEND TO CHANGE…AND BREAK
• USE SITES LIKE STACKOVERFLOW IF YOU ARE STUCK. BUT LIKE ANY BLOGS ITS USER BEWARE!
UTILIZING “FUNCTIONAL PROGRAMMING”
• A METAPHOR ILLUSTRATING
ABSTRACTION
• FUNCTIONAL PROGRAMMING
INVOLVES CLEVER USE OF
ABSTRACTION TO REDUCE
UNNEEDED CODE
FUNCTIONAL PROGRAMMING
BEFORE AFTER
Let’s create a function that goes and prints the elements of an array. How can we ‘shorten it’?
ADDITIONAL OPTIONS
• ZEPTO – WORKS WELL WITH JQUERY
• RIOT – A MINI VERSION OF REACT
• VUE – LIKE ANGULAR / EMBER
DON’T STOP LEARNING
• REALLY, IF YOU ARE IN THIS ENVIRONMENT, YOU CAN’T STOP
• THE ONLY WAY TO BREAK THIS CYCLE…IS BECOME A FIREMAN (OR A YOGA TEACHER, OR SOMETHING
EQUIVALENT TO A 180 DEGREE CAREER MOVE)
• KEEP ON CONTINUING TO LEARN
THANK YOU. QUESTIONS?
EMAIL - EDWARD.APOSTOL AT REDACADEMY DOT COM
WWW.REDACADEMY.COM
TWITTER - @EDWARDJAPOSTOL

More Related Content

What's hot

Startup Architecture: How to Lean on Others to Get Stuff DoneUntitled
Startup Architecture: How to Lean on Others to Get Stuff DoneUntitledStartup Architecture: How to Lean on Others to Get Stuff DoneUntitled
Startup Architecture: How to Lean on Others to Get Stuff DoneUntitledC4Media
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Varokas Panusuwan
 
Get Off My Thread! - keep your UI super-responsive
Get Off My Thread! - keep your UI super-responsiveGet Off My Thread! - keep your UI super-responsive
Get Off My Thread! - keep your UI super-responsiveDroidConTLV
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps StartupsDaniel Zivkovic
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
An Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureAn Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureEric Saxby
 
Esn webprojects 2013
Esn webprojects 2013Esn webprojects 2013
Esn webprojects 2013Salih Odabasi
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuningJohn McCaffrey
 
Real world software launch
Real world software launchReal world software launch
Real world software launchKunal Johar
 
Surviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSurviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSteve Pember
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Quentin Adam
 
The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...Quentin Adam
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudThomas Ardal
 
We’re Going Mobile! Great! Wait… What Does That Mean?
We’re Going Mobile! Great! Wait… What Does That Mean?We’re Going Mobile! Great! Wait… What Does That Mean?
We’re Going Mobile! Great! Wait… What Does That Mean?STC-Philadelphia Metro Chapter
 
Reactive All the Way Down the Stack
Reactive All the Way Down the StackReactive All the Way Down the Stack
Reactive All the Way Down the StackSteve Pember
 
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will come
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will comeHigher Ed Web 2013 presentation - Field of Dreams, build it and they will come
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will comePromet Source
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationAngela Samuels
 

What's hot (20)

Startup Architecture: How to Lean on Others to Get Stuff DoneUntitled
Startup Architecture: How to Lean on Others to Get Stuff DoneUntitledStartup Architecture: How to Lean on Others to Get Stuff DoneUntitled
Startup Architecture: How to Lean on Others to Get Stuff DoneUntitled
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013Emergent design @ Pronto 24/11/2013
Emergent design @ Pronto 24/11/2013
 
Get Off My Thread! - keep your UI super-responsive
Get Off My Thread! - keep your UI super-responsiveGet Off My Thread! - keep your UI super-responsive
Get Off My Thread! - keep your UI super-responsive
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
DevOps at Lowe's - Our Journey
DevOps at Lowe's - Our JourneyDevOps at Lowe's - Our Journey
DevOps at Lowe's - Our Journey
 
An Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented ArchitectureAn Iterative Approach to Service Oriented Architecture
An Iterative Approach to Service Oriented Architecture
 
Esn webprojects 2013
Esn webprojects 2013Esn webprojects 2013
Esn webprojects 2013
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Real world software launch
Real world software launchReal world software launch
Real world software launch
 
Surviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSurviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridged
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?
 
The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...The end of server management : hosting have to become a commodity - #devoxxPL...
The end of server management : hosting have to become a commodity - #devoxxPL...
 
Optimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, SpotifyOptimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, Spotify
 
DevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco CloudDevOps with elmah.io on Umbraco Cloud
DevOps with elmah.io on Umbraco Cloud
 
We’re Going Mobile! Great! Wait… What Does That Mean?
We’re Going Mobile! Great! Wait… What Does That Mean?We’re Going Mobile! Great! Wait… What Does That Mean?
We’re Going Mobile! Great! Wait… What Does That Mean?
 
Reactive All the Way Down the Stack
Reactive All the Way Down the StackReactive All the Way Down the Stack
Reactive All the Way Down the Stack
 
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will come
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will comeHigher Ed Web 2013 presentation - Field of Dreams, build it and they will come
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will come
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp Presentation
 

Viewers also liked

Front-End Tools and Workflows
Front-End Tools and WorkflowsFront-End Tools and Workflows
Front-End Tools and WorkflowsSara Vieira
 
Customising civicrm
Customising civicrmCustomising civicrm
Customising civicrmChris Ward
 
Javascript Libraries & Frameworks | Connor Goddard
Javascript Libraries & Frameworks | Connor GoddardJavascript Libraries & Frameworks | Connor Goddard
Javascript Libraries & Frameworks | Connor GoddardConnor Goddard
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureSimon Willison
 
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...Amazon Web Services
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)Andrew Barickman
 
JavaOne 2014: Java vs JavaScript
JavaOne 2014:   Java vs JavaScriptJavaOne 2014:   Java vs JavaScript
JavaOne 2014: Java vs JavaScriptChris Bailey
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
JavaScript for Enterprise Applications
JavaScript for Enterprise ApplicationsJavaScript for Enterprise Applications
JavaScript for Enterprise ApplicationsPiyush Katariya
 
Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016Mãi Mãi Yêu
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Prasid Pathak
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScriptGeertjan Wielenga
 
Webinar AWS 201 Delivering apps without servers
Webinar AWS 201 Delivering apps without serversWebinar AWS 201 Delivering apps without servers
Webinar AWS 201 Delivering apps without serversAmazon Web Services
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison500Tech
 
Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)Addy Osmani
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersMicroservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersDanilo Poccia
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)Alex Ross
 

Viewers also liked (20)

Front-End Tools and Workflows
Front-End Tools and WorkflowsFront-End Tools and Workflows
Front-End Tools and Workflows
 
Customising civicrm
Customising civicrmCustomising civicrm
Customising civicrm
 
Javascript Libraries & Frameworks | Connor Goddard
Javascript Libraries & Frameworks | Connor GoddardJavascript Libraries & Frameworks | Connor Goddard
Javascript Libraries & Frameworks | Connor Goddard
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...
(DEV306) Building Cross-Platform Applications Using the AWS SDK for JavaScrip...
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
Javascript libraries
Javascript librariesJavascript libraries
Javascript libraries
 
JavaOne 2014: Java vs JavaScript
JavaOne 2014:   Java vs JavaScriptJavaOne 2014:   Java vs JavaScript
JavaOne 2014: Java vs JavaScript
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
JavaScript for Enterprise Applications
JavaScript for Enterprise ApplicationsJavaScript for Enterprise Applications
JavaScript for Enterprise Applications
 
Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
React vs Angular2
React vs Angular2React vs Angular2
React vs Angular2
 
Webinar AWS 201 Delivering apps without servers
Webinar AWS 201 Delivering apps without serversWebinar AWS 201 Delivering apps without servers
Webinar AWS 201 Delivering apps without servers
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
 
Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersMicroservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker Containers
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 

Similar to Choosing Javascript Libraries to Adopt for Development

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Christian Heilmann
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptxOmidRezaAbbasi1
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015Christian Heilmann
 
Breaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteBreaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteChristian Heilmann
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Quentin Adam
 
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 Immutability: from code to infrastructure, the way to scalability - Breizhca... Immutability: from code to infrastructure, the way to scalability - Breizhca...
Immutability: from code to infrastructure, the way to scalability - Breizhca...Quentin Adam
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webappstjasko
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Sebastian Schürmann
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSChristian Heilmann
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript DelusionJUGBD
 
Happy Developers write better code
Happy Developers write better codeHappy Developers write better code
Happy Developers write better codeRoy Braam
 
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopGoldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopKim Chee Leong
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseScott Taylor
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Christian Heilmann
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutChristian Heilmann
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 

Similar to Choosing Javascript Libraries to Adopt for Development (20)

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
An Introduction to CoffeeScript
An Introduction to CoffeeScriptAn Introduction to CoffeeScript
An Introduction to CoffeeScript
 
The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015
 
Breaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynoteBreaking out of the endless callback look - #jsday Italy keynote
Breaking out of the endless callback look - #jsday Italy keynote
 
Jsday
JsdayJsday
Jsday
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
 
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 Immutability: from code to infrastructure, the way to scalability - Breizhca... Immutability: from code to infrastructure, the way to scalability - Breizhca...
Immutability: from code to infrastructure, the way to scalability - Breizhca...
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
 
The JavaScript Delusion
The JavaScript DelusionThe JavaScript Delusion
The JavaScript Delusion
 
Happy Developers write better code
Happy Developers write better codeHappy Developers write better code
Happy Developers write better code
 
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopGoldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
 
slides-students-C03.pdf
slides-students-C03.pdfslides-students-C03.pdf
slides-students-C03.pdf
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 

Recently uploaded

Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 

Recently uploaded (20)

Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 

Choosing Javascript Libraries to Adopt for Development

  • 1.
  • 2. HOW DID I GET HERE • IN MID 2010, I WAS MIRED IN MOBILE • WORKING ON PROJECTS IN “ADOBE AIR” AND “OBJECTIVE C” • FREELANCING, I BRIEFLY JOINED THE CBC • WORKED ON KIDS GAMES
  • 3. WHAT THE HECK HAPPENED TO JS? • SO I HAD TO JUMP BACK INTO JAVASCRIPT • SOMETHING I HAD NOT DONE IN QUITE SOME TIME • I TAUGHT JAVASCRIPT BACK IN THE DOT-COM HEYDAY • BUT IT WAS STILL A ‘KIDDIE-SCRIPT’ LANGUAGE • I WENT TO DO SOME SERVER-SIDE CODE
  • 4. WHAT THE HECK HAPPENED TO JS? • THIS POORLY TYPED LANGUAGE CALLED JAVASCRIPT TURNED INTO A MONSTROSITY • FINDING INFORMATION ABOUT ANYTHING JS WOULD LEAD YOU TO A BLOG POST THAT WAS INSTANTLY DATED • IT LOOKED LIKE JAVASCRIPT WENT CRAZY, AND I NEEDED TO TAKE A PILL
  • 5. SO THAT LEADS ME TO NOW… • LET’S TALK ABOUT THE TOOLSETS AVAILABLE TODAY IN THE 2016 JAVASCRIPT WORLD • LET’S TALK ABOUT THE EVALUATION PROCESSES THAT HELP CHOOSE THE JAVASCRIPT TECHNOLOGIES YOU CAN USE • LET’S PERHAPS EVEN TAKE A LOOK AT A SIMPLE USE CASE
  • 6. BUT HOW DID WE GET HERE? A LITTLE HISTORY WOULD BE NICE…
  • 7. THE STORY SO FAR.. • 1995 – I’M A YOUNG PHARMACY STUDENT / ”HACKER”. EXPLORING THIS NEW WORLD CALLED THE “WORLD WIDE WEB”. • 1995 – IN THAT SAME YEAR, WITHIN TEN DAYS, BRENDAN EICH OF NETSCAPE CREATES A LANGUAGE CALLED “MOCHA” • CHANGED THE NAME TO LIVESCRIPT • THEN CHANGED IT TO JAVASCRIPT (TO TAKE ADVANTAGE OF THE RISING POPULARITY OF SOME OTHER LANGUAGE CALLED…JAVA) • JAVASCRIPT THEN CONFORMED TO THE ECMASCRIPT (EUROPEAN COMMUNITY MANUFACTURING ASSOCIATION)
  • 8. THE STORY SO FAR.. • 1998 – JAVASCRIPT 1.3/ ECMASCRIPT V1 (ECMA-262) STANDARD CREATED • INCIDENTALLY, THE VERSION I HAD BEEN USING FOR YEARS… • ALSO THAT YEAR, JAVASCRIPT 1.4 (SERVER SIDE JS!) RELEASED …WAITAMINIT… ISN’T THAT … NODE.JS? • 2000 – JAVASCRIPT 1.45/ ECMASCRIPT V3 OS RE;ASED
  • 10. FIGHT! • PLUGINS RELEASED EVERYWHERE FOR NON- TRIVIAL INTERACTIVTY • FLASH, JAVAFX, SILVERLIGHT • FLASH AS3 WAS SUPPOSED TO BE THE EVOLUTION OF ECMASCRIPT V4 • THE RESULT WAS ECMASCRIPT V5 … 10 YEARS LATER! And THE MATRIX didn’t get much better as it progressed.
  • 11. ELSEWHERE… • IN THE JAVASCRIPT WORLD… • 2005 – AJAX WHITE PAPER • GOOGLE MAPS GOES LIVE! AND INTRODUCES “GOOGLE BETA” I.E. FOREVER • HTTP://WWW.JOHNNYCASHHASBEENEVERYWHE RE.COM/
  • 12. ELSEWHERE… • IN THE JAVASCRIPT WORLD… • 2006 – THE BIRTH OF JAVASCRIPT “LIBRARIES” • JQUERY, MOOTOOLS, PROTOTYPE, DOJO, YUI, ETC. ETC. • MADE WORKING WITH THE DOM EASIER • INTRODUCES “PROGRAMMING PATTERNS” TO JS – OBSERVABLES, PROMISES, ETC.
  • 13. AND THEN CAME NODE.JS (AND NPM) • 2009 – NODEJS CAME OUT • POWERED BY GOOGLE'S V8 SCRIPTING ENGINE FOR WEBKIT ( I COULD HAVE HAD A … ) • INCLUDES ”ASYNC I/O” • JS IS RESURRECTED ON THE SERVER…ERR… ANYWHERE! • 2011 – NPM RELEASED • PACKAGE MANAGER FOR JS • ORGANIZES LIBRARIES IN A DEPENDENT MANNER • I WAS AT THE CBC, KIND OF OBLIVIOUS TO IT ALL
  • 14. THE “JAVASCRIPT” MATRIX WAS CREATED AND WOW….AT LEAST IT WAS A BIT MORE ORGANIZED.
  • 15. MODULE EXPLOSION • NPM HAS AN EASY PUBLISHING PROCESS • LITTLE GATEKEEPING (GOOD ? BAD ?) – COMPARE TO APP STORE FOR IOS • MASSIVE OVERLAP • QUALITY OF EACH MODULES VARIES
  • 16. MANY MODULES FORM A PACKAGE… JUST IN CASE YOU ARE WONDERING…
  • 17. JAVASCRIPT – MORE THAN FUNCTIONS • JAVASCRIPT IS USED FOR RUNNING TOOLS THAT HELP SCAFFOLD YOUR SITE • ”SCAFFOLDING” – CONCERNED WITH GENERATING A STARTER TEMPLATE FOR APP BUILDING, BASED UPON SOM SETTINGS • YEOMAN, SLUSH • SCAFFOLDS REDUCE TIME IN SETTING UP BOILERPLATE CODE FOR YOUR WEB APP, DOWNLOADING DEPENDENCIES, AND MANUALLY CREATING A FOLDER STRUCTURE.
  • 18. JAVASCRIPT – MORE THAN FUNCTIONS • JAVASCRIPT IS USED FOR RUNNING TOOLS THAT HELP TRANSPILE YOUR SITE’S CODE • ”TRANSPILING” – TAKING SOURCE FROM ONE LANGUAGE AND CONVERTING IT TO ANOTHER WITH THE SAME DEGREE OF ABSTRACTION • COFFEESCRIPT, TYPESCRIPT, DART, BABEL, CLOJURESCRIPT • TRANSPILING ALLOWS A WEB DEVELOPER TO WRITE SOPHISTICATED, WELL MANAGED JS CODE THAT FOLLOWS BEST PRACTICES FOR PROGRAMMING
  • 19. JAVASCRIPT – MORE THAN FUNCTIONS • JAVASCRIPT IS USED FOR RUNNING TOOLS THAT HELP BUILD YOUR SITE FOR PRODUCTION • ”BUILDING” – AUTOMATION TOOLS THAT PERFORM REPEATED TASKS IN A PROJECT, EX. MINIFICATION, INJECT DEPENDENCIES • GRUNT, GULP, WEBPACK, BRUNCH, ETC. • BUILD TOOLS SAVE TIME, MONEY, AND RESOURCES BY PERFORMING REPEATABLE TASKS – LIKE MINIFYING JS AND CSS
  • 20. JAVASCRIPT – MORE THAN FUNCTIONS • JAVASCRIPT IS USED FOR RUNNING TOOLS THAT HELP TEST YOUR SITE’S FUNCTIONS • ”TESTING” – UNIT TESTING ASSERTION LIBRARIES THAT CONFIRM FUNCTIONS WORK • UNITJS, MOCHA, JASMINE, KARMA, PROTRACTOR
  • 21. SO…ANGULAR? REACT? OTHERS? (EMBER) • ANGULAR 2 (PUT ASIDE ANGULAR JS FOR NOW) • STRUCTURAL FRAMEWORK FOR DYNAMIC WEB APPS • HTML IS THE TEMPLATE LANGUAGE • EXTENDS HTML, AND UTILIZES TYPESCRIPT, AND ADVANCED VERSION OF ECMASCRIPT
  • 22. SO…REACT? ANGULAR? OTHERS? (EMBER) • REACTJS (LET’S PUT ASIDE REACT NATIVE FOR NOW) • FOCUSED ON CREATING FRONT-END COMPONENTS • UNLIKE ANGULAR(2) DOES NOT REALLY HAVE A “MODEL” OR “CONTROLLER” LOGIC • UTILIZES JSX, A VARIATION ON JAVASCRIPT THAT IS “TRANSLATED” FROM A VIRTUAL DOM TO REGULAR JAVASCRIPT
  • 23. SO…EMBER? (VS. THE OTHER TWO) • EMBER IS A JAVASCRIPT WEB FRAMEWORK • IN SOME WAYS, SIMILAR TO ANGULAR (COMPLETE MODEL/VIEW/VIEWMODEL PATTERN) • IN SOME WAYS SIMILAR TO REACTJS (COMPONENT BASED WORKFLOW) • STRICTLY ABOUT THE FRONT-END AS WELL… BUT WAITAMINIT…. How about METEOR?????
  • 24. OK…METEOR THEN • METEORJS IS AN OPEN SOURCE JAVASCRIPT WEB FRAMEWORK AS WELL • BUT CENTERED AROUND NODEJS • WHICH MEANS • IT CAN PERFORM “SERVER-SIDE” LIKE TASKS • AS WELL AS • PERFORMING FRONT-END UI TASKS • SO IT CROSSES BEYOND THE PREVIOUS THREE! • AND UTILIZES APACHE CORDOVA /APACHE PHONEGAP FOR MOBILE SUPPORT
  • 25. COMING SOON TO A JS WORLD NEAR YOU! • ASM.JS – BECAUSE YOU WANT TO WRITE COMPILE IT TO C, C++, LUA, RUBY, PYTHON ETC. AND COMPILE IT OVER TO JAVASCRIPT AND USE IT FOR THE APPROPRIATE MEDIA (WEB, TABLET, ETC.) • ECMASCRIPT 2015 / V6 (ES6 – RED ACADEMY TEACHES THIS IN THE HERE IN NOW. CREATE MODULES! NEW (WELL ALMOST NEW) SYNTAX! • WEB COMPONENTS - A STANDARD SET OF REUSABLE USER INTERFACE WIDGETS CREATED USING OPEN WEB TECHNOLOGY, AND ARE BAKED INTO THE BROWSER, SO WE DON’T NEED LIBRARIES LIKE JQUERY OR DOJO • HTTP/2 – BECAUSE REVISING HTTP IS REALLY REALLY NEEDED
  • 26. FIRST … TIME TO CLEAN SWEEP EVERYTHING
  • 27. ONE RING (UNFORTUNATELY) MAY NOT RULE THEM ALL… • WHAT TYPE OF APP ARE YOU BUILDING • WHERE IS THE APP EXPECTED TO RUN? • WHY USE KNOWN (OR UNKNOWN) TECHNOLOGIES • HOW LARGE WILL BE YOUR EXPECTED CODEBASE? • WHO IS YOUR EXPECTED AUDIENCE • WHEN IS THE PROJECT BEING DEPLOYED
  • 28. IT’S NOT JUST TECHNICAL CONCERNS • IT AFFECTS • WHO YOU HIRE • SALARY MANAGEMENT (DIFFERENT TECHNOLOGIES -> DIFFERENT COSTS) • TEAM MORALE (USING AN ANCIENT TECHNOLOGY THAT IS DATED MIGHT NOT GET THE BEST EFFORT OUT OF YOUR STAFF) • NEW TECHNOLOGY = ADDITIONAL TRAINING
  • 29. GET TO KNOW ES6 (AND MAYBE ES7) AND TRANSPILING • TRANSPILING IS GOOD BECAUSE • IT IS BEST OF BREED PROGRAMMING • ENFORCES STRONG TYPING • IMPROVED SYNTAX • SUPPORTS DOMAIN SPECIFICITY (HAS SPECIFIC CONCERNS AND FOCUS) • TRANSPILING IS NOT GOOD BECAUSE • MORE COMPLEX TOOLING AND SETUP • LONGER RAMP-UP • THE DEGREE OF IMPLEMENTATION OF ES6 TO ES5 CAN VARY FROM CODER TO CODER ReactJS and Angular2 use a form of transpilation The common choice is transpiling ES6 via Babel
  • 30. UTILIZE THE BEST TOOLING • TOOLING IS THE PROCESS OF SELECTING THE TOOLS, UTILITIES AND LIBRARIES THAT WHEN COMBINED BUILDS YOUR CODE TO BE USED IN THE WEB BROWSER • GREAT CHOICES IN “TOOLING” WILL IMPACT THE DEVELOPMENT PROCESS, FINANCIAL SPENDING, AND CAN MAKE CLIENTS AND DEVS HAPPY
  • 31. UTILIZE THE BEST TOOLING • THE QUICKER YOU CAN GO FROM CODE TO PREVIEWING (“QUICKER FEEDBACK LOOPS”) MAKES THE PROCESSING OF DEVELOPING MORE ENJOYABLE • EX. USING “HOT RELOADERS”, OR IDES THAT SUPPORT QUICK PREVIEW • AUTOMATE ALL THINGS IF POSSIBLE • BOOTSTRAPPING (TO AUTO DOWNLOAD LIBRARIES) • SOURCEMAPS – MAPS THAT POINT FOR TRANSPILED CODE TO POINT BACK TO ORIGINAL SOURCE
  • 32. UTILIZE THE BEST TOOLING • AUTOMATE YOUR TESTING PROCESSES • AUTOMATE THE DEPLOYMENT • DOCUMENT ALL TOOLS (CREATE AN INTERNAL BLOG) • BETWEEN GRUNT, GULP, WEBPACK AND BRUNCH…THE CURRENT TREND IS WEBPACK! TO HELP IMPLEMENT TOOLING AUTOMATION
  • 33. WHAT IS THE PHILOSOPHY OF CHOICE • WHAT IS THE PROBLEM THAT THE LIBRARY IS TRYING TO SOLVE? • CAN THE LIBRARY AUTHORS ITS USAGE SIMPLY? • WHAT IS THEIR REASONING OR INSPIRATION BEHIND THE LIBRARY’S CREATION? • WOULD THEY SOLVE YOUR PROBLEMS? • WILL THIS LIBRARY WORK WELL WITH OTHERS?
  • 34. SMALL PIECES VS MONOLITHIC FRAMEWORKS • LARGE FRAMEWORKS ARE GENERALLY CONSISTENT ALL THE TIME • ONE SOURCE OF CENTRALIZED DOCUMENTATION • MAY BE A LARGER MENTAL PROCESS TO UNDERSTAND IT ALL, BUT IT’S A UNIFIED ENVIRONMENT • SMALL PIECES ARE A “PICK AND CHOOSE “PROCESS • DOCUMENTATION MAY BE SMALL, BUT FRAGMENTED IN MANY PLACES • WIDER NUMBERS OF TOOLS BECOMES MAYBE A LITTLE BIT CHALLENGING
  • 35. HOW MUCH INFORMATION IS OUT THERE? • WEBSITE BLOGS – OUT OF DATE • VIDEO TUTORIALS – OUT OF DATE • BOOKS – OUT OF DATE • MY EXPERIENCE WITH GETTING THE INFORMATION NEEDED ALL TOGETHER • WHILE CODING – CAN YOU READ THE UNIT TESTS (ARE YOU DOING UNIT TESTS?) • FOLLOW ONE PARTICULAR RESOURCE / METHODOLOGY TO START (LIKE THE ORIGINAL DOCS) • USE TUTORIALS ONLY AS GUIDES…KNOWING THAT THEY MAY TEND TO CHANGE…AND BREAK • USE SITES LIKE STACKOVERFLOW IF YOU ARE STUCK. BUT LIKE ANY BLOGS ITS USER BEWARE!
  • 36. UTILIZING “FUNCTIONAL PROGRAMMING” • A METAPHOR ILLUSTRATING ABSTRACTION • FUNCTIONAL PROGRAMMING INVOLVES CLEVER USE OF ABSTRACTION TO REDUCE UNNEEDED CODE
  • 37. FUNCTIONAL PROGRAMMING BEFORE AFTER Let’s create a function that goes and prints the elements of an array. How can we ‘shorten it’?
  • 38. ADDITIONAL OPTIONS • ZEPTO – WORKS WELL WITH JQUERY • RIOT – A MINI VERSION OF REACT • VUE – LIKE ANGULAR / EMBER
  • 39. DON’T STOP LEARNING • REALLY, IF YOU ARE IN THIS ENVIRONMENT, YOU CAN’T STOP • THE ONLY WAY TO BREAK THIS CYCLE…IS BECOME A FIREMAN (OR A YOGA TEACHER, OR SOMETHING EQUIVALENT TO A 180 DEGREE CAREER MOVE) • KEEP ON CONTINUING TO LEARN
  • 40. THANK YOU. QUESTIONS? EMAIL - EDWARD.APOSTOL AT REDACADEMY DOT COM WWW.REDACADEMY.COM TWITTER - @EDWARDJAPOSTOL