Текст книги "Журнал «Компьютерра» №32 от 06 сентября 2005 года"
Автор книги: Компьютерра Журнал
сообщить о нарушении
Текущая страница: 1 (всего у книги 9 страниц) [доступный отрывок для чтения: 4 страниц]
Журнал 604 Компьютерра
Журнал «Компьютерра» №32 от 06 сентября 2005 года
(Компьютерра – 604)
ТЕМА НОМЕРА: WEB-A`-PORTE
Мода, как известно, – штука переменчивая. Но несмотря на ее непостоянность, ей подвластны все. Что в искусстве, что в строительстве, что в искусстве веб-строительства. В этой теме номера я хотел бы рассказать о модных технологиях «строительства» современных сайтов. Причем именно о тех технологиях (не касаясь собственно дизайна), которые «готовы для использования» уже сейчас.
Не секрет, что никто из серьезных веб-дизайнеров уже давно не оформляет текст в чистом HTML. Основные усилия перешли в технологическую плоскость – создать такую систему, в которой уже абсолютно любой человек, даже плохо представляющий, как все работает, может управлять своим сайтом.
И в первой статье речь идет о CMS (Content Management System) – системе управления содержимым сайта. Алексей Моисеев доступным языком объясняет, зачем она нужна, как работает и почему ни один грамотный веб-дизайнер без нее не обходится.
Затем Федор Смирнов рассказывает о технологии, которую не назовешь новой, но, по моим наблюдениям, мало кто может объяснить, в чем она заключается. Статья, прекрасно описывающая суть технологии, позволит многим, кто лишь слышал об AJAX, теперь задуматься и о ее применении.
И напоследок я оставил «нетехнологическую», но очень любопытною статью, чьи авторы рассказывают о том, как устроен организационный процесс создания сайта. После ознакомления с нею становится понятнее многое – в частности, из чего складывается цена сайта и на чем можно сэкономить.
Надеюсь, прочитав сегодняшнюю тему номера, вы будете лучше представлять, что вам нужно и как этого добиться в процессе разработки сайта. А ознакомившись хотя бы с несколькими сетевыми ресурсами, о которых рассказано во врезках Ильи Баркова, вы сможете разговаривать c веб-дизайнерами на одном языке.
WebScript.Ru целиком посвящен веб-программированию на двух языках: PHP и Perl. Этот сайт существует уже несколько лет, имеет свой, и немалый, круг посетителей. Новые статьи публикуются примерно раз-два в месяц, но не потому, что нет предложений, а потому, что отбираются действительно лучшие, профессиональные статьи.
В рамках проекта WebScript.Ru действует несколько сайтов. Большой каталог скриптов, написанных на PHP, Perl, ASP и JavaScript, располагается на www.webscript.ru/scripts
[Закрыть].
Кроме того, по адресу gnezdo.webscript.ru
[Закрыть] находится своеобразный каталог ссылок на интересные ресурсы Интернета, названный «Гнездом».
И самое любопытное – это две CMS, разработанные создателями WebScript.Ru. Обе бесплатны и доступны для использования. Первая – MobilePublisherPHP – как нетрудно понять из названия, использует PHP и СУБД MySQL. Работы над ней временно приостановлены. Вторая CMS – Sanitarium WebLog – использует Perl и базы Berkeley. Эта CMS развивается и процветает.
И еще на сайте есть очень большой форум, где всегда можно получить ответ на интересующий вас вопрос.
Софтерра: Безоконный менеджер
В компьютерном мире есть люди, буквально помешанные на эффективности своей работы. Они не любят мышь, считая ее неудобным инструментом, отнимающим кучу времени. Их бросает в дрожь при виде человека, тратящего десятки секунд на поиск нужной программы в необъятном меню «Пуск». Они с рождения печатают вслепую и не понимают, почему кто-то этого еще не умеет. Даже если они начинают работать под Windows, то рано или поздно переходят на Linux.
Окна и мыши
Современные интерфейсы, основанные на концепции WIMP (Window, Icon, Menu, Pointing device), рассчитаны в первую очередь на простоту освоения. Трудно спорить с тем, что научиться кликать мышью по кнопкам и выбирать пункты меню значительно проще, чем запоминать сотни команд со всеми их параметрами и опциями. Cам по себе WIMP еще не залог «интуитивности», но если разработчик уделил дизайну интерфейса хотя бы толику времени, то общение даже со сложными программами становится более или менее простым. WIMP используется как в Windows, так и в большинстве графических сред Linux (Gnome, KDE и т. д.). И, пожалуй, надо отдать этой концепции должное – если бы не она, компьютер еще долго был бы «черным ящиком», работать с которым могли бы только специалисты.
Впрочем, многие специалисты таким положением дел как раз и недовольны. Они готовы читать длинные инструкции и разбираться во внутренней логике программ – и они знают, что затраченные усилия в конце концов окупятся. Их оружие – клавиатура, их интерфейс – командная строка, их софт – консольные приложения.
***
Однако работа только в текстовом режиме сродни монашеству – ни фотографий, ни сайтов с картинками, ни видео. Администрировать веб-сервер еще можно, но не жить же в таких спартанских условиях постоянно! Волей-неволей приходится перебираться под графические интерфейсы – а они зачастую плохо совместимы с клавиатурным подходом к реальности.
Взять, например, первое понятие из четверки WIMP. Как известно, «окно» – это такой прямоугольник на экране, в котором «обитает» программа. Его можно передвинуть, свернуть, развернуть, потянуть за рамку и изменить размер – все это делается мышкой. С клавиатуры тоже можно – но чисто теоретически. Практически же – неудобно.
Даже если забыть про клавиатуру, окно как таковое не кажется слишком удачным изобретением. Очень уж любят эти бестии рассаживаться по экрану в полном беспорядке, загораживать друг друга, порой занимать все доступное пространство, а иногда, напротив, оставлять нетронутой огромную экранную площадь. Забота по их упорядочиванию ложится на плечи пользователя и отвлекает от главного – решения текущей задачи. Мы, конечно, к этому уже привыкли и без окон почти не представляем графический интерфейс – но все же, неужели ничего лучше не придумано?
Погонщики окон
Пользователи одной очень распространенной ОС, пожалуй, и не знают, что есть такой тип приложений, как менеджер окон (window manager). Действительно, в Windows он намертво вшит в систему, так что большой свободы выбора здесь нет. Все окошки выглядят и ведут себя совершенно одинаково – если, конечно, само приложение не пытается с этим бороться (как WinAMP и другие программы с изменяемым интерфейсом). В Линуксе ситуация обратная – в соответствии с «путем Unix» (unix way) менеджер окон является одним из кирпичиков, из которых собирается ОС. Его можно вытащить (система не рухнет), можно поставить другой, можно написать свой. Например, такой, какой нужен именно вам.
Большинство оконных менеджеров довольно близки по функциональности, слегка отличаясь способами настройки, поведением, оформлением и скоростью работы. Выбор из них – скорее вопрос привычек и вкуса. Тем удивительнее было встретить среди представителей этого вида нечто совершенно новое. Речь идет о менеджере под названием Ion, который его автор позиционирует как поиск «годного к употреблению» графического интерфейса
Наткнулся я на эту разработку как раз в тот момент, когда меня постигло разочарование. Я полностью разочаровался в среде Gnome, случайно обнаружив, что эмулятор терминала xterm под минималистичным оконным менеджером Fluxbox на машине уровня Pentium 250 запускается быстрее, чем тяжеловесный gnome-terminal под «родным» для него Gnome[Gnome не является оконным менеджером, он представляет собой графическую среду, включающую помимо собственно менеджера (сейчас это metacity) множество разнообразных приложений. Но без большинства из них можно спокойно обойтись] на ноутбуке с гигагерцовым Pentium M. Пришлось искать альтернативу – тут-то на глаза и попался Ion. Пройти мимо было невозможно. Описание было столь заманчивым, что даже отсутствие rpm-пакета и необходимость собирать его из исходников меня не остановили. Пришлось скачать пару дополнительных программ и отредактировать несколько конфигурационных файлов, однако затем все собралось, и – после заветного make install – я оказался в совершенно необычной среде (рис. 1)[Статья основана на стабильной второй версии. С сайта Ion’а можно скачать также текущие «снимки» (development snapshot) с разрабатываемой третьей версии].
Рамки и закладки
Как и положено программе, рассчитанной на эффективность, а не на пресловутую интуитивную понятность, Ion встретил меня своим man’ом – краткой инструкцией по эксплуатации. Из нее стало известно, например, что окон в менеджере нет (по крайней мере, таких, к которым все привыкли). Честно говоря, в нем еще много чего нет. Например, нет кнопки «Пуск» или ее аналога, нет иконок на рабочем столе, нет трея (по крайней мере, по умолчанию), нет панели задач, нет часиков в углу экрана… Ion – это «чистый» window manager, без лишних наворотов.
Главный принцип работы – разделяй, объединяй и властвуй. Экран разбивается на несколько частей, именуемых рамками, или фреймами (frame), в которых и запускаются программы. В одном фрейме можно запустить сколько угодно приложений, но отображаться в каждый момент времени будет только одно «окно», развернутое на весь размер рамки, а от остальных останутся лишь закладки на заголовке, – аналогично поступают Firefox и Opera с отдельными веб-страницами. Естественно, фреймы не могут пересекаться и накладываться друг на друга, зато их размеры меняются согласованно, можно разделить текущий фрейм на два или удалить, склеив с другим, переместить окно из одного в другой и т. д. Все операции доступны с клавиатуры (еще бы!), но и мышка не отправлена на свалку истории – несмотря на отсутствие привычных трех кнопок в углу окна, правый клик вызывает контекстное меню, в котором можно поискать нужную функцию.
Конечно, в Ion’е есть понятие рабочего места (workspace). Юниксоидам не нужно объяснять, что это такое, а вот Windows-пользователи вряд ли знакомы с этим полезным объектом. Грубо говоря, каждый workspace – это просто независимый «стол», на котором размещаются окна. Например, на одном рабочем месте можно поместить браузер и ICQ-клиент и назвать его «Сеть», на другом – заниматься разработкой программ, на третьем – проверять почту, переключаясь между ними в случае необходимости. Для Ion’а обычный workspace – это что-то вроде набора фреймов со своими приложениями, и не более того.
Несмотря на логичность предлагаемого интерфейса, не всем программам нравится жить в его жестких рамках (в прямом и переносном смысле). Если браузер или текстовый процессор LyX, в котором пишутся эти строки, совсем не против подобной философии, то, например, четыре окошка графического редактора Gimp (палитра, выбор цвета, список слоев и само редактируемое изображение), помещенные в один фрейм, смотрятся довольно забавно: чтобы выбрать, например, зеленую кисть заданного размера, нужно три или четыре раза переключаться между табами. Для борьбы с подобными программами в Ion’е предусмотрен специальный тип рабочего места – WFloatWS, в котором присутствуют уже классические «плавающие» окна, поддерживающие, однако, табы (рис. 2).
***
Есть еще несколько «вкусностей», которые придутся по душе любителям клавиатурных интерфейсов. В первую очередь, встроенная командная строка (query, строка запроса), появляющаяся в низу текущего фрейма по нажатию F3. Конечно, это не полноценный shell, но она поддерживает дополнение с помощью кнопки Tab и вполне подходит для быстрого запуска нужного приложения. Столь же легко можно открыть произвольный man, подключиться к удаленной машине по ssh, открыть или отредактировать файл – причем автодополнение каждый раз будет работать наиболее разумным образом, предлагая выбирать только из подходящих для текущей операции объектов.
Ну а если использование одной лишь командной строки вам наскучило, можно нажать F12 и обнаружить меню, знакомое по другим менеджерам: выход и перезагрузка Ion’а, смена оформления, запуск терминала – привычные пункты здесь есть, а остальные можно добавить самостоятельно. Как именно? Об этом ниже.
Lua и доки
Если бы в Ion’е были только фреймы, о нем, наверное, все равно стоило бы написать – но вряд ли в нем можно было бы работать. Однако это далеко не все возможности, скрывающиеся за неказистым внешним видом и статусом «экспериментального проекта». Какие именно возможности? Да какие хотите! Как и многие другие свободные программы, Ion является не просто оконным менеджером, а эдаким конструктором по сборке оконных менеджеров. По тому же пути идет браузер Firefox, многие текстовые редакторы (Vim, Jed, Emacs), да и сам Linux порой называют «надстройкой над компилятором gcc» (в шутку, конечно). В качестве языка разработки Ion использует
[При этом сам Ion написан на C] – высокоуровневый объектно-ориентированный интерпретируемый язык, с которым я был знаком по его Palm-инкарнации Plua[См. «КТ» #498, «Сага о найденных мегагерцах»].
В простейшем случае Lua используется для базовой настройки буквально всего, что только можно настроить. Скажем, привязка горячих клавиш (keybinding) управляется конфигурационным файлом ion-bindings.lua, представляющим собой просто кусок lua-программы. Если вы хотите изменить стандартную «распальцовку» или добавить новые функции, вам именно сюда. Поначалу кажется, что синтаксис сложнее, чем обычно бывает в файлах настройки, но после нескольких экспериментов и анализа существующей конфигурации его правка превращается в сплошное удовольствие – особенно когда начинаешь понимать, какие возможности здесь открываются[Не стоит редактировать «глобальные» настройки, лежащие в /usr/local/etc/ion (или другом системном каталоге – зависит от установки); гораздо правильнее скопировать нужный файл в ~/.ion2/ и редактировать его там – в противном случае вы рискуете потерять ценные скрипты при переустановке или обновлении Ion’а].
Аналогичным образом, с помощью правки настроечных lua-файлов, можно изменять как поведение, так и внешний вид Ion’а. Скажем, мне пришлось сменить шрифты в выбранной теме оформления, чтобы они поддерживали Юникод и отображали русские буквы в заголовках окон, командных строках и меню[Настройка производится в файле draw.lua, а для запуска Ion’а в режиме unicode-совместимости следует использовать ключ -i18n].
***
Более того: помимо правки существующих элементов, можно создавать свои. Например, можно отредактировать системное меню, вызываемое по F12, а можно добавить свое собственное – и привязать его к какой-нибудь другой кнопке. Или сделать свою командную строку – с нужными вам элементами автодополнения. Или вот, допустим, захотелось вам иметь собственную консоль, по умолчанию не видимую, вызываемую на белый свет с помощью горячей клавиши, не привязанную ни к каким фреймам и не зависящую от текущего workspace. Думаете, придется править низкоуровневый исходный код Ion’а? А вот и нет! Все гораздо проще: в системе есть модуль dock, позволяющий размещать в фиксированных местах экрана окна произвольных программ (в частности, именно через него делается местный аналог трея). Достаточно создать такой «док», поместить в него терминал, а потом организовать его отображение/скрытие и передачу фокуса. Соответствующий код займет буквально десяток строчек, а вы получите в распоряжение все, о чем мечтали.
Открытое будущее
Безусловно, Ion не является заменой менеджерам «общего пользования» – по крайней мере, на текущий момент, – и я не думаю, что все читатели статьи побегут ставить Linux только ради того, чтобы перейти на этот диковинный интерфейс или попрактиковаться в программировании на Lua. Однако мне хотелось бы показать, что в мире существуют альтернативные точки зрения даже на такой, казалось бы, устоявшийся программный стереотип, как оконные системы. Порой эти альтернативы оказываются более удобными, чем общепринятые решения, – и кто знает, какими интерфейсами будут пользоваться наши потомки?
Клавиатурно-совместимый софт
Менеджер окон
Конечно, Ion не одинок в своих необычных взглядах на оконные системы. Помимо него существует еще несколько близких по духу разработок, отличающихся степенью минималистичности, настраиваемости и специфическими функциями (их список можно найти на странице Ion’а).
Mozilla Firefox, в общем-то, нормально управляется с клавиатуры. А после некоторой настройки (в частности, установки параметра accessibility.tabfocus в значение "3" для ускорения доступа к элементам веб-форм) – так и вообще все было бы хорошо, если б не один неприятный баг: в Gtk-версии при включенной неанглийской раскладке перестают работать многие горячие клавиши. Отчасти эта проблема решается установкой расширения keyconfig, с помощью которого можно задействовать не зависящие от раскладки кнопки (например, F1-F12), но более радикального решения вроде бы пока не существует. Также советую обратить внимание на добавочку Hit-a-Hint, позволяющую перейти по нужной ссылке, просто набрав ее номер, – очень удобное и оригинальное решение. Для любителей минимализма подойдет conkeror (не путать с konqueror) – по сути, это полностью переписанный интерфейс Firefox’а, лишенный всех изысков, который делает из браузера что-то вроде текстового редактора Emacs (наверное, я бы стал пользоваться именно им, если бы не указанная проблема с раскладками).
Мультимедиа
Эмулятор терминала
Конечно, любая консоль рассчитана в первую очередь на работу с клавиатурой. Однако отыскать подходящую «модель» было не так-то просто: gnome-terminal и konsole слишком тяжеловесны, xterm не умеет работать с красивыми шрифтами, а большинство других программ этого класса не поддерживают Юникод – «родную» кодировку установленной у меня Fedora Core. По душе пришелся проект rxvt-unicode (software.schmorp.de), лишенный вышеупомянутых пороков, включающий в себя несколько «вкусностей», вроде псевдопрозрачного фона и клиент-серверной модели, и на порядок ускоряющий создание новой консоли. После некоторой настройки – приятнейшая во всех отношениях программа.
Мелкие радости
В отличие от Gnome или KDE, Ion не предоставляет готовую среду, в которой есть все необходимое для работы. Если без встроенного файлового менеджера или меню со списком установленных программ я вполне могу обойтись, то, например, без индикатора сетевой активности чувствую себя не в своей тарелке. Можно было бы запустить под Ion’ом gnome-panel и не расставаться с привычными элементами интерфейса, но вряд ли такое совмещение разнородных сред является правильным. Я пошел другим путем и установил gkrellm – очень удобный и красивый набор индикаторов, показывающих все, что только можно. С помощью дополнительной lua-настройки он был помещен в док и с тех пор всегда находится перед глазами. Ну а для проверки наличия входящей почты я использую прелестную маленькую утилитку gnubiff. Чего и вам желаю!
НОВОСТИ: Большие маневры в темноте
Одна из воистину революционных новинок, заложенных в грядущую ОС Windows Vista (бывшая Longhorn), пока что остается во мраке недоговоренностей и умолчаний. Более того, корпорация Microsoft не демонстрирует ни малейшего желания публично обсуждать это свое новшество. А оно того явно заслуживает, ибо рано или поздно коснется очень многих пользователей. Суть этой новации заключается в мощном шифровании видео/аудиоданных на внутренних компьютерных каналах передачи и блокирование работы устройств воспроизведения в тех случаях, если они не способны обеспечить требуемый уровень защиты контента.
Причина подобных маневров вполне ясна. В Microsoft очень хотят, чтобы не бытовая электроника, а именно компьютер под ОС Windows выступал в качестве «центра домашних развлечений» в домах ближайшего будущего. Но то, как должна выглядеть защита драгоценного высококачественного контента в подобных «центрах», определяют ныне не флагманы компьютерной индустрии или бытовой техники, а всемогущие звукозаписывающие лейблы и киностудии Голливуда. По мнению же Голливуда, новый формат видео высокого разрешения может быть допущен к воспроизведению лишь на той аппаратуре, в которой сигнал остается зашифрованным (или заметно ухудшенным в качестве) всюду, где к нему теоретически можно подступиться для копирования. Аналогичные требования, как известно, выдвигают и студии звукозаписи в отношении своего аудиоконтента в новых форматах высокого разрешения.
Индустрия бытовой электроники явно уже приняла условия Голливуда. Последние модели телевизоров высокой четкости на цифровом входе HDMI (или DVI) оборудованы модулем защиты контента HDCP (High Definition Content Protection). Как показали летние выставочные демонстрации новейших HD-DVD-плейеров Toshiba, изображение высокой четкости здесь подается только на выход интерфейса HDMI с HDCP, а на аналоговый выход – сигнал принудительно ухудшенного качества. Имеются сведения, что и конкуренты из лагеря Blu-ray Disc аналогичным образом переделывают свои плейеры в угоду Голливуду.
В подобной обстановке и корпорации Microsoft, дабы не отставать от соперников, вероятно, пришлось вносить серьезные изменения в соответствующий сегмент ОС Vista. Показательно, что первая бета-версия системы, находящаяся сейчас у тестеров, не содержит модулей внутреннего шифрования видео/аудиоконтента. Но можно уже гарантировать, что такого рода вещи появятся в следующих бета-версиях и окончательном релизе, поскольку на сайте Microsoft выложен большой документ
[Закрыть], описывающий новую стратегию корпорации по защите обрабатываемого контента. Суть ее, в двух словах, можно свести к тому, что теперь высококачественный контент по шинам и кабелям компьютера будет пересылаться только в зашифрованном виде, а при подаче на дисплей (в будущем – и на аудиоколонки) искусственно понижаться в качестве, если устройство воспроизведения не оборудовано модулем криптозащиты. Конкретно для монитора это подразумевает защиту HDCP. Поскольку среди компьютерных дисплеев, в отличие от телевизоров, технология HDCP пока что не получила заметного распространения, это означает, что даже новейшие дорогие TFT-экраны не сумеют воспроизводить видео высокого разрешения с будущих дисков HD DVD или Blu-ray. Иначе говоря, имеющий вполне достаточное разрешение дисплей компьютера все равно будет получать на вход картинку качества обычного DVD, поскольку владельцы контента (и ОС Vista соответственно) расценивают все цифровые и аналоговые дисплеи без HDCP как недостаточно защищенные от несанкционированного копирования.
В принципе, теоретически возможен и еще более мрачный вариант, когда на своем экране пользователь получит лишь одну черноту и вежливую надпись-уведомление: «Дисплей недостаточно безопасен для воспроизведения этого контента». Однако есть неофициальные сведения, что Microsoft уже заручилась согласием всех ведущих студий Голливуда не доводить дело до подобных крайностей. И коль скоро хоть какая-то картинка, скорее всего, до экрана все-таки дойдет, то большинство пользователей, может, и внимания-то не обратят на подпорченное качество изображения. А раз так, то и широковещательные объявления о новых свойствах ОС Vista вроде как ни к чему. Зачем лишний раз волновать потребителей?