SlideShare a Scribd company logo
1 of 76
Download to read offline
JavaScript APIs
     HTML5

                Remy Sharp
                      @rem
             standards.next
JavaScript APIs
  HTML5 & friends!

                 Remy Sharp
                       @rem
              standards.next
HTML5: 2022?
Bollocks.
APIs
•Canvas           •Geolocation
•Drag & Drop      •Local Storage
•History          •Selectors
•Inline Editing   •Server Events
•Messaging        •Web Sockets
•Of ine Apps      •Workers
•Video & Audio
APIs
•Canvas           •Geolocation
•Drag & Drop      •Local Storage
•History          •Selectors
•Inline Editing   •Server Events
•Messaging        •Web Sockets
•Of ine Apps      •Workers
•Video & Audio
APIs
•Canvas           •Geolocation
•Drag & Drop      •Local Storage
•History          •Selectors
•Inline Editing   •Server Events
•Messaging        •Web Sockets
•Of ine Apps      •Workers
•Video & Audio
APIs
•Canvas           •Geolocation
•Drag & Drop      •Local Storage
•History          •Selectors
•Inline Editing   •Server Events
•Messaging        •Web Sockets
•Of ine Apps      •Workers
•Video & Audio
APIs
•Canvas           •Geolocation
•Drag & Drop?     •Local Storage
•History          •Selectors
•Inline Editing   •Server Events
•Messaging        •Web Sockets
•Of ine Apps      •Workers
•Video & Audio
Documentation
www.whatwg.org/html5/

dev.w3.org/html5/

irc://irc.freenode.net/#whatwg
Canvas
Canvas
document.querySelector('canvas').getContext("2d")

       http://tr.im/pRkz
document.querySelector('canvas').getContext("2d")

       http://tr.im/pRkz
Drag'n Drop
Drag'n Drop
Drag & Drop

•draggable="true"
•events: dragstart, drop, etc
•event.transferData
<div draggable="true">drag me</div>
<script>
document.querySelector('div').addEventListener(
"dragstart",
function (e) {
  e.dataTransfer.setData("arbitrary","data");
  return true;
},
true);
</script>
<div draggable="true">drag me</div>
<script>
document.querySelector('div').addEventListener(
"dragstart",
function (e) {                        ???
  e.dataTransfer.setData("arbitrary","data");
  return true;
},
true);
</script>
el.addEventListener('dragover', function (e) {
  e.preventDefault();
}, true);


el.addEventListener('drop', function (e) {
  e.stopPropagation();
  alert(e.dataTransfer.getData('arbitrary'));
}, true);
el.addEventListener('dragover', function (e) {
  e.preventDefault();
}, true);


el.addEventListener('drop', function (e) {
  e.stopPropagation();
  alert(e.dataTransfer.getData('arbitrary'));
}, true);
el.addEventListener('dragover', function (e) {
  e.preventDefault();
}, true);


el.addEventListener('drop', function (e) {
  e.stopPropagation();
  alert(e.dataTransfer.getData('arbitrary'));
}, true);
http://html5demos.com/drag
http://html5demos.com/drag
Of ine Applications
Of ine Applications
Of ine Apps


•Application cache
•Events: of ine, online
•navigator.onLine property
Enable

<html
manifest="my.manifest"
>
my.manifest

CACHE MANIFEST
images/shade.jpg
images/bin.jpg
Cache

•First line: CACHE MANIFEST
•Requires text/cache-manifest
•Recommend using versioning
•window.applicationCache
Cache

•On load will hit my.manifest
Cache

•On load will hit my.manifest
•Change manifest: trigger reload
Cache

•On load will hit my.manifest
•Change manifest: trigger reload
•applicationCache.update() force
Cache

