Исследователи из Microsoft продемонстрировали Static TypeScript (STS), подмножество TypeScript, предназначенное для использования на платформах встроенного программирования.
Статический TypeScript (STS) состоит из подмножества TypeScript, полностью реализованного в TypeScript, вместе с его набором инструментов компилятора / компоновщика, который запускается в веб-браузере.
Исследователи Томас Болл, Пели де Халле и Михал Москаль говорят, что STS предназначена для использования на практике (особенно в образовании), а также хороша для небольших устройств, поскольку вы можете использовать статическую компиляцию. Программа STS пользователя компилируется в машинный код в браузере и связывается с предварительно скомпилированной средой выполнения C ++, создавая исполняемый файл, который более эффективен, чем более обычный подход встроенного интерпретатора, продлевая срок службы батареи и делая возможным запуск на устройствах с минимальными затратами энергии. 16 КБ ОЗУ (например, BBC micro: bit). BBCmicro: bit — это небольшой программируемый компьютер в стиле Arduino, который предоставляется всем учащимся 7-го класса (в возрасте от 10 до 11) в Великобритании и с тех пор стал глобальным: на сегодняшний день по всему миру через micro: bit Education Foundation было распространено четыре миллиона устройств. . Однако на таких устройствах встроенные интерпретаторы работают медленно, что влияет на скорость отклика и время автономной работы, а также ограничивает приложения, которые могут быть развернуты.
Напротив, STS — это синтаксическое подмножество TypeScript, поддерживаемое компилятором, написанным на TypeScript, который генерирует машинный код, который эффективно работает всего в 15–256 КБ ОЗУ. Разработчики говорят, что STS устраняет большую часть «плохих частей» JavaScript; после StrongScript STS использует номинальную типизацию для статически объявленных классов и поддерживает эффективную компиляцию классов с использованием классических методов для v-таблиц. Цепочка инструментов STS работает в автономном режиме после загрузки в веб-браузер без необходимости в компиляторе C / C ++ — цепочка инструментов, реализованная на TypeScript, компилирует STS в машинный код Thumb и связывает этот код с предварительно скомпилированной средой выполнения C ++ в браузере. , которая часто является единственной доступной средой исполнения в школах.