SlideShare a Scribd company logo
1 of 28
JS Everywhere
Georgy Bunin
Agenda
● Current state of JS
● Motivation
● Where can I use JS?
● [...slides]
● Summary
Current state of JS
Javascript is most popular language on the world
https://madnight.github.io/githut/#/pull_requests/2020/3
Current state of JS
https://2019.stateofjs.com/overview/
Current state of JS
Motivation
Why?
● Hobby
● Pet project
● Learning
Where can I use JS? - Everywhere!
Web
Basic:
React, Angular, Vue, Vanilla JS, TypeScript
Less popular:
WebComponents, Svelte, Ember, Polymer, lit-html
Exotic:
Elm, ClojureScript (Closure), ReasonML (OCaml)
High Performance Web
asm.js:
https://developer.mozilla.org/en-
US/docs/Games/Tools/asm.js
WebAssembly:
https://engineering.q42.nl/webassembly/
Mobile
Native:
ReactNative, NativeScript
Hybrid:
Cordova, PhoneGap, Ionic, PWA
Adaptive web sites:
Angular, React, etc.
Desktop Application
Electron
(VSCode, Slack, Figma) - https://www.electronjs.org/apps
Node-webkit
https://nwjs.io/
Proton
https://proton-native.js.org/#/ (with React Syntax)
Testing and Software Automation
Testing
Unit, E2E, tools, selenium, cypress, puppeteer
Automation
ifttt, OS Scripting, CI, CD scripts, Selenium
Data processing
data scraping, parsers, OCR, format converters, task runners
Static content generators
Why
Blog, Docs, Notes, Readme, Wiki, Demos, Slides, Write your own book,
Podcast Show Notes
Tools
Hexo, Gatsby, Gitbook, Next.js, ReactStatic
Compare
https://www.staticgen.com/
Server frameworks
Popular:
Express, Koa, NestJS, HAPI
Less popular:
Meteor, MEAN
https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi
http://nodeframework.com/
Cloud (Serverless)
Function as a service (FaaS):
Google App Engine, AWS Lambda, Azure Functions, IBM Cloud Functions
Cloud DB
Firebase
Azure Data Lake
MLab (MongoDB Atlas)
Databases (JSON based)
JSON ⇒ JavaScript Object Notation
Databases:
MongoDb
Redis
CouchDB / PouchDB
RethinkDB
Server / CLI / Scripting
Basic:
Nodejs (V8), Deno
Advanced:
https://en.wikipedia.org/wiki/JavaScript_engine
https://github.com/a0viedo/demystifying-js-engines
https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
RealTime Data Streaming
Browser:
SSE / WebRTC
TCP based:
WebSocket / MQ (PubSub)
Queue
SQS (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/sqs-
examples-using-queues.html)
Cartography / GIS / GeoData
Most popular:
Google Maps, OpenStreetMaps, OpenLayers
Enterprise:
ESRI, ArcGIS, Cesium
Less popular:
Bing, Baidu, Leafletjs, Mapbox
https://medium.com/flatlogic/top-javascript-maps-api-and-libraries-162523cef967
https://en.wikipedia.org/wiki/Cartography
Data Visualization (ton of libraries)
Most common:
D3
Charts:
Amcharts,
Highcharts
Data table:
AgGrid, React-table, Material Table
https://en.wikipedia.org/wiki/Data_visualization
https://grafana.com/
IOT
C4I - command, control, communications, computers, and intelligence
Devices and sensors:
https://www.postscapes.com/javascript-and-the-internet-of-things/
https://iotjs.net/
https://analyticsindiamag.com/top-10-javascript-frameworks-to-use-in-your-iot-project/
https://blog.bitsrc.io/10-javascript-iot-libraries-to-use-in-your-next-projects-bef5f9136f83
https://www.iotforall.com/javascript-iot
https://en.wikipedia.org/wiki/Internet_of_Things
Web Bluetooth and Uri Shaked
Hardware / Robotics
● http://johnny-five.io/
● https://www.espruino.com/
● https://livebook.manning.com/book/javascript-on-things/chapter-1/
● https://www.smashingmagazine.com/2016/02/hardware-hacking-with-javascript-internet-of-things/
Interesting thing: JS in Cosmos
SpaceX Crew Dragon Touchscreen UI Uses JavaScript and Chromium
● https://fullstackfeed.com/spacex-crew-dragon-touchscreen-ui-uses-javascript-and-chromium/
● https://dev.to/realabbas/spacex-and-javascript-3d78
Virtual world (VR / AR)
WebVR
● https://webvr.info/
● https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/WebVR
● https://aframe.io/
● https://medium.com/@kristen.carter/build-your-next-ar-vr-web-app-using-javascript-32d3252e5756
● https://www.youtube.com/watch?v=_UsGt8KI6uk
AR
● https://www.argonjs.io/
● https://augmented.reality.news/news/free-open-source-javascript-solution-for-augmented-reality-
comes-life-mobile-0176311/
Gaming and physics engine
Physics Engine 2D (Canvas/SVG):
● https://brm.io/matter-js/
● https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser/Physics
● https://piqnt.com/planck.js/
● https://www.npmjs.com/search?q=physics%20engine
● https://blog.bitsrc.io/9-top-js-gaming-engines-and-libraries-for-2020-81707d9f095
3D (JS + WebGL):
● https://www.babylonjs.com/
● https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web
● https://threejs.org/
● http://webglsamples.org/
● https://www.creativebloq.com/3d/30-amazing-examples-webgl-action-6142954
● http://webglsamples.org/dynamic-cubemap/dynamic-cubemap.html
● https://www.awwwards.com/22-experimental-webgl-demo-examples.html
WebOS
Mobile:
Tizen (https://en.wikipedia.org/wiki/Tizen)
Laptop:
Chrome OS (https://en.wikipedia.org/wiki/Chrome_OS)
Embedded devices:
WebOS (https://www.webosose.org/)
Kiosk mode browser (Chrome / Edge)
https://docs.microsoft.com/en-us/deployedge/microsoft-edge-kiosk-mode
Motivation
Why?
● Hobby
● Pet project
● Learning
Summary
Is JS most popular language? Yes!
Where we can find JS - everywhere!
Thanks
questions?

More Related Content

Similar to Js everywhere (Georgy Bunin)

End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013Alexandre Morgaut
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruitingIhor Odynets
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS drupalcampest
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜Yuki Okada
 
Cape Cod Web Technology Meetup - 2
Cape Cod Web Technology Meetup - 2Cape Cod Web Technology Meetup - 2
Cape Cod Web Technology Meetup - 2Asher Martin
 
Why Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiWhy Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiJackson Tian
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.jsguileen
 
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
 
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJS
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJSMeteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJS
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJSJulio Antonio Mendonça de Marins
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJSModern Static Site with GatsbyJS
Modern Static Site with GatsbyJSRiza Fahmi
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsasync_io
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JSbrendankowitz
 
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.agup2009
 
Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Binary Studio
 
The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScriptOleg Podsechin
 

Similar to Js everywhere (Georgy Bunin) (20)

End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
Java Script recruiting
Java Script recruitingJava Script recruiting
Java Script recruiting
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Node.JS briefly introduced
Node.JS briefly introducedNode.JS briefly introduced
Node.JS briefly introduced
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Always on! ... or not?
Always on! ... or not?Always on! ... or not?
Always on! ... or not?
 
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
 
Cape Cod Web Technology Meetup - 2
Cape Cod Web Technology Meetup - 2Cape Cod Web Technology Meetup - 2
Cape Cod Web Technology Meetup - 2
 
Why Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiWhy Nodejs Guilin Shanghai
Why Nodejs Guilin Shanghai
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.js
 
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...
 
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJS
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJSMeteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJS
Meteoro de pegasuus! Desenvolvendo aplicações realtime com MeteorJS
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJSModern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
 
Node js
Node jsNode js
Node js
 
Practical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.jsPractical Use of MongoDB for Node.js
Practical Use of MongoDB for Node.js
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JS
 
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.
 
Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2
 
The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScript
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Js everywhere (Georgy Bunin)

  • 2. Agenda ● Current state of JS ● Motivation ● Where can I use JS? ● [...slides] ● Summary
  • 3. Current state of JS Javascript is most popular language on the world https://madnight.github.io/githut/#/pull_requests/2020/3
  • 6. Motivation Why? ● Hobby ● Pet project ● Learning
  • 7. Where can I use JS? - Everywhere!
  • 8. Web Basic: React, Angular, Vue, Vanilla JS, TypeScript Less popular: WebComponents, Svelte, Ember, Polymer, lit-html Exotic: Elm, ClojureScript (Closure), ReasonML (OCaml)
  • 10. Mobile Native: ReactNative, NativeScript Hybrid: Cordova, PhoneGap, Ionic, PWA Adaptive web sites: Angular, React, etc.
  • 11. Desktop Application Electron (VSCode, Slack, Figma) - https://www.electronjs.org/apps Node-webkit https://nwjs.io/ Proton https://proton-native.js.org/#/ (with React Syntax)
  • 12. Testing and Software Automation Testing Unit, E2E, tools, selenium, cypress, puppeteer Automation ifttt, OS Scripting, CI, CD scripts, Selenium Data processing data scraping, parsers, OCR, format converters, task runners
  • 13. Static content generators Why Blog, Docs, Notes, Readme, Wiki, Demos, Slides, Write your own book, Podcast Show Notes Tools Hexo, Gatsby, Gitbook, Next.js, ReactStatic Compare https://www.staticgen.com/
  • 14. Server frameworks Popular: Express, Koa, NestJS, HAPI Less popular: Meteor, MEAN https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi http://nodeframework.com/
  • 15. Cloud (Serverless) Function as a service (FaaS): Google App Engine, AWS Lambda, Azure Functions, IBM Cloud Functions Cloud DB Firebase Azure Data Lake MLab (MongoDB Atlas)
  • 16. Databases (JSON based) JSON ⇒ JavaScript Object Notation Databases: MongoDb Redis CouchDB / PouchDB RethinkDB
  • 17. Server / CLI / Scripting Basic: Nodejs (V8), Deno Advanced: https://en.wikipedia.org/wiki/JavaScript_engine https://github.com/a0viedo/demystifying-js-engines https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
  • 18. RealTime Data Streaming Browser: SSE / WebRTC TCP based: WebSocket / MQ (PubSub) Queue SQS (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/sqs- examples-using-queues.html)
  • 19. Cartography / GIS / GeoData Most popular: Google Maps, OpenStreetMaps, OpenLayers Enterprise: ESRI, ArcGIS, Cesium Less popular: Bing, Baidu, Leafletjs, Mapbox https://medium.com/flatlogic/top-javascript-maps-api-and-libraries-162523cef967 https://en.wikipedia.org/wiki/Cartography
  • 20. Data Visualization (ton of libraries) Most common: D3 Charts: Amcharts, Highcharts Data table: AgGrid, React-table, Material Table https://en.wikipedia.org/wiki/Data_visualization https://grafana.com/
  • 21. IOT C4I - command, control, communications, computers, and intelligence Devices and sensors: https://www.postscapes.com/javascript-and-the-internet-of-things/ https://iotjs.net/ https://analyticsindiamag.com/top-10-javascript-frameworks-to-use-in-your-iot-project/ https://blog.bitsrc.io/10-javascript-iot-libraries-to-use-in-your-next-projects-bef5f9136f83 https://www.iotforall.com/javascript-iot https://en.wikipedia.org/wiki/Internet_of_Things Web Bluetooth and Uri Shaked
  • 22. Hardware / Robotics ● http://johnny-five.io/ ● https://www.espruino.com/ ● https://livebook.manning.com/book/javascript-on-things/chapter-1/ ● https://www.smashingmagazine.com/2016/02/hardware-hacking-with-javascript-internet-of-things/ Interesting thing: JS in Cosmos SpaceX Crew Dragon Touchscreen UI Uses JavaScript and Chromium ● https://fullstackfeed.com/spacex-crew-dragon-touchscreen-ui-uses-javascript-and-chromium/ ● https://dev.to/realabbas/spacex-and-javascript-3d78
  • 23. Virtual world (VR / AR) WebVR ● https://webvr.info/ ● https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/WebVR ● https://aframe.io/ ● https://medium.com/@kristen.carter/build-your-next-ar-vr-web-app-using-javascript-32d3252e5756 ● https://www.youtube.com/watch?v=_UsGt8KI6uk AR ● https://www.argonjs.io/ ● https://augmented.reality.news/news/free-open-source-javascript-solution-for-augmented-reality- comes-life-mobile-0176311/
  • 24. Gaming and physics engine Physics Engine 2D (Canvas/SVG): ● https://brm.io/matter-js/ ● https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser/Physics ● https://piqnt.com/planck.js/ ● https://www.npmjs.com/search?q=physics%20engine ● https://blog.bitsrc.io/9-top-js-gaming-engines-and-libraries-for-2020-81707d9f095 3D (JS + WebGL): ● https://www.babylonjs.com/ ● https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web ● https://threejs.org/ ● http://webglsamples.org/ ● https://www.creativebloq.com/3d/30-amazing-examples-webgl-action-6142954 ● http://webglsamples.org/dynamic-cubemap/dynamic-cubemap.html ● https://www.awwwards.com/22-experimental-webgl-demo-examples.html
  • 25. WebOS Mobile: Tizen (https://en.wikipedia.org/wiki/Tizen) Laptop: Chrome OS (https://en.wikipedia.org/wiki/Chrome_OS) Embedded devices: WebOS (https://www.webosose.org/) Kiosk mode browser (Chrome / Edge) https://docs.microsoft.com/en-us/deployedge/microsoft-edge-kiosk-mode
  • 26. Motivation Why? ● Hobby ● Pet project ● Learning
  • 27. Summary Is JS most popular language? Yes! Where we can find JS - everywhere!

Editor's Notes

  1. תחביב
  2. תחביב