•On load will hit my.manifest
•Change manifest: trigger reload
•applicationCache.update() force
•Cache events
Firefox
window.addEventListener(
 'offline', // online too
 online, // function
 true
);
function online() {
    if (navigator.onLine == false) {
        // gone offline
    } else {
        // else we're online
    }
}
http://html5demos.com/offline
http://html5demos.com/offline
navigator.onLine
Geolocation
Geolocation
Not always accurate!
navigator
  .geolocation
  .getCurrentPosition(
     success,
     err
  );
Messaging
Messaging
Messaging

•Communicate across domains
•Across window object
•With Workers
•String transfer only
.postMessage(str)

.onMessage(event)
  event.data == str
Cross Domain

document
 .getElementById("iframe")
 .contentWindow
 .postMessage("my message");
The Catcher
window.addEventListener(
  "message",
  function(e){
    if (e.origin !== "http://example.com") {
      return;
    }

     alert(e.origin + " said: " + e.data);
  },
  false
);
Web Workers
Web Workers
•Threads
•Threads
•Native or via Gears
•Threads
•Native or via Gears
•Sandboxed
•Threads
•Native or via Gears
•Sandboxed
•Debugging?
•importScripts
•postMessage
•onmessage
•onconnect
Without
http://html5demos.com/worker
Storage
Storage
1. sessionStorage
1. sessionStorage
2. localStorage
1. sessionStorage
2. localStorage
3. database storage
Storage

sessionStorage.setItem(key, value)
sessionStorage.getItem(key)
Storage

localStorage.setItem(key, value)
localStorage.getItem(key)
And more!


Remy
Sharp
@rem
remy@leftlogic.com

html5demos.com
remysharp.com
full-frontal.org

More Related Content

What's hot

Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011
Zi Bin Cheah
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
James Pearce
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Julien Lecomte
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 

What's hot (20)

Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011
 
Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
Building an HTML5 Video Player
Building an HTML5 Video PlayerBuilding an HTML5 Video Player
Building an HTML5 Video Player
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
HTML5
HTML5HTML5
HTML5
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
 
New Elements & Features in HTML5
New Elements & Features in HTML5New Elements & Features in HTML5
New Elements & Features in HTML5
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
Building mobile applications with DrupalGap
Building mobile applications with DrupalGapBuilding mobile applications with DrupalGap
Building mobile applications with DrupalGap
 

Viewers also liked

Open access survey
Open access surveyOpen access survey
Open access survey
Elsevier
 

Viewers also liked (16)

Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
Cultura de la Convergencia de Henry Jenkins
Cultura de la Convergencia de Henry JenkinsCultura de la Convergencia de Henry Jenkins
Cultura de la Convergencia de Henry Jenkins
 
Vacuna frente al meningococo b
Vacuna  frente al meningococo bVacuna  frente al meningococo b
Vacuna frente al meningococo b
 
Breaking Up with Bad Training - How to design learning people love
Breaking Up with Bad Training - How to design learning people loveBreaking Up with Bad Training - How to design learning people love
Breaking Up with Bad Training - How to design learning people love
 
Cv workshop cambridge connect
Cv workshop cambridge connectCv workshop cambridge connect
Cv workshop cambridge connect
 
CALENDARIO Infantil 1º
CALENDARIO Infantil 1ºCALENDARIO Infantil 1º
CALENDARIO Infantil 1º
 
Open access survey
Open access surveyOpen access survey
Open access survey
 
Sanità, finalmente si cambia: spesa sotto controllo, più qualità nelle cure, ...
Sanità, finalmente si cambia: spesa sotto controllo, più qualità nelle cure, ...Sanità, finalmente si cambia: spesa sotto controllo, più qualità nelle cure, ...
Sanità, finalmente si cambia: spesa sotto controllo, più qualità nelle cure, ...
 
New base 1015 special 29 march 2017 energy news
New base 1015 special 29 march 2017 energy newsNew base 1015 special 29 march 2017 energy news
New base 1015 special 29 march 2017 energy news
 
Calling out to Spirulina Growers- Join Spirulina.Network
Calling out to Spirulina Growers- Join Spirulina.NetworkCalling out to Spirulina Growers- Join Spirulina.Network
Calling out to Spirulina Growers- Join Spirulina.Network
 
