Modernit selainympäristöt sisältävät optimoituja JavaScipt-moottoreita, mutta ovatko nekään tarpeeksi vahvoja pyörittämään interaktiivista 3D-robottivisualisaatioita? Saavatko reaaliaikainen kuvankäsittely ja laskenta selaimen kuin selaimen polvilleen, vai ovatko uudet JavaScript-rajapinnat tuoneet jo ratkaisuja näihin ongelmiin? Ja jos teknologia onnistuisikin jo vastaamaan näihin haasteisiin, kuinka välttää perinteisemmät ongelmat isoja JavaScript-ohjelmia rakentessa?
1 of 16
Download to read offline
More Related Content
Vincit Teatime 2015 - Heikki Salo: Case ZenRobotics: JavaScriptin äärirajoilla
7. • Robotic Operating System (ROS)
• Reaaliaikainen tai nauhoitetun datan
visualisointi
• 3D-grafiikka ja kontrollit selaimessa
• Kehityksen aikana muuttuvat tietorakenteet
• Datan käsittelyn aikavaatimukset
7
KEHITYKSEN VAATIMUKSET
8. • Microsoftin “parempi” JavaScript-variantti
• EcmaScript 6 yhteensopivuus (luokat yms.)
• Tyyppiannotaatiot, rajapinnat yms. C#
• Helpottaa suurien JavaScript-ohjelmien
kehitystä (muutokset, analyysi, kommentointi)
• DefinitelyTyped tyyppikirjastot
• Monipuolisempi kuin lint tai JSDoc
• TypeScript vs CoffeeScript vs ClojureScript vs
Dart
• “Käännetty” JavaScript paketoitu asiakkaalle
8
TYPESCRIPT
10. • Suorituskykyistä 3D-grafiikkaa
• Matalan tason rajapinta
• Typed Arrays ja viewit
• Selaintuki vaihteleva (rauta vs softa)
• Valmiit kirjastot: three.js, Babylon.js etc.
10
WEBGL
11. • Reaaliaikainen ja tehokas datansiirto
molempiin suuntiin
• Visualisaatiossa keskiarvo noin 1 Mt/s
(purskeittainen)
• Äärirajoilla herkkä verkkoympäriston
vaihteluille
11
WEBSOCKETS
12. • JavaScriptin taustaprosessointia
• Visualisaatiossa käytetään kuvankäsittelyyn
• Rajoitettu ympäristö (DOM etc. ei saatavilla)
• Kommunikaatio viestejä lähettämällä
• Isot oliot (esim. kuvat) voi “siirtää" kopioinnin
sijaan
12
WEBWORKERS
15. • Nykyaikaiset selainympärisöt mahdollistavat
vaativienkien sovellusten teon…
• …olettaen, että on valmis rajoittamaan
tuettuja selaimia ja laitteita
15
YHTEENVETO