Читать «Цифровой журнал «Компьютерра» № 24» онлайн - страница 63

Коллектив авторов

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

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

- Если вы знаете этих дизайнеров, гоните их ко мне — с удовольствием с ними поговорю. К сожалению, на сегодня видел очень мало людей, у которых есть хоть сколько-нибудь сформулированные мечтания. Общеизвестный Раскин — это наиболее цельный пример. Хоть его представления и находятся на очень глобально-абстрактном уровне.

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

- О да! Спасибо вам за этот вопрос. Это же просто мучение, ужас и кошмар. Да, конечно, может, очень хотим и обязательно сделаем. Но здесь есть некоторые проблемы. Во-первых — совместимость с предыдущим поколением пользователей, для которых мы, конечно, стандартное дерево оставим.

Но при этом смотрите, что происходит в «Фантоме»: здесь нет файлов, зато есть объекты. Объекты отличаются от файлов прежде всего тем, что для них можно определить методы — то есть давать им возможность сказать системе, что с ними ещё можно сделать. К примеру, их можно искать по другим критериям; например, их можно по-другому классифицировать, и не одним способом классифицировать.

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

Мало того, в рамках этих документов вы можете построить свою иерархию и классификацию и потом работать с ней. Если это документы CAD (простой пример из известой области) для разработки схем и прошивок для ПЛИСов — в ней есть своя классификация: печатные платы, схемы, компоненты схем, библиотечные элементы. Операционка про это ничего не знает, но в рамках модели классов этого продукта это представление есть и его можно использовать. То есть можно не имея в операционке никакого знания о том, что бывают печатные платы, схемы и прочие вещи, сказать ей: «Знаешь, у меня тут есть дерево классов, такой-то CAD, а в нём есть такой подкласс — печатные платы, найди мне эти объекты». В данном случае используется некоторое штатное свойство операционной системы, которое не проектировалось специально под эту задачу, но оно есть и оно отражает эту задачу — что меня, конечно, очень радует.