How to report bugs
How to report bugsHow to report bugs
How to report bugs
 
Some-viestinnän kehitystrendit 2017 - Miten pysyä kehityksessä mukana?
Some-viestinnän kehitystrendit 2017 - Miten pysyä kehityksessä mukana?Some-viestinnän kehitystrendit 2017 - Miten pysyä kehityksessä mukana?
Some-viestinnän kehitystrendit 2017 - Miten pysyä kehityksessä mukana?
 
Vervoersplan 12/2017 > 2020: Brussels Hoofdstedelijk Gewest
Vervoersplan 12/2017 > 2020: Brussels Hoofdstedelijk GewestVervoersplan 12/2017 > 2020: Brussels Hoofdstedelijk Gewest
Vervoersplan 12/2017 > 2020: Brussels Hoofdstedelijk Gewest
 
Empowering and Enabling Teachers
Empowering and Enabling TeachersEmpowering and Enabling Teachers
Empowering and Enabling Teachers
 
Livre blanc adaptive learning domoscio
Livre blanc adaptive learning domoscioLivre blanc adaptive learning domoscio
Livre blanc adaptive learning domoscio
 
How to Crowdsource Product Feedback
How to Crowdsource Product FeedbackHow to Crowdsource Product Feedback
How to Crowdsource Product Feedback
 

Similar to HTML5 JS APIs

HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Esri Nederland
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
davyjones
 

Similar to HTML5 JS APIs (20)

APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
 
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
 
Txjs
TxjsTxjs
Txjs
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
HTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile appsHTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile apps
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
 
Yesplan: 10 Years later
Yesplan: 10 Years laterYesplan: 10 Years later
Yesplan: 10 Years later
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 
Groovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentationGroovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentation
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
How We Built a Mobile Electronic Health Record App Using Xamarin, Angular, an...
 
3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.3 Approaches to Mobile - An A to Z Primer.
3 Approaches to Mobile - An A to Z Primer.
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
 
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
Building Observable Applications w/ Node.js -- BayNode Meetup, March 2014
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 

More from Remy Sharp

Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
Remy Sharp
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
Remy Sharp
 
jQuery: out with the old, in with the new
jQuery: out with the old, in with the newjQuery: out with the old, in with the new
jQuery: out with the old, in with the new
Remy Sharp
 
HTML5: huh, what is it good for?
HTML5: huh, what is it good for?HTML5: huh, what is it good for?
HTML5: huh, what is it good for?
Remy Sharp
 

More from Remy Sharp (20)

HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Forget the Web
Forget the WebForget the Web
Forget the Web
 
Interaction Implementation
Interaction ImplementationInteraction Implementation
Interaction Implementation
 
jQuery: out with the old, in with the new
jQuery: out with the old, in with the newjQuery: out with the old, in with the new
jQuery: out with the old, in with the new
 
HTML5: huh, what is it good for?
HTML5: huh, what is it good for?HTML5: huh, what is it good for?
HTML5: huh, what is it good for?
 
HTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & socketsHTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & sockets
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for Mobile
 
Browsers with Wings
Browsers with WingsBrowsers with Wings
Browsers with Wings
 
Webapps without the web
Webapps without the webWebapps without the web
Webapps without the web
 
TwitterLib.js
TwitterLib.jsTwitterLib.js
TwitterLib.js
 
HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?
 
codebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIscodebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIs
 
HTML5 JavaScript APIs
HTML5 JavaScript APIsHTML5 JavaScript APIs
HTML5 JavaScript APIs
 
iPhone Appleless Apps
iPhone Appleless AppsiPhone Appleless Apps
iPhone Appleless Apps
 
jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do More
 
jQuery Loves Developers - SWDC2009
jQuery Loves Developers - SWDC2009jQuery Loves Developers - SWDC2009
jQuery Loves Developers - SWDC2009
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQuery
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

HTML5 JS APIs