Эта статья является частью серии технологий веб-разработки от Microsoft. Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.
Недавно на // BUILD / 2015 мы объявили vorlon.js — открытый, расширяемый, независимый от платформы инструмент для удаленной отладки и тестирования вашего JavaScript. У меня была возможность создать vorlon.js с помощью некоторых талантливых инженеров и технических евангелистов из Microsoft (тех самых ребят, которые привели вас http://www.babylonjs.com/ ).
Vorlon.js работает на Node.js, Socket.IO и позднем кофе. Я хотел бы поделиться с вами, почему мы сделали это, как включить его в ваш собственный рабочий процесс тестирования, а также поделиться еще некоторыми подробностями в искусстве создания такой библиотеки JavaScript.
Почему Vorlon.js?
Vorlon.js помогает вам удаленно загружать, проверять, тестировать и отлаживать код JavaScript, работающий на любом устройстве с веб-браузером. Будь то игровая приставка, мобильное устройство или даже холодильник, подключенный к IoT, вы можете удаленно подключить до 50 устройств и выполнять JavaScript на каждом или на всех из них. Идея в том, что команды разработчиков могут также отлаживать вместе — каждый может писать код, и результаты видны всем. У нас был простой девиз в этом проекте: нет нативного кода , нет зависимости от конкретного браузера, только JavaScript , HTML и CSS работают на устройствах по вашему выбору.
Vorlon.js сам по себе является небольшим веб-сервером, который вы можете запустить с локального компьютера или установить на сервере для доступа вашей команды, который обслуживает панель управления Vorlon.js (ваш командный центр) и взаимодействует с удаленными устройствами. Установить клиент Vorlon.js на вашем веб-сайте или в приложении так же просто, как добавить один тег-скрипт. Это также расширяемо, где разработчики могут создавать плагины, которые добавляют функции как клиенту, так и панели мониторинга, например: обнаружение функций, ведение журнала и отслеживание исключений.
Так почему имя? На самом деле есть две причины. Во-первых, я просто без ума от Babylon 5 (телешоу). Исходя из этого, вторая причина в том, что ворлонцы являются одной из самых мудрых и древнейших рас во вселенной и, таким образом, они полезны в качестве дипломатов между молодыми расами. Их полезность — вот что вдохновило нас. Для веб-разработчиков все еще слишком сложно написать JavaScript, который надежно работает на различных устройствах и браузерах. Vorlon.js стремится сделать это немного проще.
Вы упомянули, что у Vorlon.js есть плагины?
Vorlon.js был разработан для того, чтобы вы могли легко расширить панель мониторинга и клиентское приложение, написав или установив дополнительные плагины. Вы можете изменить размер или добавить дополнительные панели на панель инструментов, которые могут двунаправленно взаимодействовать с клиентским приложением. Для начала есть три плагина:
Ведение журнала консоли
На вкладке консоли будут передаваться консольные сообщения от клиента на панель инструментов, которую можно использовать для отладки. Все, что зарегистрировано с console.log()
console.warn()
console.error()
Как и проводник DOM Tool F12 #Dev , вы можете увидеть дерево DOM, выбрать узел (который будет выделен на устройстве, а также обновить или добавить новые свойства CSS). Интерактивность: Вы также можете взаимодействовать с удаленной веб-страницей, введя код во вход. Введенный код будет оцениваться в контексте страницы.
DOM Explorer
Инспектор DOM показывает вам DOM удаленной веб-страницы. Вы можете проверить DOM, щелкнув узлы, чтобы выделить их на веб-странице хоста, и если вы выберете один, вы также можете просмотреть и изменить его свойства CSS.
Modernizr
Вкладка Modernizr покажет вам поддерживаемые функции браузера, как сообщает Modernizr . Вы можете использовать это, чтобы определить, какие функции действительно доступны. Это может быть особенно полезно на необычных мобильных устройствах или таких вещах, как игровые приставки.
Как я могу использовать это?
Из командной строки вашего узла просто выполните это:
$ npm i -g vorlon
$ vorlon
Теперь у вас есть сервер, работающий на вашем локальном хосте через порт 1337.
Чтобы получить доступ к панели мониторинга, просто перейдите по адресу http: // localhost: 1337 / dashboard / SESSIONID , где SESSIONID
Это может быть любая строка, которую вы хотите.
Затем вам нужно добавить одну ссылку в ваш клиентский проект:
<script src="http://localhost:1337/vorlon.js/SESSIONID"></script>
Обратите внимание, что SESSIONID
default
Вот и все! Теперь ваш клиент без проблем отправит отладочную информацию на вашу панель управления. Давайте теперь посмотрим на пример использования реального сайта.
Отладка babylonjs.com Использование Vorlon.js
Давайте использовать http://www.babylonjs.com/ для нашего примера. Сначала я должен запустить свой сервер (используя node start.js
/server
Затем мне просто нужно добавить эту строку на мой клиентский сайт:
<script src="http://localhost:1337/vorlon.js"></script>
Поскольку я не определяю SESSIONID
http://localhost:1337/dashboard
Приборная панель выглядит так:
Sidenote : Браузер, показанный выше, — это Microsoft Edge (ранее известный как Project Spartan ), новый браузер Microsoft для Windows 10. Вы также можете удаленно протестировать свои веб-приложения на своем Mac, iOS, Android или Windows-устройстве по адресу http: // modern.ie/ . Или попробуйте vorlon.js тоже.
Вернемся к этому: например, я вижу консольные сообщения, что полезно, когда я отлаживаю babylon.js на мобильных устройствах (таких как iOS, Android или Windows Phone).
Я могу нажать на любой узел в DOM Explorer, чтобы получить информацию о свойствах CSS:
На стороне клиента выбранный узел выделяется красной рамкой:
Более того, я могу перейти на вкладку Modernizr, чтобы увидеть возможности моего конкретного устройства:
С левой стороны вы можете увидеть список подключенных в данный момент клиентов и использовать кнопку «Идентифицировать клиента» для отображения номера на всех подключенных устройствах.
Еще немного о том, как мы создали vorlon.js
С самого начала мы хотели быть уверены, что Vorlon.js остается максимально мобильным и независимым от платформы . Поэтому мы решили использовать технологию с открытым исходным кодом, которая работала в более широком числе сред.
Нашей средой разработки было Visual Studio Community, которое вы можете получить бесплатно прямо сейчас. Мы использовали инструменты Node.js для Visual Studio и Azure для серверной части. Нашим интерфейсом был JavaScript и TypeScript. Если вы не знакомы с TypeScript, вы можете узнать, почему мы создали с ним файл babylon.js. Недавно Angular 2 был построен с использованием TypeScript . Но вам не нужно знать это, чтобы использовать vorlon.js.
Вот глобальная схема того, как это работает:
Вот части, из которых мы его построили:
-
На сервере Node.js размещается страница панели инструментов (обслуживается с помощью Express) и служба
-
Сервис использует socket.io для установления прямого соединения как с приборной панелью, так и с различными устройствами.
-
Устройства должны ссылаться на простую страницу vorlon.js, обслуживаемую сервером. Он содержит весь клиентский код плагина, который взаимодействует с клиентским устройством и связывается с приборной панелью через сервер.
-
Каждый плагин разделен на две части:
-
Клиентская сторона, используемая для сбора информации и взаимодействия с устройством.
-
Сторона панели инструментов, используемая для создания панели команд для плагина внутри панели инструментов
-
Например, консольный плагин работает следующим образом:
-
Клиентская сторона генерирует хук поверх
console.log()
console.warn()
console.error()
Этот хук используется для отправки параметров этих функций на панель инструментов. Он также может получать заказы со стороны панели инструментов, которые он будет оценивать -
Сторона приборной панели собирает эти параметры и отображает их на приборной панели.
В результате получается просто удаленная консоль:
Вы можете получить еще лучшее представление о расширяемости vorlon.js, в том числе о том, как создавать собственные плагины здесь .
Что дальше?
Vorlon.js построен на идее расширяемости . Мы призываем вас внести свой вклад! И мы уже о том, как мы могли бы интегрировать vorlon.js в инструменты разработки браузера, а также отладку Web Audio.
Если вы хотите попробовать, вы только один клик: vorlonjs.com
И более технические документы здесь на нашем GitHub .
Больше практического опыта с JavaScript
Это может вас немного удивить, но у Microsoft есть много бесплатных уроков по многим темам JavaScript с открытым исходным кодом, и мы стремимся создать намного больше с Microsoft Edge . Проверьте мои собственные:
Или серия обучения нашей команды:
-
Практические советы по повышению производительности для ускорения работы с HTML / JavaScript (серия из 7 частей: от адаптивного дизайна до казуальных игр и оптимизации производительности)
-
Современная веб-платформа JumpStart (основы HTML, CSS и JS)
-
Разработка универсального приложения для Windows с использованием HTML и JavaScript JumpStart (используйте JS, который вы уже создали, для создания приложения)
И некоторые бесплатные инструменты: сообщество Visual Studio , пробная версия Azure и инструменты кросс-браузерного тестирования для Mac, Linux или Windows.
Эта статья является частью серии технологий веб-разработки от Microsoft. Мы рады поделиться с вами Microsoft Edge и новым механизмом рендеринга EdgeHTML . Получите бесплатные виртуальные машины или проведите удаленное тестирование на устройстве Mac, iOS, Android или Windows по адресу http://dev.modern.ie/ .