Обновить
0.59

Microsoft Edge

Браузер от компании Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Практические советы по повышению производительности HTML и JavaScript

Время на прочтение2 мин
Количество просмотров31K


Тема улучшения производительности сайтов и приложений всегда должна находиться на радаре у хорошего веб-разработчика. В одних случаях грамотная работа позволяет сэкономить вычислительные ресурсы, в других — сильно улучшить опыт работы с приложениями для всей аудитории пользователей, как это на днях случилось с Wikipedia. А часто и все сразу.

Скорость работы веб-приложений условно зависит от трех составляющих: 1) как устроена сетевая инфраструктура, через которую доставляются данные и код, 2) как работает браузер и 3) как, собственно говоря, написан ваш код, который браузер должен исполнять.

Все три компоненты постоянно улучшаются и оптимизируются. Например, в сетевом стеке определенные общие улучшения несет переход на HTTP 2.0. С точки зрения браузеров, все производители постоянно работают над улучшением своих движков. В случае Chakra в Microsoft Edge, помимо общего повышения производительности работы с JavaScript, мы добавляем поддержку специализированных средств вроде Asm.js и SIMD.js, призванных повысить эффективность кода в специфичных сценариях (в Firefox и Google Chrome — аналогично).

А вот что касается непосредственно кода веб-приложений, то тут зачастую нужно полагаться не только на обещанную скорость работы тех или иных движков, но и самостоятельно измерять и улучшать эффективность своих решений.

Наши коллеги Дорис Чен и Джон-Дэвид Далтон подготовили целый курс с практическими советами по улучшению производительности вашего кода на HTML и JavaScript. Вы можете посмотреть его на соответствующей странице в Microsoft Virtual Academy или под катом в виде отдельных роликов.

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

Лучшие доклады конференции DevCon 2015 — Топ 10

Время на прочтение5 мин
Количество просмотров12K
В конце мая мы проводили нашу традиционную конференцию DevCon, а сегодня мы рады представить вам самые лучшие доклады по мнению оффлайн-участников.

Самым высоко оцененным докладом оказался рассказ Дмитрия Сошникова о практическом применении F#. Не могу не отметить, что гипотезы Димы о том, что влияет на качество доклада, вполне себя оправдали второй год подряд!

Магия F# для обработки данных: монады, провайдеры типов и немножко теории категорий



Автор: Дмитрий Сошников, Microsoft
Описание: На сегодняшний день практически все слышали о функциональном языке программирования F#, но не все включили его в свой набор инструментов разработки. В этом докладе мы рассмотрим серию практических примеров, показывающих преимущества F# для обработки (больших) данных. Поговорим о монадах параллельно-асинхронных вычислений для эффективного доступа к web, об использовании распределенных вычислений в облаке с помощью MBrace, о провайдерах типов и об интеграции с R для решения задач машинного обучения.
И еще 9 лучших докладов конференции

Веб-эксперименты #1. Адаптивность lvl. 80: веб-приложения, мозговые волны и уровень внимания

Время на прочтение9 мин
Количество просмотров12K


Часть вводная, где я пытаюсь рассказать, что нынешние подходы к адаптивности – детский сад (в смысле, что это только начало) в развитии интерфейсов и опыта взаимодействия


Сегодня, говоря про адаптивность в вебе, обычно понимают такую простую и тривиальную вещь, как подстройку отображения сайта (веб-приложения) под ширину экрана соответствующего устройста. Адаптивный дизайн, отзывчивый дизайн, резиновый дизайн – чего только не услышишь. Одни утверждают, что это все давно уже изобретено и внедрено в повседневную практику десять лет назад, другие преподносят это как прорывное веяние, за которым будущее, третьи проводят границы между терминами, четвертые думают, к каким еще «фишкам» браузера можно адаптироваться, — и вот уже браузеры внедряют отзывчивые изображения, а не за горами проверка наличия нужной функциональности в CSS!, — пятые стараются смотреть на проблему шире, включая в проблематику и вопросы доступности, и вопросы подстройки под разные способы ввода, и много чего еще. Конечно, все, в опеределенной степени, правы.
Читать дальше →

Asm.js пришел в Chakra и Microsoft Edge

Время на прочтение8 мин
Количество просмотров17K
Asm.js в Microsoft Edge

Несколько месяцев назад мы объявили о начале работ по внедрению Asm.js. Поддержка Asm.js была одним из 10 наиболее востребованных запросов в на UserVoice для Microsoft Edge, начиная с самого запуска в декабре 2014 г. С тех пор мы добились хорошего прогресса: в Windows 10 Insider Preview, начиная со сборки 10074, вы можете попробовать Asm.js в Chakra и Microsoft Edge.

Что такое Asm.js?


Asm.js – это строгое подмножество JavaScript, которое может быть использовано как низко-уровневый и эффективный язык для компилятора. Как подмножество asm.js описывает ограниченную виртуальную машину для языков с небезопасным доступом к памяти вроде C и C++. Комбинация статичной и динамичной проверок дает возможность движкам JavaScript использовать техники вроде специализированной компиляции без страховок или AOT-компиляции (Ahead-of-Time) для корректного asm.js-кода.


Подобные приемы помогают JavaScript выполняться с «предсказуемой» и «близкой к нативной» производительностью, причем оба свойства являются нетривиальными для достижения в рамках обычных оптимизаций компилятора для динамических языков вроде JavaScript.

Учитывая сложность написания asm.js-кода вручную, сегодня asm.js в основном производится за счет транскомпиляции C/C++ кода, используя такие инструменты, как Emscripten. Полученный результат используется в рамках веб-платформы вместе с такими технологиями, как WebGL и Web Audio. Игровые движки, например, Unity и Unreal, начинают внедрять раннюю или экспериментальную поддержку игр в вебе без использования плагинов, используя комбинацию asm.js и других связанных технологий.
Читать дальше →