Выбрать главу

- Можно ли использовать в веб-приложениях акселерометр или мультитач?

- Мультитач работает, акселерометр не знаю, нужно уточнить.

- Я знаю, что в браузере iPhone всё это доступно. Совместимы ли вызовы с тем, что у вас реализовано? Потому что движки, как я понимаю, похожие.

- Скорее всего, движок в этом плане различается, у нас разные подходы. Хоть рендеринг и одинаковый, но вся обвязка и все прочее делалось без оглядки друг на друга, там может быть много существенных различий. Я не совсем точно знаю, как это устроено в iPhone, потому что я на эту платформу никогда не смотрел. У нас есть своя специфика. Сейчас мы сфокусированы на том, чтобы предложить разработчикам хороший геолокационный API и завязать эти веб-приложения с нашей Ovi Maps. Мы рассчитываем, что у нас скоро будут интересные приложения для разработчиков именно в этом направлении. Остальное (единственно — не помню насчет акселерометра) все есть.

- Что насчёт разработки для MeeGo? Вот вы уже сказали, что можно писать на Qt для существующих платформ, и программа будет точно так же работать на MeeGo.

- С некоторыми оговорками, да.

- Можно ли разрабатывать напрямую для MeeGo и получить какие-то дополнительные преимущества?

- Можно, разумеется, это же Linux. Все, что под Linux собирается и работает, и там будет работать. Наш основной инструмент, который мы продвигаем — это Qt. Qt должен полностью покрывать все наши API, которые будут доступны и для MeeGo.

- Может ли разработчик создать мессенджер, по которому буду приходить системные уведомления, пока находишься в другом приложении — играешь, к примеру?

- Да, без сомнения. У нас и на «Симбиане» и на MeeGo многозадачность полная — приложения могут работать в фоне и посылать уведомления пользователю.

- Приложения должны как-то заявить необходимость фоновой работы? Просто все приложения продолжают работать даже после выхода?

- Нет, у нас это работает не так как в Windows Mobile прошлых версий. В Symbian^3 приложение может завершаться, и по умолчанию, оно завершается. Есть и возможность переключать программы, непосредственно выходя в меню и оставляя их работать в фоне. Также есть возможность создания приложений, которые работают как сервис, то есть те же самые мессенджеры, которые могут работать в фоновом режиме и обмениваться информацией, давать уведомления пользователю, что в приложении в бекграунде что-либо изменилось. Это гораздо ближе к реальной многозадачности, чем то, что есть у iOS4, потому что iOS4 замораживает состояние приложения. В Symbian^3 такого не происходит.

- Но память-то рано или поздно кончится. Тогда приложения придется закрывать принудительно?

- Да, при переполнении памяти телефон выдает уведомление о том, что открыто слишком много приложений, и пользователь может либо сам закрыть или система что-то закроет. Но там достаточно хорошо распределяются ресурсы. По-моему, у нас было недавно в блогах показывали 72 приложения, одновременно открытых на Nokia N8.

- Не слишком ли раздроблена платформа Nokia? Чтобы охватить все устройства, нужно использовать совсем разные технологии. Не создаёт ли это проблемы?

- Создает, мы это полностью понимаем и поэтому пытаемся все унифицировать. Мы создали три глобальных платформы: S40, со всем его многообразием и разработкой под него на Java, S60 и Symbian, включая Symbian^3 с разработкой нативных приложений и веб-приложений и MeeGo с разработкой нативных приложений на Qt и веб-приложений. То есть да, по прежнему, вариантов много, но сейчас для разработчиков всё более или менее унифицировано.

- Наиболее приемлемый вариант, как я понимаю — делать приложения для Qt?

- Да, за ним будущее. Просто всё, что можно написать на Qt, можно написать и на Symbian C++, только это потребует значительно больших временных усилий. Qt, благодаря средствам разработки, эмуляторам, симуляторам и дополнительным библиотекам, позволяет достаточно быстро создавать нативные приложения, плюс они еще получаются красивыми. Вместо того, чтобы тратить большое количество ресурсов, чтобы писать перемещения, передвижения, прозрачные меню или анимационные эффекты, все это можно сделать на Qt и сосредоточиться на функциональности.