Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript и инновации

JavaScript и инновации

Как возникло то, что мы имеем в JavaScript, что уже существует и какие инновации нас ждут в ближайшем будущем

Max Klymyshyn

July 05, 2014
Tweet

More Decks by Max Klymyshyn

Other Decks in Technology

Transcript

  1. О чем разговор О чем это ‣ В этой презентации

    не будет кода ‣ О том как JS стал таким, какой сейчас ‣ Почему 10 000 мух не могут ошибаться ‣ Что нас ждет в ближайшем будущем
  2. Немного фактов О JS ‣ Создан был за 10 дней

    в 1995 году ‣ Microsoft выпустила IE3 с JScript - reverse-engineered версия JavaScript от Netscape ‣ ECMA сделала первую версию ECMAScript
  3. Все, что можно написать на JavaScript в конечном итоге будет

    переписано на JavaScript. Jeff Atwood Software engineer, Stackoverflow co-founder
  4. События О JS ‣ Выход jQuery и других фреймворков ‣

    Yahoo YUI, ExtJS и тому подобное ‣ Node.js, неблокирующий серверный код ‣ CouchDB/MongoDB/Elasticsearch ‣ Backbone, Ember, Angular.js, React.js т.д.
  5. Направления, о которых пойдет речь ‣ Robo-техника ‣ Enterprise ‣

    Инновации в браузере ‣ Мутация JavaScript и уход от ограничений ‣ А что дальше?
  6. Robots with node.js Robo-техника ‣ 7 сентября 2010 года вышел

    пакет node-serialport, и понеслась ‣ 210 проектов на github на JS, всего – 1362 упоминания node-serialport
  7. Robo-техника JS Conf 2011 33% 33% 33% Embedded Server Client

    JS Conf 2009 100% Source: http://www.slideshare.net/nonken/robotic-javascript
  8. Причина по которой node.js удобно использовать для создания прототипов роботов

    – с его помощью легко создать сложную систему с обратной связью. Chris Williams node-serialport developer
  9. Фреймворки Robo-техника ‣ Breakout – prototyping tool for exploring the

    intersection of the web and the physical world ‣ Johnny-five – Arduino programming framework ‣ Cylon.js – JavaScript framework for robotics, physical computing, and the Internet of Things
  10. Enterprise или большие ребята в деле Enterprise ‣ Данные в

    реальном времени ‣ Инфраструктура OS ‣ Агрегация на событиях ‣ Карты и гео-данные ‣ Визуализация данных и инфографика ‣ Игры
  11. Инфраструктура OS Enterprise ‣ Windows 8 ‣ Firefox OS ‣

    Ubuntu/Unity Web API ‣ Gnome (Linux) ‣ Chrome OS
  12. Агрегация на событиях Enterprise ‣ ql.io – декларативный гейтвей для

    получения и аггрегации различных HTTP API, сделано в eBay, open source ‣ YQL с node.js ‣ node.io
  13. Ключевые инновации Браузеры ‣ WebSockets - данные в реальном времени

    ‣ WebRTC – p2p передача данных ‣ Canvas, WebGL, AudioAPI ‣ Web Workers ‣ asm.js
  14. Мутации языка ECMAScript 6 JS и ограничения ‣ Arrow function

    (lambda functions) ‣ let/const block scoping, rest function parameters, multiple return values, spread operator etc. ‣ Generators and Iterators ‣ Collections ‣ Modularity, loader API, Class/Subclass ‣ Proxies
  15. Ограничения JS и ограничения Благодаря архитектуре JavaScript большую кодовую базу

    сложно поддерживать. ! Некоторые достигают успеха и у них это получается, но многие создали трансляторы из более строгих языков в JS
  16. python-о подобные JS и ограничения ‣ CoffeeScript ‣ LiteScript ‣

    pyjamas – python to javascript ‣ brython – python 3 to JS
  17. Прочие JS и ограничения ‣ MoonShine – Lua VM for

    browser ‣ PureScript –Haskell-like language ‣ LuvvieScript – Erlang dialect ‣ Spock – SCHEME ‣ Haxe ‣ Elm
  18. Интеграция JS и ограничения spaghetti – creating large-scale modular JavaScript

    applications with modules written in different compile-to-JS languages
  19. Уже есть Что дальше? ‣ Google's Chrome extensions ‣ Opera's

    extensions ‣ Apple's Safari 5 extensions ‣ Apple's Dashboard Widgets ‣ Microsoft's Gadgets ‣ Yahoo! Widgets ‣ Google Desktop Gadgets
  20. Enterprise software Что дальше? ‣ Adobe's Acrobat and Adobe Reader

    support JavaScript in PDF files ‣ Tools in the Adobe Creative Suite, including Photoshop, Illustrator, Dreamweaver, and InDesign, allow scripting through JavaScript ‣ Apple's Logic Pro X digital audio workstation (DAW) custom MIDI effects plugins using JavaScript.
  21. Enterprise software Что дальше? ‣ The Unity game engine supports

    a modified version of JavaScript for scripting via Mono ‣ Maxwell Render have ECMA standard based scripting engine for tasks automation ‣ Google Apps Script in Google Spreadsheets allows users to create custom formulas, automate repetitive tasks
  22. Image and Vector editors Что дальше? ‣ Векторные редакторы ‣

    Редакторы картинок и эффектов ‣ Простые видео редакторы ‣ Интеграции с десктопными приложениями
  23. Что будет Что дальше? ‣ Облачные вычисления внутри виджетов (Facebook

    like button, twitter feed etc.) ‣ Облачные вычисления на базе WebRTC (load distribution) внутри браузера – например, рендеринг 3D сцен. Все что нужно для кластера - зайти на сайт с нескольких компьютеров
  24. Что будет Что дальше? ‣ API для поддержки произвольного оборудования

    из браузера (назовем Custom Hardware API, HwrAPI ) ‣ Как следствие из HwrAPI профессиональные звуковые редакторы, видео редакторы, видео эффекты и т.д. в браузере
  25. Что будет Что дальше? ‣ MobileAPI – нативные приложения на

    JavaScript для смартфонов ‣ Более тесная интеграция с десктопами ‣ Интеграция мобильных устройств с производственным и медицинским оборудованием ‣ Вычисления в мобильном браузере/ нативных приложениях на JS для такого оборудования