[#] Наш облачный JS теперь ES2017, и это сокращает код в разы
habrabot(difrex,1) — All
2017-10-16 15:30:05


![][1]


Вопреки распространенному мнению, облако Voximplant не использует Node.js, чтобы выполнять JavaScript код клиентов параллельно с голосовыми и видеозвонками. Каждый наш сервер одновременно управляет сотнями звонков: переключение голосовых и видеопотоков между звонками, запись, распознавание голоса, синтез, HTTP-запросы к внешним серверам, — вся вот эта история. А Node.js создана, чтобы работы в одиночку. Несколько сотен изолированных инстансов — это не про нее. Передерутся за память, ресурсы и все закончится очень печально. Поэтому у нас [сильно изолированная][2] и ограниченная по ресурсам песочница, которая не дает клиентскому JavaScript-коду в одной маленькой сессии нарушать работу целых серверов. Asterisk у нас тоже не используется по похожим причинам.

До недавнего времени мы поддерживали синтаксис ES5. Типовой сценарий работы с коммуникациями — это несколько сотен, максимум, тысяч строк кода. Сложные штуки клиенты все равно выносят на собственный backend, а если нужен современный синтаксис, всегда можно воспользоваться транспайлером и автоматически отгрузить собранный JavaScript с помощью [Continuous Integration][3].

Но 2017 год обязывает, да и Web-редактор и отладчик клиенты любят и используют для быстрого создания нужных решений. Поэтому мы запилили поддержку ES2017 (не с нуля, естественно, а готовыми компонентами) и переделали обучающие материалы на современный лад. Под катом я хочу показать, **насколько** короче и понятнее становится код, если пользоваться современной нотацией JavaScript. Разница впечатляет.
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/59/e4/82/59e4828565e87888407830.png
[2]: http://voximplant.com/docs/references/appengine/#sandbox
[3]: https://habrahabr.ru/company/Voximplant/blog/269473/
[4]: https://habrahabr.ru/post/340188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut