В чём уникальность BeOS и HaikuOS

в 13:39, , рубрики: BeFS, beos, bfs, HaikuDepot, HaikuOS, hvif, Icon-O-Matic, KDL, Kernel Debugging Land, PackageFS, интерфейсы, менеджер пакетов, Работа с иконками, системное программирование, Софт

Первое, на что следует обратить внимание в бета-версии Haiku — это работа с пакетами.

Когда мы говорим просто «пакеты», то подразумеваем только запуск пакетного менеджера на GNU/Linux, и т.д., но Haiku умеет гораздо больше.

Как я уже упоминал в обзоре Haiku Beta, это первый официальный релиз функции управления пакетами. Если сформулировать вкратце, то представьте PackageFS как нечто похожее (но не такое же) на старую систему модулей Slax 6, но со всеми обычными инструментами для «пакетов».

Систему управления пакетами можно описать в пяти кратких пунктах:

  • универсальные инструменты командной строки (как и следовало ожидать);
  • HaikuDepot;
  • средство обновления программ;
  • мониторинг состояния пакетов и/или системы;
  • PackageFS (где все пакеты плавно монтируются и подключаются при загрузке), с побочным эффектом — аккуратным слоем безопасности.


Краткий обзор этих функций:

1. Инструменты командной строки

Как и следовало ожидать от других операционных систем, в Haiku есть инструменты работы спакетами из командной строки, включая возможность обновления пакетов:

В чём уникальность BeOS и HaikuOS - 1

2. HaikuDepot

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

В чём уникальность BeOS и HaikuOS - 2

И кроме HaikuDepot, конечно, есть также графический префлет Repositories, чтобы быстро и легко получать обновления, как в классической OS X.

В чём уникальность BeOS и HaikuOS - 3

3. SoftwareUpdater

И да, имеется ещё SoftwareUpdater с графическим интерфейсом, очень похожий по ощущениям на классическую панель/утилиту Software Update из Mac OS 9 и первых версий OS X.

В чём уникальность BeOS и HaikuOS - 4

4. Состояния

Одна из самых крутых функций пакетного менеджера — то, что можно вернуться назад во времени и загрузиться в предыдущее состояние системы. Для этого просто откройте меню загрузки, выберите загрузочный том, пункт «Последнее состояние» и версию с красивой меткой времени. Очень круто.

В чём уникальность BeOS и HaikuOS - 5

5. PackageFS

Функция просмотра, установки и удаления пакетов дебютировала в версиях Haiku Nightly между Alpha 4.1 и Beta 1. Теперь она стала официальной. Всё программное обеспечение Haiku из Depot распространяется в виде пакетов, и как я проиллюстрировал на примере модулей Slax 6, эти пакеты умно встраиваются в систему при запуске и живут в своей собственной области packages:

В чём уникальность BeOS и HaikuOS - 6

Как побочный эффект новой PackageFS, несколько папок из видимой файловой системы теперь доступны только для чтения. На мой взгляд, эту небольшая деталь стоит отметить, так как она добавляет немного безопасности, сохраняя несколько папок от модификации. Но обратите внимание, что не все системные папки в Haiku доступны только для чтения.

В чём уникальность BeOS и HaikuOS - 7

Мощный и простой интерфейс

Окей. Переходим к следующему пункту.

Новому пользователю сразу бросится в глаза пользовательский интерфейс Be, который сохранил фундаментальную простоту, при этом будучи довольно мощным.

«Новой» Apple после смерти Джобса здесь действительно есть чему поучиться как у своего прошлого, так и у BeOS. Я люблю macOS, потому что она очень простая и в то же время мощная. Но иногда слишком многое там запрещено, а самоотверженное стремление к искусству и внешней красоте слишком всё упростили. BeOS нашла способ предоставить пользователю серьёзные инструменты уровня разработчика, сохранив простой интерфейс как на классическом Mac OS или Palm OS. Это настоящее мастерство Be.

Обратите внимание, что у нас есть всё: от обычных пользовательских приложений вроде CodyCam до удобной утилиты редактирования ресурсов DiskProbe. У нас есть и полезный инструмент Devices в настройках, и PoorMan для публикации в вебе. (Примечание для читателей: я всё ещё думаю, что калькулятор в Dano выглядит лучше, чем DeskCalc. Кроме того, для разработчиков есть BeIDE и отладчик bdb).

В чём уникальность BeOS и HaikuOS - 8

В отличие от различных дистрибутивов GNU/Linux под X.org или других систем, которые делают то же самое, здесь нет нескольких слоёв, которые пытаются перемешаться друг с другом. На BeOS (и Haiku), всё спроектировано в гармоничном сочетании, а дизайн сохранил опрятность. Подобно Mac OS и Palm, приложения подчиняются определённому поведению, которое обеспечивает согласованность и ясность пользовательского интерфейса.

В чём уникальность BeOS и HaikuOS - 9

Icon-o-Matic: создание искусства

Как вы могли заметить на скриншоте BeOS, значки в BeOS сделаны из традиционных растровых изображений. С появлением Haiku всё изменилось: теперь все иконки делаются в новом векторном формате Haiku или .hvif.

Это означает, что значки корректно масштабируются в очень эффективном, лёгком векторном формате без потерь. Хотя обычные иконки масштабируются до 128×128, теоретически они могут быть гораздо более высокого разрешения. Это связано с тем, что подобно SVG мы используем пути и атрибуты или свойства для определения элементов: от системного домика и листа до теней, поверхностей папок и т.д. Другими словами, они передают больше информации, занимая в среднем меньше места, чем прежние растровые файлы.

В чём уникальность BeOS и HaikuOS - 10

Нарисовать иконку легко. Просто сделайте контур из точек в редакторе или выберите шаблон прямоугольника или окружности.

В чём уникальность BeOS и HaikuOS - 11

После создания своего или выбора шаблонного пути сначала вы ничего не увидите. На этом этапе нужно определить путь с помощью формы. Для быстрого примера, добавлю форму со стилем (который придаёт ей цвет).

В чём уникальность BeOS и HaikuOS - 12

И… когда мы выбрали стиль из соответствующего окошка в меню Style, у нас появился отличный зелёный круг! Поддерживаются градиенты и другие формы, но здесь мы показываем, как быстро Haiku позволяет разработчикам и художникам создавать новые иконки.

В чём уникальность BeOS и HaikuOS - 13

Конечно, хотя в приложении используются файлы HVIF и свои определения векторных ресурсов, Icon-o-Matic позволяет также экспортировать их в стандартные универсальные форматы SVG и PNG. И да, вы можете экспортировать их как атрибуты иконок BeOS. :)

В чём уникальность BeOS и HaikuOS - 14

Светло-коричневые вкладки

Если вы знакомы с BeOS или Haiku, то уже видели эти маленькие цветные вкладки. Они там не только для красоты: это универсальный интерфейс как в приложении, так и на рабочем столе. Haiku называет эту функцию Stack and Tile. Лично я просто представляю их как вкладки с магнитными краями. Они работают так:

Удерживайте кнопку option (клавиша Windows) во время перетаскивания:

В чём уникальность BeOS и HaikuOS - 15

И вкладки могут произвольно соединиться друг с другом.

В чём уникальность BeOS и HaikuOS - 16

Если вкладки вам не нравятся, у окон Haiku есть ещё одно волшебное свойство: они тоже магнитные! Удерживайте option — и вы склеите два окна.

В чём уникальность BeOS и HaikuOS - 17

Присоединяем окна, и они склеиваются…

В чём уникальность BeOS и HaikuOS - 18

Я мог бы добавить, что в отличие от привязки в macOS (как в версии High Sierra) и Windows 7+, их можно вместе масштабировать, что довольно круто. (Но хочу быть честным со своими читателями: лично я предпочитаю вкладки).

И прежде чем закончить с этим вопросом: да, у окон есть и обычные функции, которые вы можете ожидать как опытный пользователь: перемещение и изменение размеров с нажатыми Сtrl и Alt.

В чём уникальность BeOS и HaikuOS - 19

Поиск

BeOS может не первая, но явно раньше многих реализовала файловую систему с полным индексом и поиском — это BeFS (или BFS, не путать с BootFS). Подсказки об этом можно увидеть в DriveSetup, трекере и во встроенном окне поиска, где всё связанное с почтой, контактами и файлами можно мгновенно найти.

Давайте сначала сделаем обычный поиск 'maui’ на рабочем столе:

В чём уникальность BeOS и HaikuOS - 20

Он возвращает больше, чем просто файл; он также показывает два запроса. В BeOS запросы или сохраненные поиски появились раньше, чем Spotlight у Apple или Aero Search в Windows Vista и даже раньше, чем первая попытка Apple реализовать поиск под названием Sherlock (у которого была такая же идея примерно в то же время, и хотя HFS+ на Mac OS 8.5 действительно пыталась реализовать такой поиск, но это было не то же самое).

В чём уникальность BeOS и HaikuOS - 21

И с этими запросами можно работать. Всегда в истории BeOS мы могли редактировать запросы… что как хотелось бы видеть в современном поиске.

В чём уникальность BeOS и HaikuOS - 22

Пользователю доступно несколько инструментов индексирования, которые запускаются из терминала.

В чём уникальность BeOS и HaikuOS - 23

Атрибуты добавляются и удаляются вручную. Для просмотра атрибутов в системном индексе можно запустить lsindex. И это подводит нас к следующему пункту.

В чём уникальность BeOS и HaikuOS - 24

Атрибуты

Одна из замечательных особенностей BeOS — это атрибуты, которые доступны для всех приложений в системе. Например, когда мы создаем контакт в People, то всё содержимое контакта является атрибутами. Обратите внимание, что размер файла ‘0 байт’.

В чём уникальность BeOS и HaikuOS - 25

Трекер понимает, что это файл с контактами человека и показывает соответствующие атрибуты, если щёлкнуть по нему.

В чём уникальность BeOS и HaikuOS - 26

И есть способы прочитать эти атрибуты из других программ. BeOS знает о них. Если вернутся в терминал, то имеется хороший набор утилит для работы с атрибутами. Например, сделаем listattr на нашем милом маленьком человеке в системе.

В чём уникальность BeOS и HaikuOS - 27

И атрибуты применяются во всех типах файлов в системе, а самими типами файлов можно универсально управлять с помощью префлета FileTypes в настройках. Это не похоже на вкладку с параметрами папки в Windows; здесь полный контроль над файлами.

В чём уникальность BeOS и HaikuOS - 28

Эй там!

Одна из моих любимых особенностей Macintosh — классный и забавный маленький язык под названием AppleScript, в котором я могу сказать компьютеру, чтобы он заснул, подал звуковой сигнал, вышел из приложения, открыл серию приложений, произнёс алфавит, показал диалоговое окно или сделал что-нибудь ещё весёлое (или полезное). Скрипты выросли в Automator, а потом в «ярлыки» Siri, но это не то же самое.

В Haiku аналогичная функциональность реализована в скриптовом инструменте hey. Хотя справочная информация подробно объясняет, как его использовать (см. ниже скриншот из Alpha 4), я ещё не в полной мере освоил его, если честно. Тем не менее, давайте для демонстрации напишем скрипт выхода из StyledEdit и получения названия окна.

В чём уникальность BeOS и HaikuOS - 29

Чтобы выйти из приложения, нужно запустить что-то вроде hey StyledEdit quit, и приложение завершится.

В чём уникальность BeOS и HaikuOS - 30

Или если открыто окно, как в Pe, я могу написать hey StyledEdit get Title of Window 1, и Haiku скажет название окна. (Этот трюк указан в разделе «Работа с hey» Библии по скриптам BeOS от Криса Герборта):

В чём уникальность BeOS и HaikuOS - 31

Несмотря на всю его мощь, единственное, что мне не нравится в hey, это то, что он определённо рассчитан на технически подкованную аудиторию (разработчики и опытные пользователи, а не обычные пользователи), в то время как приказать компьютеру выключиться в AppleScript может даже маленький ребёнок (аналогичная функциональность в Mac OS X реализована с помощью osascript).

Всплывающие диалоги

Шелл-скрипты позволяют создавать также всплывающие диалоги, как это делается в Python, Perl или Zenity/KDialog в Bash. Просто используйте команду alert, как показано ниже:

В чём уникальность BeOS и HaikuOS - 32

Мы можем показать сообщение о критической ошибке…

В чём уникальность BeOS и HaikuOS - 33

или предупреждающее сообщение…

В чём уникальность BeOS и HaikuOS - 34

В Haiku есть кое-что ещё, чего нет в Be. Вы можете вывести окно выключения в стиле Mac из терминала командой shutdown -a, где a означает «спросить пользователя». В то время как обычная команда shutdown выключает компьютер, а shutdown -r перезагружает его, и это может быть эффективнее, но стоит упомянуть ещё об одном варианте.

Работать быстро. Работать хорошо

Вы на самом деле начнёте уважать BeOS, если увидите, как была реализована стабильность системы в Mac OS 9 или в других системах примерно того же времени.

Примерно в 2001 году, когда разработка Be прекратилась, вышла удивительная Mac OS X. По сравнению с проворной BeOS система 10.0 Cheetah потребляла гораздо больше ресурсов, и только с выходом второй версии 10.2 Jaguar (10.1 Puma стала просто обновлением 10.0) она начала превращаться в серьёзную платформу.

BeOS была впечатляюще быстра для своего времени. Можно было запускать одновременно множество приложений, медиафайлов и так далее, без сложности больших систем. (Вместо слов просто посмотрите старое демо BeOS на YouTube, которое лучше демонстрирует этот момент и другие функции, подобные Workspaces, где пользователь для разных окружений устанавливает разные параметры, от фона до глубины цвета).

Треды

На BeOS всё работает в многопоточном режиме. Обратите внимание, что здесь стандартная утилита оболочки top показывает ‘team name’ и ‘thread name’:

В чём уникальность BeOS и HaikuOS - 35

Все эти потоки можно организовать в группы (teams), группы — это просто набор потоков, живущих в одном приложении и исходящих из него. Каждое приложение имеет по крайней мере основной поток. Вот почему окошко 'force quit' в BeOS и Haiku называется 'Team monitor' — красивая графическая утилита показывает, какие группы потоков в настоящее время работают, и оттуда можно завершить работу любой группы.

В чём уникальность BeOS и HaikuOS - 36

Тем не менее, для действительно красивой визуализации нужно запустить replicant из контроллера процессов ProcessController на панели Deskbar в Haiku. Здесь мы увидим, как приложение разбито на части, и можем установить приоритеты. Имейте в виду, что всё изменяется в реальном времени.

Потоки и использование CPU в ProcessController:

В чём уникальность BeOS и HaikuOS - 37

Такая архитектура поощряет разрабатывать приложения, которые используют многопоточность: это одна из областей, которая делает Haiku действительно уникальной. Это нужно не просто увидеть, но и самому испытать.

Серверы

Теперь ещё одна особенность, уникальная для BeOS (опять же, вкратце): это серверы. Они обрабатывают различные части текущего сеанса: воспроизведение медиа, обработка любых сетевых подключений или просто обработка уведомлений или примонтированных томов.

В чём уникальность BeOS и HaikuOS - 38

Приятная строка отладчика

Как и BeOS, Haiku содержит Kernel Debugging Land или KDL — встроенный отладчик, который можно вызвать из терминала в случае необходимости, или он сам запускается при сбое системы. :)

Доступна встроенная помощь, строка простая и понятная. Заметьте, даже здесь отладчик — это тред 524. Чтобы выйти из отладчика и вернуться в систему, просто наберите continue.

В чём уникальность BeOS и HaikuOS - 39

При падении системы Mac вместо подсказки KDL раньше показывал милое паническое окно. (После OS X 10.8 или Mountain Lion мне кажется, что перезапуск после сбоя происходит автоматически. Но всё же признаюсь, я хотел бы, чтобы Haiku добавила для конечных пользователей ясное сообщение, как у Apple… тоже честное):

В чём уникальность BeOS и HaikuOS - 40

Но опять же, как я уже упоминал при обсуждении UI, в BeOS реализована идея расширения возможностей и представления пользователя системе вместо маскировки или упрощения интерфейса. Это и определяет Haiku сегодня.

Это то, что делает Haiku сегодня одной из лучших операционных систем. И безусловно, поэтому вы должны её попробовать. Так что если ваше оборудование совместимо (и даже если нет), скачайте Haiku!

Автор: m1rko

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js