Сегодня 26 июля 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Программное обеспечение

Занимательная JavaScript'омания: от полноценных приложений до эмуляторов ПК

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

Начать обзор следует с JavaScript PC Emulator — вне всяких сомнений, самой потрясающей реализации полноценного эмулятора x86-совместимого компьютера, целиком и полностью написанного на упомянутом языке. Да-да, именно так — полноценного и функционирующего под управлением настоящей операционной системы Linux в окне обычного обозревателя, будь то Internet Explorer, Chrome, Opera, Firefox или Safari.

Автором разработки является французский программист Фабрис Беллар (Fabrice Bellard), приложивший руки к созданию кроссплатформенного эмулятора QEMU и ряда других известных проектов в сфере свободного ПО. По мнению Фабриса, Javascript PC Emulator является отличным решением для изучающих Linux пользователей и отчетливо демонстрирует, насколько далеко шагнул технический прогресс в области веб-технологий.

При помощи эмулируемого средствами JavaScript окружения Linux можно выполнять всевозможные команды в консоли операционной системы, управлять файлами, компилировать программы на языке C и даже разворачивать сетевые сервисы, правда, в пределах локального хоста (доступа во внешнюю сеть, к сожалению, не предусмотрено). Для удобства работы в JavaScript PC Emulator предусмотрен текстовый буфер обмена данными между виртуальной машиной и окном браузера, также имеется возможность выгрузки любых файлов из эмулируемого ПК. Более подробную информацию справочного характера можно получить в разделе FAQ проекта, определенно претендующего на звание самого революционного продукта.

Не менее впечатляющим является JavaScript-творение Майкла Винсента (Michael Vincent), представленное по адресу michaelv.org и практически с аптекарской точностью воссоздающее интерфейс эпохальной платформы Windows 3.1. Разработка энтузиаста не только превосходно передает дух времени, виртуозно вырисовывая окошки в стиле канувшей в Лету системы, но и позволяет играться в «Сапера», возиться с командной строкой MS-DOS 6.22 и различными программами. Читателей 3DNews, хорошо помнящих те славные времена, когда компьютеры были большими, мониторы маленькими и черно-белыми, а звук пятидюймового дисковода ласкал слух не хуже мэтров отечественной и зарубежной эстрады, наверняка удивит присутствие в JavaScript-реинкарнации Windows 3.1 интернет-обозревателя. Если нам не изменяет память, то таковой в составе ОС Microsoft появился несколько позже — с выпуском пакета дополнений Microsoft Plus! для Windows 95. Впрочем, мы можем и ошибаться.

Повествуя об эмуляторах десктопов, нельзя пройти мимо курируемого норвежским гуру кодинга Андерсом Эвенрудом (Anders Evenrud) проекта OS.js, в рамках которого ведется кропотливая работа по созданию онлайновой операционной системы с использованием JavaScript и элементов языка разметки HTML5. На данном этапе веб-платформа включает менеджер окон а-ля Xfwm, браузер, почтовый клиент, развлекательные и мультимедийные приложения, а также средства разработки ПО. OS.js поддерживает работу с виртуальной файловой системой, умеет сохранять и восстанавливать пользовательские сессии, имеет в своем составе центр приложений для поиска, установки и удаления пакетов в системе. С полным списком ключевых особенностей продукта можно ознакомиться на этой странице многообещающего проекта.

Пристального внимания заслуживает JS-разработка Александра Демина radio86, позволяющая поворошить листву былого и поиграться с самодельным восьмиразрядным компьютером «Радио-86РК», инструкции по сборке которого публиковались в свое время на страницах научно-технического журнала «Радио». В составе эмулятора (упакованного в один-единственный файл!) представлены различные игры, языки программирования, отладчики, редакторы и прочие системные инструменты, включая ассемблер и дисассемблер. Стоит добавить также, что эмуляция происходит на уровне команд процессора Intel 8080, а для демонстрации графики задействован определенный в спецификациях HTML5 тег <canvas>. Дополнительные сведения о проекте можно найти в блоге разработчика.

Кто до сих пор, спустя десятилетия, ностальгирует по домашнему компьютеру ZX Spectrum, тому определенно стоит присмотреться к проекту JSSpeccy. Проследовав по приведенной ссылке, любой может окунуться в воспоминания о минувшей молодости и с удовольствием провести время за восьмибитными игровыми шедеврами. JavaScript-эмулятор поддерживает загрузку файлов форматов SNA и TAP, коих в изобилии представлено в глобальной сети, позволяет перенастраивать клавиши управления и приостанавливать выполнение программ. Автором JSSpeccy является Мэтт Весткотт (Matt Westcott), любезно предоставляющий исходники своего творения всем желающим поспособствовать развитию и дальнейшему совершенствованию полезного начинания.

Посчастливилось попасть под прицел скорых на руку акул программирования и игровой консоли Nintendo Entertainment System, претерпевшей второе рождение в JavaScript-эмуляторе JSNES. Благодаря стараниям Бена Фиршмана (Ben Firshman) любой интернет-пользователь получил возможность еще раз с умилением взглянуть на Super Mario, Contra, Zelda и другие культовые игрушки. Никаких регистраций на сайте не требуется: просто щелкаем по приведенной ссылке, выбираем из выпадающего списка подходящий ROM-файл (образ картриджа) и погружаемся в игровой процесс. При необходимости можно отрегулировать размер выводимой на экран картинки, включить звуковое сопровождение либо прервать выполнение приложения. Знатоки IT-индустрии могут скачать исходные коды JSNES, поспособствовать автору в развитии проекта и оптимизации программного кода эмулятора.

Немало в Интернете представлено JS-приложений, предназначенных для решения практических задач. Из наиболее ярких подобного рода разработок отметим JSMad и PDF.js. В рамках первого проекта энтузиастами ведется работа по созданию на базе JavaScript-движка проигрывателя файлов MP3, в рамках второго — реализация веб-инструментария для просмотра PDF-файлов. И если первая разработка представляет скорее академический интерес, нежели практический, то вторая уже снискала поддержку сообщества разработчиков Mozilla. Ожидается, что наработки PDF.js будут использованы для включения в состав браузера Firefox средства просмотра PDF-документов, которое не только упростит работу с файлами упомянутого формата, но и положительным образом скажется на безопасности пользователя при работе в Сети.

Справедливости ради отметим, что перечисленные нами продукты — лишь малая толика решений, демонстрирующих масштаб фактически безграничных возможностей скриптового языка. Чего только стоят представленные в Chrome Web Store онлайновые разработки, многопользовательская игра BrowserQuest и серверный JavaScript-фреймворк Node.js, предназначенный для создания масштабируемых сетевых приложений! Благодаря стремительному развитию технологий HTML5, вдохнувших вторую жизнь в JavaScript, мы сегодня имеем уникальную возможность наблюдать за сменой приоритетов в сфере веб-программирования и ключевых ролей в продвижении мультимедийно насыщенных, интерактивных интернет-площадок. Будущее определенно принадлежит HTML5, и нет никаких сомнений в том, что со временем JavaScript может стать самым востребованным среди профессионального сообщества языком программирования. Готовы поспорить с данным утверждением? Приводите свои аргументы в комментариях к заметке.

 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Apple ответит в суде за то, что пропустила в App Store мошеннический криптокошелёк — пользователи потеряли $1,8 млн 6 ч.
«Хватит пугать людей» — Дженсен Хуанг раскритиковал апокалиптическую риторику ИИ-отрасли 21 ч.
Новая статья: Moss: The Forgotten Relic — сказочный сборник, сбежавший из VR-плена. Рецензия 21 ч.
В США разгорелись споры между сторонниками и противниками открытых ИИ-моделей 25-07 20:21
OpenAI целую неделю не замечала, что её ИИ-агенты взломали Hugging Face 25-07 11:18
Microsoft представила ИИ-модели для работы с изображениями и речью — они значительно экономнее аналогов OpenAI 25-07 11:11
Чат-бот Meta AI получил возможности персонального помощника как в ChatGPT и Gemini 25-07 06:00
Новая статья: The Alters: Last Variable — последняя тайна. Рецензия 25-07 00:04
Глава Amazon Games перенёс Tomb Raider: Catalyst на 2028 год, но Amazon Games это опровергла 24-07 23:12
Anthropic внезапно выпустила Claude Opus 5 — почти как Fable 5, но по ценам на уровне предшественника 24-07 23:11
Корабль «Союз МС-28» доставил с МКС в Казахстан двух россиян и американца 4 ч.
Сбой в «Аллее дата-центров» привёл к мгновенному отключению 3 ГВт мощностей — рекорд для энергосистемы США 4 ч.
Astera Labs представила первые в отрасли 3,2-Тбит/с интеллектуальные ретаймеры и редрайверы для Ethernet и UALink 8 ч.
Apple выпустит первый водонепроницаемый iPad в этом году 9 ч.
Цены на клиентские процессоры Intel выросли на 27 %, объёмы продаж сократились на 8 %, но чипов всё равно не хватило на всех 14 ч.
OpenAI настроена интегрировать ChatGPT в умные очки сторонних разработчиков 20 ч.
Графические процессоры Nvidia отправятся на Луну до конца года 22 ч.
«АМДтехнологии» и «Е-Флопс» развернули «двухконтурный» суперкомпьютер для ИИ- и HPC-задач 23 ч.
ИИ-платформа Liqid UltraStack объединяет 30 ускорителей AMD Instinct MI350P 24 ч.
В семейство AMD Ryzen AI Embedded X100 вошли процессоры с 8–16 ядрами 24 ч.