OS.js: десктоп на JavaScript
Разработчик Андерс Эвенруд (Anders Evenrud) сделал любопытный проект OS.js, который он называет «операционной системой на Javascript».
Название поменяется в ближайшее время, потому что оно не отражает реальность: на самом деле OS.js — не операционная система, а оболочка и оконный менеджер в стиле Linux, с комплектом приложений на HTML5 и CSS2+, с PHP-бэкендом. Из приложений есть часы (HTML5-SVG, CSS2), видеоплеер (HTML5-Video), аудиоплеер (HTML5-Audio), файловый менеджер, терминал, графический редактор (HTML5-Canvas), игры и прочее. Они разработаны, в основном, на Glade Interface Designer (GTK+3 XML).
Производительности среднего ПК вполне хватает для одновременной работы 20 окон, включая видеоплеер, аудио и др. в полноэкранном режиме Chrome/Chromium 14+ под Linux. Эмулятор ОС работает и на мобильных устройствах под Android и iOS, хотя он ещё не оптимизирован для них (размер окон и прочее). Есть некоторые проблемы под Opera и IE из-за плохой поддержки Glade/GTK CSS. Посмотреть на OS.js в действии можно на видео или запустить в браузере работающий прототип с отключенным TCP/IP. Примечание: виртуальная файловая система пока не работает под Windows.
OS.js включает в себя встроенный компилятор и виртуальную файловую систему, так что можно разрабатывать новые приложения и нормально работать с файлами. Приложения взаимодействуют через публичные API с серверным скриптом, который эмулирует функции операционной системы (файловая система, сетевые вызовы, сервисы и т.д.).
Весь проект OS.js в ближайшее время будет опубликован под GPL v.3 (адрес будущей страницы на github), а сейчас автор может выслать исходники, если у вас есть интерес к проекту. Эмулятор ОС довольно компактен: <300 КБ на JavaScript (включая приложения и прочее), <200 КБ на CSS, <300 КБ на XML (включая приложения) и <200 КБ на PHP.
P.S. Идея веб-десктопов не нова, достаточно вспомнить eyeOS и CorneliOS.