Сегодня 05 мая 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
Тренды 🔥
SpaceX представила скафандр EVA для выхода в открытый космос — с повышенной подвижностью и проекционным экраном 3 ч.
HPE представила СХД среднего уровня Cray Storage Systems C500 для задач НРС и ИИ 4 ч.
SK hynix продала всю память HBM, запланированную к выпуску в 2024–2025 гг. 4 ч.
Власти США продали на аукционе 5,34-ПФлопс суперкомпьютер Cheyenne из-за растущего числа сбоев и протечек СЖО 4 ч.
В этом квартале цены на память DRAM вырастут более чем на 20 % 9 ч.
Презентация новых Apple iPad пройдёт в удобное для европейцев и китайцев время 11 ч.
Французский стартап представил технологию RIS для дешёвого спутникового интернета 12 ч.
Учёные создали энергонезависимую память, которая не портится при нагреве до 600 градусов 21 ч.
Samsung объявила о создании 3-нм мобильного чипа, который для неё спроектировал ИИ 21 ч.
Asus представит на Computex 2024 консоль ROG Ally 2024, блок питания Thor 1600 III, ИБП Mojlonir и многое другое 24 ч.