Почему не работает Tree Shaking и как с этим жить

В нашей предыдущей статье про голосовых ботов для Рокетбанка хабраюзеры возмутились, что в 2017 году примеры JavaScript для облака Voximplant написаны на ES5. У нас в облаке сильно модифицированный SpiderMonkey, специально обученный не течь и не падать. Тысячи одновременных звонков с параллельно выполняемым JavaScript как бы намекают, что нода – для нас не вариант. Тем не менее, никто не мешает использовать транспайлеры, компилировать ES2017/TypeScript/Elm/Whatever в старый добрый JavaScript и загружать результаты компиляции с помощью Continuous Integration. При таком раскладе возникает соблазн использовать все последние достижения из npmjs, собирая весь код в один ES5 бандл. И вот тут нас ждет засада: даже один метод из lodash дает на выходе бандл размером в полмегабайта. И не похоже, чтобы рекламируемый последние пару лет tree shaking работал.

кто виноват и что делать?

PUSH уведомления в браузерах и работа с треками объектов

В статье описываются работа с PUSH уведомлениями о событиях объектов в браузерах и возможности сервиса VIALATM для работы с треками объектов. Следующие публикации будут посвящены обзорам сервисов IOT.

Читать дальше →

Source: PUSH уведомления в браузерах и работа с треками объектов

Простой способ создать IoT-приложение для мониторинга удаленных серверов на платформе IBM Bluemix

Интернет вещей становится все более привычным не только для ИТ-специалистов, но и для обычных людей. Системы «Умный дом», «Умная бытовая техника и системы освещения» — все это уже мало кого удивляет. На производстве и в телекоммуникациях эта технология очень полезна, поскольку позволяет считывать данные в режиме реального времени, работать с удаленными системами. IoT постепенно находит свое место в бизнесе, сельском хозяйстве, науке, здравоохранении.

Приложение для IoT создать не так сложно, как можно было бы подумать. В этом материале описано, как можно настроить рабочее пространство IBM Bluemix, создав демонстрационное приложение для мониторинга удаленных серверов или управления распределенной сетью.

Читать дальше →

Как МТС «затачивает» свои геолокационные сервисы под корпоративных клиентов

Как геолокационные сервисы от МТС помогают большим компаниям управлять штатом выездных сотрудников 1000+, а также про уникальные геолокационные кейсы для нефтяников и железнодорожников расскажет эксперт в области М2М компании МТС Дмитрий Коровин.

Привет! Начну с краткого введения в тему. У нас есть большой портал «МТС Поиск», на котором представлены геолокационные сервисы от МТС. Портал по функционалу подразделяется на три больших блока.

  1. Мониторинг местоположения сотрудников по базовым станциям операторов.

Диспетчер компании может по SIM-картам смартфонов определять местоположение своих выездных сотрудников.

  1. «МТС Трекер» и «МТС Координатор».

Диспетчер компании может по SIM-картам, GPS/ГЛОНАСС или Wi-Fi смартфонов определять местоположение своих выездных сотрудников, а также взаимодействовать с ними (в случае «МТС Координатора»).

  1. «МТС Транспорт»

Диспетчер компании определяет местоположение подвижного транспорта по сигналам терминалов GPS/ГЛОНАСС, установленных в автомобилях. Точность определения 3-5 метров.

image

Читать дальше →

NativeScript, что за зверь и для чего он нужен?

Доброго времени суток, хабражители, меня зовут Владимир Миленко, я frontend-инженер в компании Иннософт, географически расположенной в городе Иннополис и являющейся резидентом особой экономической зоны г. Иннополис.

Сегодня я поведаю о таком звере, как NativeScript(да, он изменился, да, сильно). NativeScript — фреймворк для кроссплатформенной разработки, придерживающийся концепции write once — use everywhere, и, возможно, у него получилось!

Читать дальше →

Построение мобильных приложений с Ember

Быстрый способ построить быстрое приложение

Существует страх у разработчиков, что быстрые решения — это проблема. Откуда происходят опасения — в отсутствии возможности масштабирования своего приложения в будущем. Ведь для этого нужно продумать архитектуру! А что если её продумали за вас. Вы же не пытаетесь изобретать велосипед?

Быстро и масштабируемо — так позиционирует себя экосистема Ember. Фреймворк на JavaScript c понятной современной и расширяемой архитектурой, способный в считанные минуты создать рабочий каркас не только для большого многофункционального сайта, но и для десктопного приложения, используя популярный нынче Electron.

И вот ведь неугомонно-амбициозный — замахнулся аж даже на нашего, так сказать, мобильного младшего брата. Что из этого вышло — давайте взглянем.

Читать дальше →

Система отслеживания степени заледенелости улиц: машинное обучение + Microsoft Azure + Android

Привет всем! Каждую зиму в русских (да и не только) городах появляется зловредный гололед. Множество людей подскальзывается и травмирует различные части тела. Скажете, эта проблема должна решаться коммунальщиками — да, так и есть, но они очень часто не доглядывают за состоянием тротуаров и дворовых тропинок, а может быть и просто не знают, куда нужно смотреть. Чтобы хоть как-то улучшить ситуацию, в решение проблемы все больше должны включаться современные технологии. Итак, сегодня поговорим о создании системы оценки степени заледенелости улиц, основанной на статистике падений людей. Под катом машинное обучение, облака и мобильные приложения.

3 примера использования системы

Читать дальше →

AppCode 2016.3: поддержка Swift 3, новые настройки форматирования, улучшения быстродействия и многое другое

Привет, Хабр!

Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.

Читать дальше →

Разработка для Sailfish OS: работа с D-Bus

Всем доброго времени суток! Данная статья продолжает цикл статей, посвященных разработке для мобильной платформы Sailfish OS. Поскольку в основе операционной системы лежит ядро Linux, то в Sailfish OS изначально доступны некоторые «вкусности», пришедшие из мира Linux. Одной из таких «вкусностей» является система межпроцессного взаимодействия D-Bus. Для данной статьи я буду считать, что читатель уже знаком с тем, что это за система, для чего она нужна и как ею пользоваться (в противном случае, информацию об этом достаточно легко найти в сети, например на официальном сайте или на opennet).

Несмотря на то, что D-Bus изначально поддерживается в Sailfish OS, управлять им возможно только из терминала или из приложений (если в них это уже заложено). Именно поэтому возникла идея создания визуального клиента к системе D-Bus для Sailfish OS, которые позволит просматривать сервисы, зарегистрированные в системе и взаимодействовать с ними с помощью графического интерфейса. Другими словами, создать аналог D-Feet или Qt D-Bus Viewer для Sailfish OS.

Читать дальше →