SlideShare a Scribd company logo
Evolution of JavaScript
“ Java is to JavaScript as Car is to Carpet”
- Chris Heilmann
the early days of JavaScript
• a dynamic scripting language
• kind of quirky but lots of features.
• introduced by Netscape to have a language that can run client side
code in a browser.
• has absolutely nothing to do with the Java language.
• they share similar syntax both derived from the "C" style of
languages.
• Microsoft entered with their "compatible implementation" called
"Jscript"
AJAX - Asynchronous JavaScript and XML
• used to send data from client to server you would post a
form or click a link with data. browser would then load a
whole new page. effective but real fast and not real efficient.
• can use XML with AJAX but it's not required, and today very
few do, most developers today just use JSON.
AJAX - Asynchronous JavaScript and XML
• along came XMLHttpRequest, this allowed JavaScript to
send and receive data in the background.
• using DHMTL along with AJAX allowed the script to only
update portions of a page to reflect the new data.
• it took years for XMLHttpRequest to standardize across
browsers to the point where it was widely used.
• first apps using cross browser Ajax Gmail (2004) and Google
Maps (2005)
JSON - JavaScript Object Notation
• a text-based format for data exchange
• mechanism for encoding data as text
• similar to XML in a way that is readable by humans and parsable by
computers
• more compact and lighter weight than XML
• has fewer features does not support things like meta-data or
attributes.
• yahoo began to offer Web Services in JSON 2005
• Google started offering JSON feeds of GData web protocol in 2006
JQuery
• a framework
• a DOM manipulation library
• circa 2006, an open source JavaScript library for client side
development
• allows the developer to find and manipulate elements of document
far easier than anything before
• smooth's over browser incompatibilities so that browser can be
treated mostly the same.
• simplifies HTML document traversing
JQuery
• JQuery's tag line is "Write Less Do More"
• Suddenly client-side code was small and concise and working in
almost ever browser
• ability to reduce client-side code
• now worth the effort to start moving functionality from the server to
the client
JQuery
• One of the most successful and widely adopted libraries around
• Estimated by Wikipedia to be used by 65% of the 10,000 most visited
web sites.
change the background color of a body tag
JavaScript
Function changeBackground(color){
Document.body.style.background = color;
}
Onload="changeBackground('red');
JQuery
$('body').css('background','#ccc');
Post JQuery - frameworks
• JQuery and AJAX let web developers do more with JavaScript, and
generated a lot of new frameworks
• CoffeScript: a programming language that transcompiles to JavaScript
• large following in Ruby community
• CoffeeScript support is included in Ruby on Rails
Post JQuery - frameworks
• Frameworks: offers developers client-side MVC, templating and
databinding on the client side.
• Knockout.js
• AngularJS
• JavaScriptMVC
• Backbone.js
• Ember.js
why use client-side MVC frameworks?
• It's all about balance.
• finding the right balance between server and client
• good candidates for use in SPA (single page applications)
templating
• AngularJS
• HTML binding expression baked-in
• Ember
• uses Handlebars template engine, extension of Mustache.js
• Backbone
• integrated with third party template default choice is Underscore
Angular templating example
In Angular when we reference template I would mean the view of the HTML
enriched by the various Angular directives and the markup used for data
binding (the expression in double curly braces {{}}).
We can go a step further and not only regard a whole HTML document as a
template but also any HTML fragment, often referred to as partials.
templating example
an Angular template example to display the full name of every person in a
simple list
<body ng-app="myApp">
<div ng-controller="PersonCtrl">
<div ng-repeat="person in persons">
{{person.last}}, {{person.first}} {{person.middle}}
</div>
</div>
</body>
popular community facts
Post JQuery - to the server
• Node.js
• a different animal entirely.
• server side application using JavaScript
• used to create lightweight HTTP server applications such as Web
services that do support client-side code.
a little humor
Evolution of java script libraries
Evolution of java script libraries
Ad

