SlideShare a Scribd company logo
JavaScript
State of the Union
Roots
• 1995: Netscape 2.0
 • introduced JavaScript
   •   also frames: woo hoo!

 • orginally called Mocha,
    then LiveScript
 • also originally ran on
    Netscape’s web
    servers
AJAX

• 1999 - IE5
 • Browser wars!
• From MS JScript Implementation
 • XMLHttpRequest
JSON
• JavaScript Object Notation
  •   introduced in 2002 as a competitor to XML

• JavaScript to transfer raw data
  •   easy to create and include (via script tag)

  •   its real JavaScript! (hash literal string)

  •   available in all kinds of server frameworks
Frameworks
• Browser wars SUCK IT!
 •   inconsistency everywhere

     •   even different versions of the same browsers

• Frameworks abstract the differences
 •   pave over the inconsistencies

 •   SO MANY!! TOO MANY!!
Venues
• JavaScript is Everywhere!
 • PDFs
 • Flash, AIR
 • Plugins - Adobe to ArcGIS
 • Embeddable - Node for Raspberry Pi
 • Apps - Phonegap and Appcellerator
Back Again on Servers


• Hello Node.js!
 • Chrome’s V8 JS Engine on a Server
Survey Time
Where are We Going Now?




Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Based on the Dec 2012 Annual JS Survey from DailyJS
Thanks Y’all

More Related Content

What's hot

Concurrent Programming in iOS
Concurrent Programming in iOSConcurrent Programming in iOS
Concurrent Programming in iOS
Sam Mejlumyan
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
Irfan Maulana
 
Building a Modern JavaScript Framework by James Milner
Building a Modern JavaScript Framework by James MilnerBuilding a Modern JavaScript Framework by James Milner
Building a Modern JavaScript Framework by James Milner
dylanks
 
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
 Node.js server side render in the Age of APIs - Full Stack Toronto 2017 Node.js server side render in the Age of APIs - Full Stack Toronto 2017
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
Ruy Adorno
 
Modern ClojureScript
Modern ClojureScriptModern ClojureScript
Modern ClojureScript
Wen Chun Lin
 
Back to the future with static site generators
Back to the future with static site generatorsBack to the future with static site generators
Back to the future with static site generators
Chris Ward
 
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users Group
Peter A. Pirc
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
Vinci Rufus
 
Essential ElixirScript - Roman Senin
Essential ElixirScript - Roman SeninEssential ElixirScript - Roman Senin
Essential ElixirScript - Roman Senin
Elixir Club
 
React Native from Scratch | Session 01
React Native from Scratch | Session 01React Native from Scratch | Session 01
React Native from Scratch | Session 01
Amir Ahangari
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
 
CLJS Presentation
CLJS PresentationCLJS Presentation
CLJS Presentation
Žilvinas Urbonas
 
WordPress Development Environments
WordPress Development EnvironmentsWordPress Development Environments
WordPress Development Environments
Josh Cummings
 
JavaScript: Past, Present, Future
JavaScript: Past, Present, FutureJavaScript: Past, Present, Future
JavaScript: Past, Present, Future
Jungryul Choi
 
React.js and Flux in details
React.js and Flux in detailsReact.js and Flux in details
React.js and Flux in details
Artyom Trityak
 
remodel your persistence layer
remodel your persistence layerremodel your persistence layer
remodel your persistence layer
Tim Lossen
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
Foyzul Karim
 

What's hot (17)

Concurrent Programming in iOS
Concurrent Programming in iOSConcurrent Programming in iOS
Concurrent Programming in iOS
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
 
Building a Modern JavaScript Framework by James Milner
Building a Modern JavaScript Framework by James MilnerBuilding a Modern JavaScript Framework by James Milner
Building a Modern JavaScript Framework by James Milner
 
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
 Node.js server side render in the Age of APIs - Full Stack Toronto 2017 Node.js server side render in the Age of APIs - Full Stack Toronto 2017
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
 
Modern ClojureScript
Modern ClojureScriptModern ClojureScript
Modern ClojureScript
 
Back to the future with static site generators
Back to the future with static site generatorsBack to the future with static site generators
Back to the future with static site generators
 
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
Essential ElixirScript - Roman Senin
Essential ElixirScript - Roman SeninEssential ElixirScript - Roman Senin
Essential ElixirScript - Roman Senin
 
React Native from Scratch | Session 01
React Native from Scratch | Session 01React Native from Scratch | Session 01
React Native from Scratch | Session 01
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
CLJS Presentation
CLJS PresentationCLJS Presentation
CLJS Presentation
 
WordPress Development Environments
WordPress Development EnvironmentsWordPress Development Environments
WordPress Development Environments
 
