SlideShare a Scribd company logo
Front end.
Global domination.
by Andrii Vandakurov, tech lead
eleks.com
WebRTC API (Real-Time Communications)
Peer to peer connection ( RTCPeerConnection API )
WebRTC API (Real-Time Communications)
MediaStream API ( aka getUserMedia ) for video chats
Progressive web apps
Progressive Web Applications take advantage of new
technologies to bring the best of mobile sites and native
applications to users. They're reliable, fast, and engaging.
● Customisation ( web app manifest )
● Instant Loading ( service workers )
● Push notifications
● Add to home screen
● Secure
● Responsive
// manifest.json
{
"short_name": "Kinlan's Amaze App",
"name": "Amazing Application",
"icons": [
{
"src": "launcher-icon-3x.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "launcher-icon-4x.png",
"sizes": "192x192",
"type": "image/png"
}
],
"start_url": "/index.html",
"display": "fullscreen",
"orientation": "landscape"
}
Web App Manifest
Simple JSON file that gives you,
the developer, the ability to control
how your app appears to the user
in the areas that they would expect
to see apps (for example the
mobile home screen), direct what
the user can launch and, more
importantly, how they can launch it.
// index.html
<link rel="manifest" href="/manifest.json">
Adding a Splash screen for
installed web apps
Web App Manifest
Show some awesome splash screen while
you loading your assets and other stuff.
Push notifications
Service Workers
Service Worker is a script
that is run by your
browser in the
background, separate
from a web page,
opening the door to
features which don't
need a web page or user
interaction.
Offline mode
Service Workers
The reason this is such an exciting API is that it
allows you to support offline experiences, giving
developers complete control over what exactly
that experience is.
Before service worker there was one other API
that would give users an offline experience on
the web called App Cache. The major issue with
App Cache is the number of gotcha's that exist as
well as the design working particularly well for
single page web apps, but not for multi-page
sites. Service workers have been designed to
avoid these common pain points.
The Database that Syncs!
It enables applications to store data locally while offline, then synchronize
it with CouchDB and compatible servers when the application is back
online, keeping the user's data in sync no matter where they next login.
GraphQL
Is a query language created by Facebook in 2012 which provides
a common interface between the client and the server for data
fetching and manipulations.
// Response

{
"user" : {
"id": 3500401,
"name": "Jing Chen",
"isViewerFriend": true,
"profilePicture": {
"uri": "http://someurl.cdn/pic.jpg",
"width": 50,
"height": 50
}
}
}
// Request

{
user(id: 3500401) : {
id,
name,
isViewerFriend,
profilePicture(size: 50){
uri,
width,
height
}
}
}
Playground: http://graphql.nodaljs.com/
Server Side
Frameworks
With Electron, creating a desktop application for your company or idea is
easy. Initially developed for GitHub's Atom editor, Electron has since been
used to create applications by companies like Microsoft, Facebook, Slack,
and Docker.
Desktop apps
TV apps
Web apps built for webOS TV are
very similar to standard web
applications. Like the standard
web applications, you can create
web apps for webOS TV using
standards based web technologies
like HTML, CSS, and JavaScript.
Anyone with experience in building
web applications can easily start
developing web apps for webOS
TV.
Is the network of physical
objects—devices, vehicles,
buildings and other items—
embedded with electronics,
software, sensors, and network
connectivity that enables these
objects to collect and exchange
data.
[IOT] Internet of Things
Connect to real world!
[IOT] Artoo
Next generation ruby robotics framework with
support for 15 different platforms
require 'artoo'
// Then hook it up to your robot (in this case, a Sphero)
connection :sphero, adaptor: :sphero, port: '4560'
device :sphero, driver: :sphero
// And tell it what to do!
work do
every(3.seconds) do
puts "Rolling..."
sphero.roll 60, rand(360)
end
end
var Cylon = require("cylon");
Cylon.robot({
connections: {
arduino: {
adaptor: "firmata",
port: "/dev/ttyACM0"
}
},
devices: {
motor: { driver: "motor", pin: 3 }
},
work: function (my) {
var speed = 0,
increment = 5;
every((0.05).seconds(), function () {
speed += increment;
my.motor.speed(speed);
if ((speed === 0) || (speed === 255)) {
increment = -increment;
}
});
}
}).start();
[IOT] Cylon JS
JavaScript Robotics, Next generation
robotics framework with support for
43 different platforms Get Started
Links:
● History of the Web
● socket.io
● Desktop apps
● webrtc API
● pouchdb
● css blend mode
● TV
● WebComponents
● Progressive Web Apps
● Robots for Ruby devs (artoo)

More Related Content

Viewers also liked (20)

PDF
Q and a what do i look for in a 10 k
tpateraki
 
