Сегодня 26 апреля 2024
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.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
AMD выпустила драйвер с поддержкой игры Manor Lords и исправлением множества ошибок 2 ч.
Telegram обновился: рекомендованные каналы, дни рождения, трансляция геопозиции и аватарки при пересылке 6 ч.
В Steam и на консолях вышел боевик Another Crab's Treasure в духе Dark Souls, но про краба-отшельника — игроки в восторге 7 ч.
TikTok не рассматривает продажу американского бизнеса — соцсеть просто закроется в США 7 ч.
Blizzard отменила BlizzCon 2024, но с пустыми руками фанатов не оставит 8 ч.
Состоялся релиз «Кибер Инфраструктуры» версии 5.5 с VDI, DRS и рядом других улучшений 8 ч.
Объявлены обладатели международной премии Workspace Digital Awards-2024 9 ч.
ИИ-стартап Synthesia разработал по-настоящему эмоциональные аватары, которые так и просятся в дипфейки 10 ч.
Intel выпустила драйвер с поддержкой Manor Lords 10 ч.
Один из лучших модов для Doom II скоро получит ремейк на Unreal Engine 5 — страница Total Chaos появилась в Steam 11 ч.
Выручка Intel выросла на 9 %, но прогноз на текущий квартал вызвал падение курса акций на 7,75 % 40 мин.
Honor представила смартфон Honor 200 Lite с Dimensity 6080 и 108-Мп камерой 2 ч.
TSMC представила техпроцесс N4C — благодаря ему 4-нм чипы станут дешевле 5 ч.
Wacom представила первый интерактивный OLED-дисплей — 13-дюймовый Movink стоимостью $750 5 ч.
Новая статья: Обзор Ryzen 7 8700G: на что способна интегрированная графика для игр в 1080p 6 ч.
Apple избавилась от директора по маркетингу Vision Pro — с продажами гарнитуры и правда не всё в порядке 9 ч.
Китай отправил на космическую станцию пилотируемый корабль «Шэньчжоу-18» с тремя тайконавтами 9 ч.
В Китае испытали нейроинтерфейс Neucyber, который составит конкуренцию Neuralink 10 ч.
Cooler Master представила корпус MasterBox 600 с поддержкой плат с разъёмами на обороте 10 ч.
Китайские компании во главе с Huawei выпустят собственные чипы памяти HBM к 2026 году 10 ч.