JavaScript: Past, Present, Future
JavaScript: Past, Present, FutureJavaScript: Past, Present, Future
JavaScript: Past, Present, Future
 
React.js and Flux in details
React.js and Flux in detailsReact.js and Flux in details
React.js and Flux in details
 
remodel your persistence layer
remodel your persistence layerremodel your persistence layer
remodel your persistence layer
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
 

Viewers also liked

Features & benifits of ipv6 firewall
Features & benifits of ipv6 firewallFeatures & benifits of ipv6 firewall
Features & benifits of ipv6 firewall
Anthony Daniel
 
Check Point: Security in virtual environment
Check Point: Security in virtual environmentCheck Point: Security in virtual environment
Check Point: Security in virtual environmentASBIS SK
 
Telefonica i pv6_smartcity
Telefonica i pv6_smartcityTelefonica i pv6_smartcity
Telefonica i pv6_smartcity
CARLOS RALLI-UCENDO
 
Cisco IPv6 Tutorial
Cisco IPv6 TutorialCisco IPv6 Tutorial
Cisco IPv6 Tutorial
kriz5
 
IPv6
IPv6IPv6

Viewers also liked (6)

Features & benifits of ipv6 firewall
Features & benifits of ipv6 firewallFeatures & benifits of ipv6 firewall
Features & benifits of ipv6 firewall
 
Check Point: Security in virtual environment
Check Point: Security in virtual environmentCheck Point: Security in virtual environment
Check Point: Security in virtual environment
 
IPv6
IPv6IPv6
IPv6
 
Telefonica i pv6_smartcity
Telefonica i pv6_smartcityTelefonica i pv6_smartcity
Telefonica i pv6_smartcity
 
Cisco IPv6 Tutorial
Cisco IPv6 TutorialCisco IPv6 Tutorial
Cisco IPv6 Tutorial
 
IPv6
IPv6IPv6
IPv6
 

Similar to JavaScript State of the Union - Jan 2013

Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a time
Einar Ingebrigtsen
 
Web technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs appsWeb technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs appsDarko Kukovec
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
Jamal Sinclair O'Garro
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
Alexandre Morgaut
 
The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1
Haci Murat Yaman
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
Oscar Renalias
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
Jakub Wadolowski
 
Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)
brendankowitz
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJSTim Sommer
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
visual28
 
React Native
React NativeReact Native
React Native
Huqiu Liao
 
CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)
cadorn
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeAlexandre Morgaut
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
Habilelabs
 
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG RomaJava 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Vitalij Zadneprovskij
 

Similar to JavaScript State of the Union - Jan 2013 (20)

20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Sugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a timeSugarcoating your frontend one ViewModel at a time
Sugarcoating your frontend one ViewModel at a time
 
Web technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs appsWeb technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs apps
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
 
The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1
 
Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014Next-generation JavaScript - OpenSlava 2014
Next-generation JavaScript - OpenSlava 2014
 
End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
 
Node ts1
Node ts1Node ts1
Node ts1
 
Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)Going offline with JS (DDD Sydney)
Going offline with JS (DDD Sydney)
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
React Native
React NativeReact Native
React Native
 
CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)CommonJS Everywhere (Wakanday 2011)
CommonJS Everywhere (Wakanday 2011)
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
 
Node
NodeNode
Node
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG RomaJava 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
 

More from Kentucky JavaScript Users Group

Serverless GraphQL with AWS AppSync & AWS Amplify
Serverless GraphQL with AWS AppSync & AWS AmplifyServerless GraphQL with AWS AppSync & AWS Amplify
Serverless GraphQL with AWS AppSync & AWS Amplify
Kentucky JavaScript Users Group
 
CQRS and Event Sourcing
CQRS and Event SourcingCQRS and Event Sourcing
CQRS and Event Sourcing
Kentucky JavaScript Users Group
 
A Rubyist Tries AngularJS
A Rubyist Tries AngularJSA Rubyist Tries AngularJS
A Rubyist Tries AngularJS
Kentucky JavaScript Users Group
 
Intro to Three.js
Intro to Three.jsIntro to Three.js
PhoneGap - JavaScript for Mobile Apps
PhoneGap - JavaScript for Mobile AppsPhoneGap - JavaScript for Mobile Apps
PhoneGap - JavaScript for Mobile Apps
Kentucky JavaScript Users Group
 
An Intro to AngularJS
An Intro to AngularJSAn Intro to AngularJS
An Intro to AngularJS
Kentucky JavaScript Users Group
 
Node and SocketIO
Node and SocketIONode and SocketIO
Node.js Introduction
Node.js IntroductionNode.js Introduction
Node.js Introduction
Kentucky JavaScript Users Group
 
