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

Этому способствует и то, что он единственный скриптовый язык, доступный в браузере.

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

Появление стандартов ECMAScript позволило усовершенствовать и добавить новые возможности в JS, чтобы сделать его еще более гибким и совместимым. Сейчас в современном браузере можно создавать впечатляюще сложные приложения, которые практически не выходят за пределы движка браузера.

Что же можно сделать, имея в своем распоряжении такой гибкий инструмент?

Конечно же, запускать полноценную операционную систему.

В этой статье мы рассмотрим некоторые из лучших эмуляторов JavaScript OS (операционная система), которые работают исключительно внутри вашего браузера. Вам не придется ничего инсталлировать, и при этом в вашем распоряжении будет (в основном) функциональная операционная система. Давайте рассмотрим несколько замечательных примеров.

1. Windows 3.1 (и выше)

Играем в Minesweeper (компьютерная игра-головоломка "Сапер") на Windows 3.1 с помощью PCjs.
Играем в Minesweeper (компьютерная игра-головоломка "Сапер") на Windows 3.1 с помощью PCjs.

Каталог эмуляторов PCjs.org огромен. Здесь есть эмуляторы всего, начиная от аркад и заканчивая графическими калькуляторами TI (Texas Instruments). Наиболее впечатляющей из этой коллекции, безусловно, является версия для Windows 3.1. Это довольно функциональная версия ОС, и она действительно хорошо работает в браузере.

Что удобно в эмуляциях на PCjs.org, так это то, что они поставляются с набором инструментов для управления основной системой. Вы можете загружать различные флоппи-диски, изменять скорость процессора и другие основные элементы управления. Вы не всегда получаете эти опции с некоторыми эмуляторами браузера.

Просмотрите полный каталог PCjs.org, в котором вы найдете еще немало интересных ретро штучек.

2. Infinite Mac (System 7 & Mac OS 8)

Игра Lemmings на Mac OS 8 с помощью Infinite Mac
Игра Lemmings на Mac OS 8 с помощью Infinite Mac

Проект Infinite Mac — невероятно быстрая браузерная эмуляция операционной системы System 7 и Mac OS 8. Это непосредственная эмуляция оригинальной машины Macintosh Quadra, которая являлась компьютером Mac начала 90-х годов, заточенным на более высокую производительность.

Эта эмуляция определенно одна из самых хорошо организованных, с которыми мне доводилось работать. Задержка ввода намного меньше, чем у большинства других эмуляторов. Хотя здесь не так много дополнительных возможностей, как вы бы могли найти на PCjs.org, тем не менее, данная эмуляция невероятно хорошо сделана. Безель монитора Mac вокруг эмулятора также является приятным винтажным штрихом.

Автор оригинала, Михай Парпарита (Mihai Parparita), ведет блог с очень подробной информацией о проекте, доступно здесь.

3. JSLinux

Просмотр веб-страниц на Alpine Linux с помощью JSLinux.
Просмотр веб-страниц на Alpine Linux с помощью JSLinux.

Следующим логичным шагом после эмуляции Mac и Windows будет попробовать Linux. К счастью, Фабрис Беллард (Fabrice Bellard) успешно создал рабочую эмуляцию Linux на JavaScript. Проект называется JSLinux и предлагает несколько дистрибутивов Linux, которые можно эмулировать.

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

В JSLinux также доступны несколько эмуляторов архитектуры RISC-V.

Посетите официальный сайт JSLinux для получения дополнительной информации и вариантов эмуляции.

4. IBM 5110

Эмулятор IBM 5110 от Норберта Керера (Norbert Kehrer). Источник: https://norbertkehrer.github.io/ibm_5110/emu5110.html
Эмулятор IBM 5110 от Норберта Керера (Norbert Kehrer). Источник: https://norbertkehrer.github.io/ibm_5110/emu5110.html

Ничто не сравнится с ностальгией по старым IBM.

Этот проект ставит своей целью эмуляцию компьютера IBM 5110. Это была урезанная «мобильная» версия огромных и мощных мэйнфреймов System/360. Модель 5110 появилась в эпоху, когда «портативный» компьютер, способный выполнять те же функции, что и мейнфрейм размером с комнату, был нечто совершенно особенным.

