- Вы могли бы сравнить как-нибудь вот этот набор разработчика, который имеется для телефонов Nokia c конкурирующими современными средствами, например, то что Аpple сделала для iOS и Google - для Аndroid?
- Я не могу по маркетинговым соображения напрямую сравнивать с конкурентами...
- Но я уверен, что любой программист сможет сделать это с легкостью.
- Я тоже уверен, но от своего лица не могу, к примеру, заявлять, что у конкурентов так все плохо, а у нас все хорошо. Я могу повторить, что Qt очень конкурентоспособен, о нем очень хорошие отзывы от программистов. Его начинают использовать и активно используют разработчики, которые занимаются совершенно отвлеченными от создания мобильных приложений задачами, показывая, что это полноценная, современная среда разработки, которая может напрямую конкурировать, например, с Visual Studio.
- Какие варианты есть у разработчика, который не хочет Qt по каким-то причинам, к примеру он хочет Flash?
- Из чего угодно. Мы просто предлагаем разработчикам наши инструменты, которые мы рассматриваем как удобные и перспективные. Но, по-прежнему, Symbian и тем более MeeGo остаются открытыми платформами, которые поддерживают очень и очень много языков, средств разработки и так далее и так далее. Symbian С++, обычный С++, Python, даже Microsoft Silverlight можно использовать на Symbian, как и Flash. Одно из конкурентных преимуществ нашей платформы заключается в том, что Flash работает не только в браузере, но есть нативный обработчик Flash на "Симбиане", который позволяет те же самые флэш-игрушки с минимальной доработкой превратить в приложения и запускать на наших телефонах.
- Вы упомянули Silverlight, что тоже интересно в свете того, что сейчас вышел Windows Phone 7. Получается, что возможна кроссплатформенная разработка для Nokia и Windows Phone?
- Теоретически - возможна, практически - я не видел пока реализаций. Один из наших технических специалистов сейчас занимается тем, что пытается посмотреть, можно ли без проблем портировать что-то работающее на Silverlight на Windows Phone 7 на платформы Nokia.
- Технически это тот же самый Silverlight?
- На текущий момент Silverlight на платформе Nokia реализовывал сам Microsoft, то есть это их приложение, их разработка, работает версия 1.2, не помню третий или второй Silverlight работает над Windows Phone 7, но технические специалисты у нас сейчас это смотрят. Это как раз интересный вариант, который позволит разработчикам писать для двух платформ одновременно.
- А вы не боитесь, что Microsoft прекратит разработку этой версии Silverlight?
- Не особенно боимся, потому что изначально это именно Microsoft захотел портировать Silverlight на нокиевскую платформу. Microsoft сам достаточно хорошо понимает, как поделен рынок между мобильными платформами в мире и на какой из платформ существует максимальное количество устройств. К тому же, мы сами официально Сильверлайт не поддерживаем - мы просто рассказываем разработчикам, что если им эта платформа интересна, то она, в том числе, есть и на "Нокии". Сами мы фокусируемся на Qt.
- Давайте пару слов о Series 40. Он на текущий момент поддерживает лишь Java?
- На определенный момент только Java. Есть определенные подвижки к тому, что он будет поддерживать что-нибудь еще, но это еще пока не публично. Это тоже все будет объявлено, скорее к концу года, возможно многим разработчикам это понравится. На текущий момент только Java.
- Её использование в чём-то ограничит разработчиков?
- Ограничит. Java-приложения выполняются внутри виртуальной машины. А к функциям телефона напрямую они могут получать доступ по соответствующим API. У нас есть определенный набор API, доступный, соответственно, всем участникам нашего Forum Nokia - это все стандартные вещи по доступу в интернет, по звонкам, по SMS, геолокации (GPS и A-GPS), доступу к Bluetooth. Получается, что есть определенная обвязка этими API, которые дают приложениям прямой доступ к функциям телефона. Но нужно всегда помнить, что есть вопросы производительности, Java-приложение всегда будет медленнее.
- А что если разработчик для большей кроссплатформенности или облегчения разработки, выбрал JavaScript и браузерный движок, он окажется ещё более ограничен?
- В веб-приложениях ("WRT-приложениях") помимо JavaScript используется HTML, CSS, возможно использование Flash. Точно так же - это приложение, которое значительно проще разрабатывать, но которое опять же ограничено в своем функционале. Точно так же как и в случае с Java-приложениями, существует обвязка веб-API, которая так же позволяет использовать основные функции: веб - само собой, потому что это практически веб-приложение; точно так же доступны геолокационные функции. Единственное ограничение, которое там есть, которое, возможно, будет убрано дальше, но сейчас есть - это подобные приложения практически ничего не могут писать на диск. То есть из WRT-приложения или веб-приложения сохранить файлы вы не сможете.
- Можно ли использовать в веб-приложениях акселерометр или мультитач?
- Мультитач работает, акселерометр не знаю, нужно уточнить.
- Я знаю, что в браузере 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 и сосредоточиться на функциональности.