DOC
Fadi CV
fadi alzaben
 
DOCX
Final_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-Mainul
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
DOC
Fruit garden sub sector paln_RED
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
PDF
Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
PDF
TypeCoach-INTJ
Jennifer L. Hawthorne
 
PPTX
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Андрей Вандакуров
 
DOC
Market_Frame_work_of_Soyabean
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
PDF
Module_CLP-Markets-Staff-Training
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
DOCX
Kamrizzaman sir 4, 5 & 6 chapter, 5011
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
DOC
Poultry sub sector paln_RED
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
PDF
Kharkivjs javascript debugging. know your enemy
Андрей Вандакуров
 
PDF
Elementos de maquinas II... engranajes helicoidales
reicersalazar
 
PDF
ELEMENTOS DE POTENCIA
reicersalazar
 
Q and a what do i look for in a 10 k
tpateraki
 
Fadi CV
fadi alzaben
 
Final_03_ November,13_Basic nutrition & Food Chemistry (Short Q & A-Mainul
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
Fruit garden sub sector paln_RED
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
Final Baseline Survey Report on Imitation Gold Jewellery-PACE, PKSF, Banglade...
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
TypeCoach-INTJ
Jennifer L. Hawthorne
 
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Андрей Вандакуров
 
Module_CLP-Markets-Staff-Training
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
Kamrizzaman sir 4, 5 & 6 chapter, 5011
S. M. Mainul Islam (Nutritionist, Agriculturist)
 
Kharkivjs javascript debugging. know your enemy
Андрей Вандакуров
 
Elementos de maquinas II... engranajes helicoidales
reicersalazar
 
ELEMENTOS DE POTENCIA
reicersalazar
 

Similar to Pivorak.javascript.global domination (20)

PDF
Front-end. Global domination
Stfalcon Meetups
 
PDF
Frontend. Global domination.
Андрей Вандакуров
 
PDF
APIs for modern web apps
Chris Mills
 
PPTX
Centric - PWA WebCast
Timmy Kokke
 
PPTX
PWA basics for developers
Filip Rakowski
 
PPTX
Progressive Web Apps
Timmy Kokke
 
PDF
Web versus Native: round 1!
Chris Mills
 
PDF
The web - What it has, what it lacks and where it must go
Robert Nyman
 
PDF
Introduction to Offline Progressive Web Applications
Ilia Idakiev
 
PDF
The web - What it has, what it lacks and where it must go - Istanbul
Robert Nyman
 
PDF
Progressive Web Apps
Software Infrastructure
 
PDF
Offline progressive web apps with NodeJS and React
Ilia Idakiev
 
PDF
A year with progressive web apps! #DevConMU
Antonio Peric-Mazar
 
PDF
Service workers
Pavel Zhytko
 
PDF
Always on! ... or not?
Carsten Sandtner
 
PDF
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
Robert Nyman
 
PPTX
Progressive Web Apps - Intro & Learnings
Johannes Weber
 
PDF
Progressive Web Apps
Kranthi Lakum
 
PDF
A year with progressive web apps! #webinale
Antonio Peric-Mazar
 
Front-end. Global domination
Stfalcon Meetups
 
Frontend. Global domination.
Андрей Вандакуров
 
APIs for modern web apps
Chris Mills
 
Centric - PWA WebCast
Timmy Kokke
 
PWA basics for developers
Filip Rakowski
 
Progressive Web Apps
Timmy Kokke
 
Web versus Native: round 1!
Chris Mills
 
The web - What it has, what it lacks and where it must go
Robert Nyman
 
Introduction to Offline Progressive Web Applications
Ilia Idakiev
 
The web - What it has, what it lacks and where it must go - Istanbul
Robert Nyman
 
Progressive Web Apps
Software Infrastructure
 
Offline progressive web apps with NodeJS and React
Ilia Idakiev
 
A year with progressive web apps! #DevConMU
Antonio Peric-Mazar
 
Service workers
Pavel Zhytko
 
Always on! ... or not?
Carsten Sandtner
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
Robert Nyman
 
Progressive Web Apps - Intro & Learnings
Johannes Weber
 
Progressive Web Apps
Kranthi Lakum
 
A year with progressive web apps! #webinale
Antonio Peric-Mazar
 
Ad

Recently uploaded (20)

PPTX
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
PDF
DevOps Design for different deployment options
henrymails
 
PDF
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
PPT
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
PDF
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
PDF
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
PDF
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PPTX
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PPTX
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
PPT
introductio to computers by arthur janry
RamananMuthukrishnan
 
PPT
introduction to networking with basics coverage
RamananMuthukrishnan
 
PPTX
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 
PPTX
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
PDF
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
PPTX
INTEGRATION OF ICT IN LEARNING AND INCORPORATIING TECHNOLOGY
kvshardwork1235
 
PPTX
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
DevOps Design for different deployment options
henrymails
 
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
introductio to computers by arthur janry
RamananMuthukrishnan
 
introduction to networking with basics coverage
RamananMuthukrishnan
 
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
INTEGRATION OF ICT IN LEARNING AND INCORPORATIING TECHNOLOGY
kvshardwork1235
 
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
Ad

Pivorak.javascript.global domination

  • 1. Front end. Global domination. by Andrii Vandakurov, tech lead eleks.com
  • 2. WebRTC API (Real-Time Communications) Peer to peer connection ( RTCPeerConnection API )
  • 3. WebRTC API (Real-Time Communications) MediaStream API ( aka getUserMedia ) for video chats
  • 4. Progressive web apps Progressive Web Applications take advantage of new technologies to bring the best of mobile sites and native applications to users. They're reliable, fast, and engaging. ● Customisation ( web app manifest ) ● Instant Loading ( service workers ) ● Push notifications ● Add to home screen ● Secure ● Responsive
  • 5. // manifest.json { "short_name": "Kinlan's Amaze App", "name": "Amazing Application", "icons": [ { "src": "launcher-icon-3x.png", "sizes": "144x144", "type": "image/png" }, { "src": "launcher-icon-4x.png", "sizes": "192x192", "type": "image/png" } ], "start_url": "/index.html", "display": "fullscreen", "orientation": "landscape" } Web App Manifest Simple JSON file that gives you, the developer, the ability to control how your app appears to the user in the areas that they would expect to see apps (for example the mobile home screen), direct what the user can launch and, more importantly, how they can launch it. // index.html <link rel="manifest" href="/manifest.json">
  • 6. Adding a Splash screen for installed web apps Web App Manifest Show some awesome splash screen while you loading your assets and other stuff.
  • 7. Push notifications Service Workers Service Worker is a script that is run by your browser in the background, separate from a web page, opening the door to features which don't need a web page or user interaction.
  • 8. Offline mode Service Workers The reason this is such an exciting API is that it allows you to support offline experiences, giving developers complete control over what exactly that experience is. Before service worker there was one other API that would give users an offline experience on the web called App Cache. The major issue with App Cache is the number of gotcha's that exist as well as the design working particularly well for single page web apps, but not for multi-page sites. Service workers have been designed to avoid these common pain points.
  • 9. The Database that Syncs! It enables applications to store data locally while offline, then synchronize it with CouchDB and compatible servers when the application is back online, keeping the user's data in sync no matter where they next login.
  • 10. GraphQL Is a query language created by Facebook in 2012 which provides a common interface between the client and the server for data fetching and manipulations. // Response
 { "user" : { "id": 3500401, "name": "Jing Chen", "isViewerFriend": true, "profilePicture": { "uri": "http://someurl.cdn/pic.jpg", "width": 50, "height": 50 } } } // Request
 { user(id: 3500401) : { id, name, isViewerFriend, profilePicture(size: 50){ uri, width, height } } } Playground: http://graphql.nodaljs.com/
  • 12. With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. Desktop apps
  • 13. TV apps Web apps built for webOS TV are very similar to standard web applications. Like the standard web applications, you can create web apps for webOS TV using standards based web technologies like HTML, CSS, and JavaScript. Anyone with experience in building web applications can easily start developing web apps for webOS TV.
  • 14. Is the network of physical objects—devices, vehicles, buildings and other items— embedded with electronics, software, sensors, and network connectivity that enables these objects to collect and exchange data. [IOT] Internet of Things Connect to real world!
  • 15. [IOT] Artoo Next generation ruby robotics framework with support for 15 different platforms require 'artoo' // Then hook it up to your robot (in this case, a Sphero) connection :sphero, adaptor: :sphero, port: '4560' device :sphero, driver: :sphero // And tell it what to do! work do every(3.seconds) do puts "Rolling..." sphero.roll 60, rand(360) end end
  • 16. var Cylon = require("cylon"); Cylon.robot({ connections: { arduino: { adaptor: "firmata", port: "/dev/ttyACM0" } }, devices: { motor: { driver: "motor", pin: 3 } }, work: function (my) { var speed = 0, increment = 5; every((0.05).seconds(), function () { speed += increment; my.motor.speed(speed); if ((speed === 0) || (speed === 255)) { increment = -increment; } }); } }).start(); [IOT] Cylon JS JavaScript Robotics, Next generation robotics framework with support for 43 different platforms Get Started
  • 17. Links: ● History of the Web ● socket.io ● Desktop apps ● webrtc API ● pouchdb ● css blend mode ● TV ● WebComponents ● Progressive Web Apps ● Robots for Ruby devs (artoo)