More Related Content

What's hot (20)

LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
Praveen Gubbala
 
MEAN stack
MEAN stackMEAN stack
MEAN stack
Iryney Baran
 
Mern stack developement
Mern stack developementMern stack developement
Mern stack developement
kalyankumar836878
 
[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
 
The Evolution Of JavaScript
The Evolution Of JavaScriptThe Evolution Of JavaScript
The Evolution Of JavaScript
Mostafa Zaki
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
Valeri Karpov
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
Domingo Suarez Torres
 
Mean PPT
Mean PPTMean PPT
Mean PPT
Harendra Singh Bisht
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
Md. Ziaul Haq
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
Avinash Kaza
 
Kick start your journey as mern stack developer
Kick start your journey as mern stack developerKick start your journey as mern stack developer
Kick start your journey as mern stack developer
ShrutiPanjwani1
 
Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack
Yoann Gotthilf
 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?
Netlight Consulting
 
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Mike Hale
 
Javascript Frameworks Comparison
Javascript Frameworks ComparisonJavascript Frameworks Comparison
Javascript Frameworks Comparison
Deepu S Nath
 
Web Assembly (W3C TPAC presentation)
Web Assembly (W3C TPAC presentation)Web Assembly (W3C TPAC presentation)
Web Assembly (W3C TPAC presentation)
Kenneth Rohde Christiansen
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
FITC
 
Web assembly - Future of the Web
Web assembly - Future of the WebWeb assembly - Future of the Web
Web assembly - Future of the Web
CodeValue
 
Introduction to JS frameworks
Introduction to JS frameworksIntroduction to JS frameworks
Introduction to JS frameworks
Deepu S Nath
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
Praveen Gubbala
 
[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
 
The Evolution Of JavaScript
The Evolution Of JavaScriptThe Evolution Of JavaScript
The Evolution Of JavaScript
Mostafa Zaki
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
Valeri Karpov
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
Avinash Kaza
 
Kick start your journey as mern stack developer
Kick start your journey as mern stack developerKick start your journey as mern stack developer
Kick start your journey as mern stack developer
ShrutiPanjwani1
 
Introduction to the MEAN stack
Introduction to the MEAN stackIntroduction to the MEAN stack
Introduction to the MEAN stack
Yoann Gotthilf
 
What is a good technology stack today?
What is a good technology stack today?What is a good technology stack today?
What is a good technology stack today?
Netlight Consulting
 
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Mike Hale
 
Javascript Frameworks Comparison
Javascript Frameworks ComparisonJavascript Frameworks Comparison
Javascript Frameworks Comparison
Deepu S Nath
 
Building your first MEAN application
Building your first MEAN applicationBuilding your first MEAN application
Building your first MEAN application
FITC
 
Web assembly - Future of the Web
Web assembly - Future of the WebWeb assembly - Future of the Web
Web assembly - Future of the Web
CodeValue
 
Introduction to JS frameworks
Introduction to JS frameworksIntroduction to JS frameworks
Introduction to JS frameworks
Deepu S Nath
 

Similar to Evolution of java script libraries (20)

Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
Alan Hecht
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
Pedro Melo Pereira
 
Ajax for-coldfusion-developers
Ajax for-coldfusion-developersAjax for-coldfusion-developers
Ajax for-coldfusion-developers
Sudhakar Ganta
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovation
Marakana Inc.
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
Bharat_Kumawat
 
JavaScript!
JavaScript!JavaScript!
JavaScript!
RTigger
 
Drupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQueryDrupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQuery
Matt Butcher
 
08 ajax
08 ajax08 ajax
08 ajax
Ynon Perek
 
Jquery beltranhomewrok
Jquery beltranhomewrokJquery beltranhomewrok
Jquery beltranhomewrok
Catherine Beltran
 
Jquery beltranhomewrok
Jquery beltranhomewrokJquery beltranhomewrok
Jquery beltranhomewrok
Catherine Beltran
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
jbandi
 
Donation Website.pptx
Donation Website.pptxDonation Website.pptx
Donation Website.pptx
ssuser5c1807
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
Diacode
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
Wan Leung Wong
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
jeresig
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
Kat Roque
 
Ajax
AjaxAjax
Ajax
Tech_MX
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
jeresig
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
ASG
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
Alan Hecht
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
Pedro Melo Pereira
 
Ajax for-coldfusion-developers
Ajax for-coldfusion-developersAjax for-coldfusion-developers
Ajax for-coldfusion-developers
Sudhakar Ganta
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovation
Marakana Inc.
 
JavaScript!
JavaScript!JavaScript!
JavaScript!
RTigger
 
Drupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQueryDrupal 6 JavaScript and jQuery
Drupal 6 JavaScript and jQuery
Matt Butcher
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
jbandi
 
Donation Website.pptx
Donation Website.pptxDonation Website.pptx
Donation Website.pptx
ssuser5c1807
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
Diacode
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
Wan Leung Wong
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
jeresig
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
Kat Roque
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
jeresig
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
ASG
 
Ad

Recently uploaded (20)

plataforma virtual E learning y sus características.pdf
plataforma virtual E learning y sus características.pdfplataforma virtual E learning y sus características.pdf
plataforma virtual E learning y sus características.pdf
valdiviesovaleriamis
 
an overview of information systems .ppt
an overview of  information systems .pptan overview of  information systems .ppt
an overview of information systems .ppt
DominicWaweru
 
Save TikTok Video Without Watermark - Tikcd
Save TikTok Video Without Watermark - TikcdSave TikTok Video Without Watermark - Tikcd
Save TikTok Video Without Watermark - Tikcd
Tikcd
 
Regional Development for an Open, Stable, and Secure Internet
Regional Development for an Open, Stable, and Secure InternetRegional Development for an Open, Stable, and Secure Internet
Regional Development for an Open, Stable, and Secure Internet
APNIC
 
Paper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdfPaper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdf
Steven McGee
 
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCONJava developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Jago de Vreede
 
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIATAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN 99
 
35 Must-Have WordPress Plugins to Power Your Website in 2025
35 Must-Have WordPress Plugins to Power Your Website in 202535 Must-Have WordPress Plugins to Power Your Website in 2025
35 Must-Have WordPress Plugins to Power Your Website in 2025
steve198109
 
introduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.pptintroduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.ppt
SherifElGohary7
 
Enums In the Wild at PHP[tek] Conference 2025
Enums In the Wild at PHP[tek] Conference 2025Enums In the Wild at PHP[tek] Conference 2025
Enums In the Wild at PHP[tek] Conference 2025
Dana Luther
 
OS-deadlock detection and recovery with additional features.ppt
OS-deadlock detection and recovery with additional features.pptOS-deadlock detection and recovery with additional features.ppt
OS-deadlock detection and recovery with additional features.ppt
Mangala R
 
Big_fat_report_from Kaspersky_IR_Report_2024.pdf
Big_fat_report_from Kaspersky_IR_Report_2024.pdfBig_fat_report_from Kaspersky_IR_Report_2024.pdf
Big_fat_report_from Kaspersky_IR_Report_2024.pdf
avreyjeyson
 
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdfWeb3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Michael Lesniak
 
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness GuideThe Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
russellpeter1995
 
30 Best WooCommerce Plugins to Boost Your Online Store in 2025
30 Best WooCommerce Plugins to Boost Your Online Store in 202530 Best WooCommerce Plugins to Boost Your Online Store in 2025
30 Best WooCommerce Plugins to Boost Your Online Store in 2025
steve198109
 
Prop-154: Resizing of IPv4 assignments for IXPs
Prop-154: Resizing of IPv4 assignments for IXPsProp-154: Resizing of IPv4 assignments for IXPs
Prop-154: Resizing of IPv4 assignments for IXPs
APNIC
 
hy 2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
hy  2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvshy  2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
hy 2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
saimahadeshdigikit
 
The AI Research Showdown: Perplexity vs Gemini
The AI Research Showdown: Perplexity vs GeminiThe AI Research Showdown: Perplexity vs Gemini
The AI Research Showdown: Perplexity vs Gemini
Abel Akara Ticha
 
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdfGiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
Giacomo Vacca
 
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
werhkr1
 
plataforma virtual E learning y sus características.pdf
plataforma virtual E learning y sus características.pdfplataforma virtual E learning y sus características.pdf
plataforma virtual E learning y sus características.pdf
valdiviesovaleriamis
 
an overview of information systems .ppt
an overview of  information systems .pptan overview of  information systems .ppt
an overview of information systems .ppt
DominicWaweru
 
Save TikTok Video Without Watermark - Tikcd
Save TikTok Video Without Watermark - TikcdSave TikTok Video Without Watermark - Tikcd
Save TikTok Video Without Watermark - Tikcd
Tikcd
 
Regional Development for an Open, Stable, and Secure Internet
Regional Development for an Open, Stable, and Secure InternetRegional Development for an Open, Stable, and Secure Internet
Regional Development for an Open, Stable, and Secure Internet
APNIC
 
Paper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdfPaper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdf
Steven McGee
 
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCONJava developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Java developer-friendly frontends: Build UIs without the JavaScript hassle- JCON
Jago de Vreede
 
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIATAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN99 PUSAT GAME AMAN DAN TERGACOR SE ASIA
TAIPAN 99
 
35 Must-Have WordPress Plugins to Power Your Website in 2025
35 Must-Have WordPress Plugins to Power Your Website in 202535 Must-Have WordPress Plugins to Power Your Website in 2025
35 Must-Have WordPress Plugins to Power Your Website in 2025
steve198109
 
introduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.pptintroduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.ppt
SherifElGohary7
 
Enums In the Wild at PHP[tek] Conference 2025
Enums In the Wild at PHP[tek] Conference 2025Enums In the Wild at PHP[tek] Conference 2025
Enums In the Wild at PHP[tek] Conference 2025
Dana Luther
 
OS-deadlock detection and recovery with additional features.ppt
OS-deadlock detection and recovery with additional features.pptOS-deadlock detection and recovery with additional features.ppt
OS-deadlock detection and recovery with additional features.ppt
Mangala R
 
Big_fat_report_from Kaspersky_IR_Report_2024.pdf
Big_fat_report_from Kaspersky_IR_Report_2024.pdfBig_fat_report_from Kaspersky_IR_Report_2024.pdf
Big_fat_report_from Kaspersky_IR_Report_2024.pdf
avreyjeyson
 
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdfWeb3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Web3_Metaverse_Foundations - DTW Coppenhagen - FINAL - 230919.pdf
Michael Lesniak
 
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness GuideThe Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
russellpeter1995
 
30 Best WooCommerce Plugins to Boost Your Online Store in 2025
30 Best WooCommerce Plugins to Boost Your Online Store in 202530 Best WooCommerce Plugins to Boost Your Online Store in 2025
30 Best WooCommerce Plugins to Boost Your Online Store in 2025
steve198109
 
Prop-154: Resizing of IPv4 assignments for IXPs
Prop-154: Resizing of IPv4 assignments for IXPsProp-154: Resizing of IPv4 assignments for IXPs
Prop-154: Resizing of IPv4 assignments for IXPs
APNIC
 
hy 2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
hy  2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvshy  2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
hy 2wdduv.pptxdcsvdbjdvbjhdvbjhdbvjhvdsvs
saimahadeshdigikit
 
The AI Research Showdown: Perplexity vs Gemini
The AI Research Showdown: Perplexity vs GeminiThe AI Research Showdown: Perplexity vs Gemini
The AI Research Showdown: Perplexity vs Gemini
Abel Akara Ticha
 
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdfGiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
Giacomo Vacca
 
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
werhkr1
 
Ad

Evolution of java script libraries

  • 1. Evolution of JavaScript “ Java is to JavaScript as Car is to Carpet” - Chris Heilmann
  • 2. the early days of JavaScript • a dynamic scripting language • kind of quirky but lots of features. • introduced by Netscape to have a language that can run client side code in a browser. • has absolutely nothing to do with the Java language. • they share similar syntax both derived from the "C" style of languages. • Microsoft entered with their "compatible implementation" called "Jscript"
  • 3. AJAX - Asynchronous JavaScript and XML • used to send data from client to server you would post a form or click a link with data. browser would then load a whole new page. effective but real fast and not real efficient. • can use XML with AJAX but it's not required, and today very few do, most developers today just use JSON.
  • 4. AJAX - Asynchronous JavaScript and XML • along came XMLHttpRequest, this allowed JavaScript to send and receive data in the background. • using DHMTL along with AJAX allowed the script to only update portions of a page to reflect the new data. • it took years for XMLHttpRequest to standardize across browsers to the point where it was widely used. • first apps using cross browser Ajax Gmail (2004) and Google Maps (2005)
  • 5. JSON - JavaScript Object Notation • a text-based format for data exchange • mechanism for encoding data as text • similar to XML in a way that is readable by humans and parsable by computers • more compact and lighter weight than XML • has fewer features does not support things like meta-data or attributes. • yahoo began to offer Web Services in JSON 2005 • Google started offering JSON feeds of GData web protocol in 2006
  • 6. JQuery • a framework • a DOM manipulation library • circa 2006, an open source JavaScript library for client side development • allows the developer to find and manipulate elements of document far easier than anything before • smooth's over browser incompatibilities so that browser can be treated mostly the same. • simplifies HTML document traversing
  • 7. JQuery • JQuery's tag line is "Write Less Do More" • Suddenly client-side code was small and concise and working in almost ever browser • ability to reduce client-side code • now worth the effort to start moving functionality from the server to the client
  • 8. JQuery • One of the most successful and widely adopted libraries around • Estimated by Wikipedia to be used by 65% of the 10,000 most visited web sites.
  • 9. change the background color of a body tag JavaScript Function changeBackground(color){ Document.body.style.background = color; } Onload="changeBackground('red'); JQuery $('body').css('background','#ccc');
  • 10. Post JQuery - frameworks • JQuery and AJAX let web developers do more with JavaScript, and generated a lot of new frameworks • CoffeScript: a programming language that transcompiles to JavaScript • large following in Ruby community • CoffeeScript support is included in Ruby on Rails
  • 11. Post JQuery - frameworks • Frameworks: offers developers client-side MVC, templating and databinding on the client side. • Knockout.js • AngularJS • JavaScriptMVC • Backbone.js • Ember.js
  • 12. why use client-side MVC frameworks? • It's all about balance. • finding the right balance between server and client • good candidates for use in SPA (single page applications)
  • 13. templating • AngularJS • HTML binding expression baked-in • Ember • uses Handlebars template engine, extension of Mustache.js • Backbone • integrated with third party template default choice is Underscore
  • 14. Angular templating example In Angular when we reference template I would mean the view of the HTML enriched by the various Angular directives and the markup used for data binding (the expression in double curly braces {{}}). We can go a step further and not only regard a whole HTML document as a template but also any HTML fragment, often referred to as partials.
  • 15. templating example an Angular template example to display the full name of every person in a simple list <body ng-app="myApp"> <div ng-controller="PersonCtrl"> <div ng-repeat="person in persons"> {{person.last}}, {{person.first}} {{person.middle}} </div> </div> </body>
  • 17. Post JQuery - to the server • Node.js • a different animal entirely. • server side application using JavaScript • used to create lightweight HTTP server applications such as Web services that do support client-side code.
  翻译: