Сегодня 21 октября 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 может стать самым востребованным среди профессионального сообщества языком программирования. Готовы поспорить с данным утверждением? Приводите свои аргументы в комментариях к заметке.

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про программы
 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Официальные подробности патча 2.5 для Cyberpunk 2077: стрельба с двух рук, контент по Edgerunners 2 и поддержка модов на консолях 2 ч.
Nvidia выпустила видеодрайвер, который ускорит компиляцию шейдеров в совместимых играх с минут до секунд 2 ч.
Xbox оценили в $150 млрд: частные инвесторы присматриваются к игровому бизнесу Microsoft на фоне слухов о продаже 2 ч.
Croteam анонсировала ураганный шутер Serious Sam: The Third Encounter — фанаты ждали этого 24 года 3 ч.
ИИ добрался до древнего кода: OpenAI научилась переносить программы с COBOL с точностью 97,9 % 3 ч.
AMD и Intel объединились, чтобы упростить запуск ИИ-моделей на процессорах x86 3 ч.
Слухи: спустя 18 лет и более полумиллиарда долларов Beyond Good and Evil 2 так и не выбралась из предпроизводства 5 ч.
Критические уязвимости PHP поставили под угрозу более 40 % сайтов в интернете 5 ч.
Dark Souls и BioShock всё ещё в моде: наполеоновский боевик Valor Mortis от авторов Ghostrunner окупился за неделю 6 ч.
Авторы ремастера The Wolf Among Us представили обновлённый «волчий» облик главного героя и особое предложение для владельцев оригинала 7 ч.
Amazon направит €16 млрд на расширение инфраструктуры в Германии в 2027 году 2 ч.
На заводе-долгострое Intel в Огайо оживление — спустя четыре года с начала стройки появился намёк на крышу 2 ч.
ИИ-фабрика за 14 дней: Nvidia представила модульные дата-центры на Vera Rubin в контейнерах 2 ч.
Памяти не хватает, цены растут: Samsung и SK hynix могут вернуть в параллельный импорт в России 4 ч.
В Британии украли 153 км кабелей связи — более 100 тысяч человек лишились интернета и телефонов 5 ч.
QNAP выпустила JBOD-массивы и карту расширения с поддержкой USB 4 5 ч.
Робот Unitree устроил кунг-фу-шоу: прыгнул с четырёхметровой высоты, поколотил машину и стал телохранителем 5 ч.
В России установили почти 6000 базовых станций 5G — это менее 1 % от всех станций 5 ч.
Компромиссы за $1999: первые обзоры рассказали, чем хорош и плох складной iPhone Duo 5 ч.
На Луне вот-вот появится почти обычный суперкомпьютер на колёсах — он будет запускать ИИ и обрабатывать данные прямо на месте 6 ч.