Всё может JavaScript, и в браузере тоже

Общее  /  Языки JavaScript  /  Git

Я мог бы рассказать про релиз Node.js v10.12.0, но это не особо интересно.

Скорее всего, вы слышали про возможность поиграть в Doom в браузере, но сегодня не об этом :) Если интересно, проект js-dos использует em-dosbox для запуска DOS-овских программ в браузере.

Я вкратце расскажу о нескольких проектах, про которые я узнал сегодня, посмотрев на один из них.

Давным-давно в ленте твиттера…

isomorphic-git

… я увидел проект isomorphic-git (далее — isogit) и сохранил в Trello, чтобы позже на него посмотреть и поделиться с вами. Посмотрел. Делюсь.

isogit — клиент git с базовой функциональностью, доступный как в Node.js, так и в современных браузерах:

Он даёт возможность читать и пушить в репозитории git прямо из браузера. Зачем? А почему бы и нет? :) Если серьёзно, думаю, можно придумать варианты использования помимо очевидных — “виртуальная песочница” и ChromeBook.

Есть достаточно много проектов, которые делают что-то похожее, но я согласен с автором, что isogit получше будет. В общем, если хотите, поиграйтесь, а потом прочитайте, на какие проекты я набрёл, читая про isogit.

BrowserFS

BrowserFS — это проект, позволяющий в браузере использовать нодовское API для работы с файлами. А в качестве файловой системы может использоваться (список неполный, подробности по ссылке выше):

Прочитал и про BrowserFS и узнал ещё про пару исследовательских проектов…

DoppioJVM

DoppioJVM — это Java Virtual Machine на JavaScript в вашем браузере. Дальше должны быть шутки про то, что Java теперь сможет жрать память и в вашем браузере, но мне лень :)

Browsix

Browsix — это “просто” Unix в вашем браузере. Можно запускать приложения на C, C++, Go и Node.js. И POSIX shell scripts.

Websockify

Но это ещё не всё. DoppioJVM использует Websockify. С его помощью приложения из браузера могут общаться через WebSockets с TCP-серверами (без модификации оных).

Можно, конечно, продолжить и сказать, что Websockify часть проекта noVNC… Но это я оставлю для самостоятельного изучения :)

Найдёте что-то интересное — делитесь в твиттере:

Общее  /  Языки JavaScript  /  Git