Эмуляция IBM 5110, созданная Норбертом Керером (Norbert Kehrer), удивительно лаконична и элегантна. Одна из моих любимых фич — встроенная клавиатура. Это почти обязательное требование, потому что старые клавиатуры в стиле мэйнфреймов имеют специальные функциональные клавиши, которых больше нет у современных клавиатур.

Строка состояния эмулятора IBM 5110. Источник: https://norbertkehrer.github.io/ibm_5110/emu5110.html
Строка состояния эмулятора IBM 5110. Источник: https://norbertkehrer.github.io/ibm_5110/emu5110.html

Еще одним приятным штрихом является строка состояния, которая включает в себя несколько переключателей в ретро стиле и имеет аккуратный индикатор обработки. Как и в оригинальном 5110, вы можете использовать BASIC или APL.

Посетите официальный сайт эмулятора здесь.

Если вам нужно освежить в памяти APL, это отличный учебник.

5. PDP 11/70

Эмулятор PDP 11/70, написанный на JS. Источник: https://skn.noip.me/pdp11/pdp11.html
Эмулятор PDP 11/70, написанный на JS. Источник: https://skn.noip.me/pdp11/pdp11.html

PDP-11 — икона винтажной компьютерной техники. Этот мини-компьютер был одним из самых авторитетных, популярных и великолепно спроектированных компьютеров 20-го века. Он был увековечен в различных физических формах в виде клонов, копий и даже функционирующих kit-наборов Raspberry Pi.

Теперь PDP-11 существует в виде эмулятора. Данный эмулятор, написанный Полом Нанкервисом (Paul Nankervis), является замечательно разработанным трибьютом в память о классической машине. Он имеет прекрасно оформленную переднюю панель с функционирующими кнопками и индикаторами, а также интерактивную нижнюю консоль (это современная, но такая удобная функция).

Пол Нанкервис также предоставляет огромное количество подробной документации о том, как и почему он написал этот эмулятор. Здесь есть диаграммы, фрагменты различных загрузочных кодов и несколько ссылок на другие замечательные ресурсы.

Ознакомьтесь с действующим эмулятором и публикацией в блоге.

6. DistroTest

Запуск Hot Dog Linux на DistroTest.net.
Запуск Hot Dog Linux на DistroTest.net.

Как быть, если вам очень хочется попробовать конкретный дистрибутив Linux или десктопную среду, но нет желания тратить время на установку? Что же, DistroTest.net поможет справиться с этой задачей.

На этом сайте представлено более 380 различных уникальных версий ОС, которые вы можете опробовать. Это очень много.

Они не только предоставляют базовую ОС, но и имеют массу различных вариантов и десктопных окружений. Если вы выбираете между определенным вариантом десктопа и не хотите возиться с его заменой или переустановкой, можно здесь запустить демо-версию. Это займет меньше времени, чем самостоятельная загрузка образа ОС.

Хотя DistroTest эффективно задействует виртуальные машины, работающие за кулисами, он по-прежнему использует библиотеку VNC на чистом JavaScript под названием noVNC для брокера соединений. Вам не придется ничего инсталлировать, у вас все равно будет "эмулированный" интерфейс из браузера.

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


Завтра состоится открытое занятие для начинающих разработчиков, посвященное инструменту ESLint. Разберемся, как его установить и настроить, чтобы писать читаемый код; рассмотрим примеры применения. Регистрация открыта по ссылке.

Комментарии (4)


  1. GavriKos
    28.11.2022 13:26
    +3

    Чет https://distrotest.net/ куда то не туда ведет.. В итоге какой то сайт музыкальный, https://www.natesmithmusic.com


  1. pharo
    28.11.2022 18:53

    Не упомянут сайт copy.sh
    где можно загрузить и попробовать и «экзотические» ОС, как к примеру KolibriOS в разделе x86 (и поиграть в игры) и другие как ReactOS…

    P.S. В KolibriOS применяется один клик мыши для запуска приложения.


  1. space2pacman
    29.11.2022 14:58

    А как работают эти эмуляторы? Как они эмулируют?


    1. themen2
      29.11.2022 22:57
      +2

      А это не входит в цели этой маркетинговой статьи). Написал копирайтер и забыл)