Underscore and Backbone Models
Underscore and Backbone ModelsUnderscore and Backbone Models
Underscore and Backbone Models
Kentucky JavaScript Users Group
 

More from Kentucky JavaScript Users Group (9)

Serverless GraphQL with AWS AppSync & AWS Amplify
Serverless GraphQL with AWS AppSync & AWS AmplifyServerless GraphQL with AWS AppSync & AWS Amplify
Serverless GraphQL with AWS AppSync & AWS Amplify
 
CQRS and Event Sourcing
CQRS and Event SourcingCQRS and Event Sourcing
CQRS and Event Sourcing
 
A Rubyist Tries AngularJS
A Rubyist Tries AngularJSA Rubyist Tries AngularJS
A Rubyist Tries AngularJS
 
Intro to Three.js
Intro to Three.jsIntro to Three.js
Intro to Three.js
 
PhoneGap - JavaScript for Mobile Apps
PhoneGap - JavaScript for Mobile AppsPhoneGap - JavaScript for Mobile Apps
PhoneGap - JavaScript for Mobile Apps
 
An Intro to AngularJS
An Intro to AngularJSAn Intro to AngularJS
An Intro to AngularJS
 
Node and SocketIO
Node and SocketIONode and SocketIO
Node and SocketIO
 
Node.js Introduction
Node.js IntroductionNode.js Introduction
Node.js Introduction
 
Underscore and Backbone Models
Underscore and Backbone ModelsUnderscore and Backbone Models
Underscore and Backbone Models
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

JavaScript State of the Union - Jan 2013

  • 2. Roots • 1995: Netscape 2.0 • introduced JavaScript • also frames: woo hoo! • orginally called Mocha, then LiveScript • also originally ran on Netscape’s web servers
  • 3. AJAX • 1999 - IE5 • Browser wars! • From MS JScript Implementation • XMLHttpRequest
  • 4. JSON • JavaScript Object Notation • introduced in 2002 as a competitor to XML • JavaScript to transfer raw data • easy to create and include (via script tag) • its real JavaScript! (hash literal string) • available in all kinds of server frameworks
  • 5. Frameworks • Browser wars SUCK IT! • inconsistency everywhere • even different versions of the same browsers • Frameworks abstract the differences • pave over the inconsistencies • SO MANY!! TOO MANY!!
  • 6. Venues • JavaScript is Everywhere! • PDFs • Flash, AIR • Plugins - Adobe to ArcGIS • Embeddable - Node for Raspberry Pi • Apps - Phonegap and Appcellerator
  • 7. Back Again on Servers • Hello Node.js! • Chrome’s V8 JS Engine on a Server
  • 8. Survey Time Where are We Going Now? Based on the Dec 2012 Annual JS Survey from DailyJS
  • 9. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 10. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 11. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 12. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 13. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 14. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 15. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 16. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 17. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 18. Based on the Dec 2012 Annual JS Survey from DailyJS
  • 19. Based on the Dec 2012 Annual JS Survey from DailyJS

Editor's Notes

  1. Created by Brendan Eich - current CTO of mozilla corporation
  2. JSON format was originally specified by Douglas Crockford in 2001 - JSON.org in 2002
  3. PROTO: Sam Stephenson in February 2005 as part of the foundation for Ajax support in Ruby on Rails JQUERY: January 2006 at BarCamp NYC b y John Resig SO MANY: e.g. Firmi n - A JS animation library using CSS transforms and transitions
  4. Node.js was created by Ryan Dahl starting in 2009, and its growth is sponsored by Joyent , his former employer
  5. How long have you worked with JavaScript?What type of JavaScript do you write: Browser, Server, Other (pdf, plugins, phonegap)?If you write server-based js, what implementation(s) do you use?Do you use jQuery? Do you use other frameworks? Which ones?Which compile-to-JavaScript (e.g. CoffeeScript) languages do you use, if any?Do you unit test your JavaScript? What unit testing libraries do you use?Do you use any tools for verifying code quality? Which ones?Which minifier do you use, if any?Where do you find reusable code, libraries and tools?What is your preferred hosting for your own JavaScript projects?Which CDN service do you use to serve third-party libraries, if any?Which module loading system do you use, if any?What is your preferred client-side debugger, if any?What is your preferred server-side debugger, if any?Do you do benchmarking? What tools do you use?What JavaScript stylistic choices do you prefer? Semicolons: Yes | No Commas: Beginning | End Method names followed by: No spaces | One space | Two spaces Indentation: Spaces | Tabs | WhateverOther than JavaScript, what are your primary development languages?