Open MCT: платформа управления полетами NASA с открытым кодом
В исследовательском центре Эйма NASA разработали систему управления полетами следующего поколения Open MCT (Open Mission Control Technologies). Это фреймворк, написанный на JavaScript. Он имеет открытый исходный код и предназначен для визуализации данных на настольных и мобильных устройствах, а также планирования и эксплуатации экспериментальных систем марсоходов.
Для запуска Open MCT у вас должны быть установлены Git и Node.js. Установка и запуск стандартные — с помощью Git и NPM.

Интерфейс Open MCT
Для подключения фреймворка необходим минимальный HTML шаблон представленный ниже, к которому подключаются все необходимые скрипты, в результате чего создается глобальная переменная с именем openmct. Затем этот объект используется для вызова API.
<!DOCTYPE html> <html> <head> <title>Open MCT</title> <script src="dist/openmct.js"></script> </head> <body> <script> openmct.install(openmct.plugins.LocalStorage()); openmct.install(openmct.plugins.MyItems()); openmct.install(openmct.plugins.UTCTimeSystem()); openmct.start(); </script> </body> </html>
Расширение функциональности доступно через добавление плагинов. В их число входят шаблоны HTML и изображения — архитектура фреймворка требует добавление расширений как единого целого. Инструкция по написанию плагинов находится здесь.
Для обратной связи новость о выходе фреймворка опубликовали на Reddit. Один из пользователей, например, спросил авторов Open MCT, почему они не написали фреймворк на TypeScript. Участник команды ответил, что когда проект начинался, TypeScript еще не был достаточно зрелым языком программирования. Опасения были, в частности, по поводу последствий использования скомпилированного кода для производительности, но в NASA не исключают использование TypeScript в будущем.
Новость получила и юмористический отклик. Например, комментаторы написали возможные ошибки, которые может выдать JavaScript:
- You have just reached an undefined galaxy (Вы только что достигли неопределенной галактики)
- Your speed is NaN (Ваша скорость — не число)
- Your target orbit is [object Object] (Ваша целевая орбита — [object Object])
Также представитель команды Open MCT рассказал, что в проект ищут фронтенд-разработчиков с опытом работы на Vue.js.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: