Сообщество Mozilla широкой публике особо представлять не нужно. В рамках этого сообщества появляются не только новые версии браузера Firefox, но и новые инновационные вещи. Одним из таких интересных проектов является веб-сервис Bespin. Это экспериментальная онлайновая рабочая среда веб-разработчика, основанная на "облачных" и веб-технологиях.
По сути, Bespin - это сервис вроде Google Docs, только вместо редактора документов и таблиц здесь предлагается юниксообразный редактор простого текста (plain text) наподобие Vim или Emacs. Данный редактор предназначен для редактирования файлов JavaScript, HTML, CSS и имеет соответствующую подсветку синтаксиса.
Другими словами, Bespin - это рабочая открытая среда или IDE для веб-разработчиков. Среда на данный момент включает в себя веб-редактор, запускаемый в браузере, и "облачный" файл-менеджер, позволяющий хранить исходные тексты на сервере и организовывать совместный доступ нескольких человек к исходным текстам.
Попробовать на практике проект можно, посетив сервис по адресу bespin.mozilla.com. Предварительно требуется простая регистрация.
Сразу скажу, что данный веб-сервис является экспериментальным, находится в стадии бурного развития и с течением времени в нём многое может измениться. Bespin развивается виртуальной лабораторией Mozilla Labs, известной пользователям Firefox многими интересными разработками - системой синхронизации Weave, легковесными визуальными темами Personas, командной строкой для браузера Ubiquity.
Рабочая среда Bespin создана с использованием новшеств HTML 5, и, в частности, элемента Canvas. Поэтому требуется наличие определённых браузеров, поддерживающих грядущий стандарт HTML 5. Сами разработчики Bespin пока рекомендуют браузеры Firefox 3.5, Safari 4 и Chrome.
По сути и по своему виду, Bespin - это самый настоящий Unixway. Зарегистрировавшись на сервисе, попадаем в рабочую среду, выдержанную в строгом стиле славных юниксовых редакторов - чёрный фон, белые буквы. Всё выглядит очень аскетично.
Хотя в этой рабочей среде есть и некое подобие панели инструментов. В верхней части окна находится заголовок с кнопками наиболее важных функций. Основные функции в этой панели инструментов - это вызов файлового менеджера, предпросмотр набранного текста в отдельном табе браузера, сохранение файла, выбор размера шрифта, вызов консоли и совместная разработка. Также здесь отображается некоторая информация о текущем проекте. Вполне возможно, что в ближайшее время эта панель инструментов будет переработана.
Однако самое главное и интересное в Bespin - это консоль. Все основные функции вызываются именно через консоль, и сама рабочая среда работает в режиме командной строки, что делает её ещё более близкой по духу классическим юниксовым редакторам.
Консоль вызывается через кнопку в заголовке или же через горячие клавиши Ctrl+J. Появится окно, в котором команды вводятся в нижней части, а в верхней отображается действие или история введённых команд. Все команды можно увидеть, набрав в командной строке "help".
В командном режиме работает автодополнение по клавише Tab, и доступные команды появляются тут же, во вспомогательном выпадающем списке. Консольный режим также позволяет задавать "алиасы" всем командам.
Непосредственно из командной строки можно создавать проекты, наполнять эти проекты файлами, создавать и удалять директории и файлы. Проекты можно экспортировать в архивы zip или tgz. Соответственно, поддерживается и импорт файлов.
Bespin имеет возможность пользоваться системой контроля версий, чтобы отслеживать историю файлов вашего проекта. В настоящее время поддерживается распределённая система управления версиями Mercurial.
И несколько слов о самом редакторе кода. Редактор поддерживает простейшие функции редактирования, реализована возможность предпросмотра набранного текста в отдельном табе, имеется нумерация строк и, конечно же, подсветка кода.
В первую очередь, реализована подсветка синтаксиса CSS, JavaScript, HTML. Тип кода редактор определяет автоматически. Но если нужно, можно вручную переключить режим подсветки командой "set language html".
Как и положено настоящему юниксовому редактору, Bespin имеет специфические команды для редактирования - clear для очистки экрана, clipboard для копирования контента файла в буфер обмена, goto для перехода к нужной строке. И имеется наличие горячих клавиш. Практически для любой команды существует своя клавишная комбинация.
Пользователю можно и индивидуально настраивать свой редактор. Специально для настроек пользователя непосредственно на сервере в каталоге проектов имеется специальный проект под названием BespineSetting. Здесь находятся файлы конфигурации, история команд, цветовые темы для редактора, плагины. Все эти файлы можно загрузить тут же в редактор и изменить по своему усмотрению.
Само собой, в последних версиях реализована поддержка плагинов. Bespin строится на основе небольшого ядра, и вся дополнительная функциональность реализуется через расширения. Простейшим примером плагинов могут быть расширения для подсветки синтаксиса языков, отличных от CSS, JavaScript и HTML.
Ну и стоит сказать, что сервис Bespin является открытым проектом, распространяется по свободным лицензиям. Поэтому имеется возможность скачать исходные коды проекта и собрать его на своём личном сервере.
Кратко подводя итоги, отметим, что Bespin обладает значительным потенциалом развития, так как включает в себя консоль, API, систему плагинов. Однако этот потенциал ещё до конца не реализован, и проект находится в процессе открытого становления. Например, API может изменяться от выпуска к выпуску. Многое ещё не работает. Например, в текущей версии веб-сервис не поддерживает кириллицу.
Основное же развитие Bespin - это стать не только редактором для веб-программистов, но и превратиться в универсальный мощный web-редактор для plain text. И тогда, возможно, у нас появится свободное "облачное" веб-приложение уровня Vim или Emacs в лучших традициях Ричарда Столлмена.
Михаил АСТАПЧИК
Горячие темы