реклама
Программное обеспечение

Занимательная 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.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
Роскомнадзор с декабря начнёт блокировать сайты за публикацию научной информации о VPN для обхода блокировок 2 мин.
Новый трейлер раскрыл дату выхода Mandragora — метроидвании с элементами Dark Souls и нелинейной историей от соавтора Vampire: The Masquerade — Bloodlines 56 мин.
В Японии порекомендовали добавить в завещания свои логины и пароли 3 ч.
Обновления Windows 11 больше не будут перезагружать ПК, но обычных пользователей это не касается 3 ч.
VK похвасталась успехами «VK Видео» на фоне замедления YouTube 5 ч.
GTA наоборот: полицейская песочница The Precinct с «дозой нуара 80-х» не выйдет в 2024 году 7 ч.
D-Link предложила устранить уязвимость маршрутизаторов покупкой новых 7 ч.
Valve ужесточила правила продажи сезонных абонементов в Steam и начнёт следить за выполнением обещаний разработчиков 8 ч.
Австралия представила беспрецедентный законопроект о полном запрете соцсетей для детей до 16 лет 8 ч.
Биткоин приближается к $100 000 — курс первой криптовалюты установил новый рекорд 9 ч.
Астрономы впервые сфотографировали умирающую звезду за пределами нашей галактики — она выглядит не так, как ожидалось 2 ч.
Представлена технология охлаждения чипов светом — секретная и только по предварительной записи 2 ч.
Японская Hokkaido Electric Power намерена перезапустить ядерный реактор для удовлетворения потребности ЦОД в энергии 2 ч.
Грузовик «Прогресс МС-29» улетел к МКС с новогодними подарками и мандаринами для космонавтов 3 ч.
Meta планирует построить за $5 млрд кампус ЦОД в Луизиане 3 ч.
HPE готова ответить на любые вопросы Минюста США по расследованию покупки Juniper за $14 млрд 4 ч.
Thermaltake представила компактный, но вместительный корпус The Tower 250 для игровых систем на Mini-ITX 5 ч.
Флагманы Oppo Find X8 и X8 Pro на Dimensity 9400 стали доступны не только в Китае — старший оценили в €1149 5 ч.
«ВКонтакте» выросла до 88,1 млн пользователей — выручка VK взлетела на 21,4 % на рекламе 6 ч.
«Квантовые жёсткие диски» стали ближе к реальности благодаря разработке австралийских учёных 6 ч.