Как скачать приложение вк на симбиан

Для Symbian 05.04.2019
Для Symbian
12 октября 2011 в 11:15

Как мы писали Symbian-клиент для «ВКонтакте»

  • Блог компании Microsoft Lumia

Сегодня мы хотим рассказать о нашем опыте разработки приложения VK (Вконтакте) для смартфонов Nokia. На тот момент, когда мы решили начать над ним работу, у нас уже был накоплен большой опыт работы с платформой Symbian, и нам было интересно продолжать создавать различные приложения для этой платформы.

Мы сотрудничаем с компанией Nokia уже очень давно. Компания оказывает нам партнёрскую поддержку в процессе разработки приложений для Symbian, предоставляя консультации и участие в различных программах, проводит мероприятия, на которых можно пообщаться с разработчиками из других компаний и предлагает интересные и перспективные проекты. Одним из таких проектов стало приложение VK.

Идея создания клиента для vkontakte.ru витала в воздухе. Nokia – крупнейший игрок на рынке смартфонов, и по поддерживаемому количеству устройств платформа Symbian в России является лидером. Однако ранее официального связующего звена между этими огромными сервисами не было. Нам приятно, что именно мы помогли реализовать этот проект.

Мы гордимся тем, что из всех существующих на сегодняшний день приложений VK для различных платформ то, которое мы создали для Symbian, наиболее близко к структуре самого сайта. Чтобы добиться этого мы тесно взаимодействовали с разработчиками Вконтакте в течение нескольких месяцев. Для разработки приложения использовался развитый API, опубликованный на сайте vkontakte.ru . Необходимо отметить, что на момент разработки приложения VK API активно развивался, его дорабатывали, в том числе, с нашим участием. Так, в процессе совместной работы появилась возможность добавлять подписи к фотографиям при их создании и удалять альбомы. Был добавлен текущий сетевой статус автора новости в список новостей. Стало возможным получать статистику страницы пользователя (количество фотографий, заметок, друзей и т.д.), списки наиболее популярных друзей. В мобильной версии появилась возможность отправлять сообщения с вложениями. Также мы помогли найти несколько ошибок в API, которые разработчики VK оперативно исправляли. Например, метод, скрывающий новости от определённых пользователей, изначально не работал, нельзя было посмотреть свои фотографии залитые на стену, приходили некорректные пути к видеофайлам и т.п.

Интересно было работать с дизайном приложения. Перед началом разработки приложения нам предоставили концепцию интерфейса, разработанную для iPhone версии. Использовать такую концепцию напрямую для Symbian было бы неправильно, а реализовывать приложение через контролы Symbian не очень красиво, так как мы хотели сделать приложение, стилистически схожее с оригинальным сайтом. В первой версии, предложенной нашими дизайнерами, все элементы были очень крупными. Но на современных смартфонах Nokia с большими экранами такой размер элементов начал казаться чересчур громоздким. В результате наши дизайнеры несколько раз меняли внешний вид приложения, руководствуясь дизайном сайта и требованиями к юзабилити мобильного приложения. Конечный вариант был получен при активной поддержке дизайнеров VK для поддержания общего курса в стилистике иконок и цветовых решений.

Самой главной проблемой в разработке для нас стало проигрывание видео. Сервер VK поставлял видео в двух вариантах: FLV и MP4. Однако устройства Nokia не поддерживали те настройки кодека MPEG-4, которые использовал сервер VK. Мы предложили разработчикам серверной части перекодировать контент в другой формат, но это было рискованно, так как можно было сломать поддержку других платформ и на момент разработки приложения видео не перекодировали. После обсуждения в API получения видео были добавлены поля для получения платформ-специфичных видео-файлов, но на момент релиза на многих девайсах приложение не могло проигрывать значительной доли видео. Сейчас же наши тестировщики говорят, что в новых прошивках смартфонов проблем с воспроизведением видео из ВКонтакте нет.

Приложение было выполнено на минималистичном кроссплатформенном графическом движке, разработанном SPB Software, основной язык – С++. Использовалась концепции Model/View, логика приложения и графические компоненты были достаточно сильно разделены. Общий подход напоминал разработку приложения с использованием QML: практически вся графическая логика описана в XML, а в исходниках на С++ обрабатывается только логическая часть. Небольшой модуль-посредник позволяет преобразовывать структуры, полученные от сервера, в графические структуры, используя код только для особых случаев. Для представления в программе API’шных структур используется кодогенератор, написанный на Python, который преобразовывает формальное минималистичное определение структур, взятое со страниц API, в удобный для С++ приложения вид (типизированные структуры, с поддержкой интерфейсов, всех необходимых объявлений и функций). При необходимости незначительных операций с полями структур можно было прямо на уровне определений прописывать небольшой функционал. Это требовалось для получения времени в разном формате, комбинации имени и фамилии в одну строку и т.п., как будто это обычное поле.

Графические компоненты библиотеки Qt решили не использовать для симбиановской версии приложения ради повышения производительности, стабильности и удобства для пользователей (на основной массе устройств для запуска приложения потребовались бы дополнительные действия).

Характерное программное решение: для минимизации зависимостей и упрощения кода активно использовались функциональные объекты (функторы). Их активное использование позволяет уменьшить количество абстрактных классов, что хорошо сказывается на поддержке кода. Например, функция для закачки файла выглядит приблизительно так:

Template Functor FireRequest(Connection& connection, const String8& url, Functor on_succ, Functor on_fail);
Типичная функция вызова диалога или панели вида:

Functor RunWaitDialog(const String& text, Functor on_cancel);
Использовано чёткое разделение: в движке (для работ со скинами, url и т.п.) 8-битные строки, а в том, что может увидеть пользователь – платформозависимый юникод.

Менеджемент памяти осуществлялся с помощью аналогов boost::intrusive_ptr и boost::weak_ptr для объектов и с использованием контейнеров STL для массивов и т. п. STL использовался как есть, зависимости от boost не было. Использование ручного управления памятью (использование delete) было сведено к минимуму.

Еще одной особенностью работы с приложением Вконтакте является то, что все время необходимо было следить за развитием социальной сети, появлением новых возможностей, функций, улучшениями в дизайне. Вконтакте – динамично развивающаяся социальная сеть, и официальное приложение Вконтакте не должно отставать от нее. Мы отслеживали процесс оптимизации сайта и меняли наше приложение в соответствии с ним. Изменения сайта за время разработки потребовали переделки дизайна и диалогов. Некоторые вещи, такие как динамическая подгрузка списков новостей, мы сделать не успели.

За месяц до выпуска программы началось активное бета-тестирование, в котором приняли участие сотни людей. В любом бета-тестировании, помимо поиска багов, самое важное для разработчика – то, как пользователь оценивает программу, насколько она ему понравилась/не понравилась, готов ли он будет ею пользоваться в дальнейшем. И мы были очень рады получить позитивную обратную связь от бета-тестеров Вконтакте. Мы поняли, что двигаемся в правильном направлении и создаем то, что нужно пользователям. Как следствие – к середине октября более 600 тысяч пользователей скачали приложение из магазина Nokia.

Работа над приложением была очень интересной. Компания Nokia консультировала нас по техническим вопросам и оказывала маркетинговую поддержку, а благодаря предоставленным Вконтакте API и идеям у нас не возникало особых сложностей в разработке.

Теги: Добавить метки

Сегодня мы хотим рассказать о нашем опыте разработки приложения VK (Вконтакте) для смартфонов Nokia. На тот момент, когда мы решили начать над ним работу, у нас уже был накоплен большой опыт работы с платформой Symbian, и нам было интересно продолжать создавать различные приложения для этой платформы.

Мы сотрудничаем с компанией Nokia уже очень давно. Компания оказывает нам партнёрскую поддержку в процессе разработки приложений для Symbian, предоставляя консультации и участие в различных программах, проводит мероприятия, на которых можно пообщаться с разработчиками из других компаний и предлагает интересные и перспективные проекты. Одним из таких проектов стало приложение VK.

Идея создания клиента для vkontakte.ru витала в воздухе. Nokia – крупнейший игрок на рынке смартфонов, и по поддерживаемому количеству устройств платформа Symbian в России является лидером. Однако ранее официального связующего звена между этими огромными сервисами не было. Нам приятно, что именно мы помогли реализовать этот проект.

Мы гордимся тем, что из всех существующих на сегодняшний день приложений VK для различных платформ то, которое мы создали для Symbian, наиболее близко к структуре самого сайта. Чтобы добиться этого мы тесно взаимодействовали с разработчиками Вконтакте в течение нескольких месяцев. Для разработки приложения использовался развитый API, опубликованный на сайте vkontakte.ru . Необходимо отметить, что на момент разработки приложения VK API активно развивался, его дорабатывали, в том числе, с нашим участием. Так, в процессе совместной работы появилась возможность добавлять подписи к фотографиям при их создании и удалять альбомы. Был добавлен текущий сетевой статус автора новости в список новостей. Стало возможным получать статистику страницы пользователя (количество фотографий, заметок, друзей и т.д.), списки наиболее популярных друзей. В мобильной версии появилась возможность отправлять сообщения с вложениями. Также мы помогли найти несколько ошибок в API, которые разработчики VK оперативно исправляли. Например, метод, скрывающий новости от определённых пользователей, изначально не работал, нельзя было посмотреть свои фотографии залитые на стену, приходили некорректные пути к видеофайлам и т.п.

Интересно было работать с дизайном приложения. Перед началом разработки приложения нам предоставили концепцию интерфейса, разработанную для iPhone версии. Использовать такую концепцию напрямую для Symbian было бы неправильно, а реализовывать приложение через контролы Symbian не очень красиво, так как мы хотели сделать приложение, стилистически схожее с оригинальным сайтом. В первой версии, предложенной нашими дизайнерами, все элементы были очень крупными. Но на современных смартфонах Nokia с большими экранами такой размер элементов начал казаться чересчур громоздким. В результате наши дизайнеры несколько раз меняли внешний вид приложения, руководствуясь дизайном сайта и требованиями к юзабилити мобильного приложения. Конечный вариант был получен при активной поддержке дизайнеров VK для поддержания общего курса в стилистике иконок и цветовых решений.

Самой главной проблемой в разработке для нас стало проигрывание видео. Сервер VK поставлял видео в двух вариантах: FLV и MP4. Однако устройства Nokia не поддерживали те настройки кодека MPEG-4, которые использовал сервер VK. Мы предложили разработчикам серверной части перекодировать контент в другой формат, но это было рискованно, так как можно было сломать поддержку других платформ и на момент разработки приложения видео не перекодировали. После обсуждения в API получения видео были добавлены поля для получения платформ-специфичных видео-файлов, но на момент релиза на многих девайсах приложение не могло проигрывать значительной доли видео. Сейчас же наши тестировщики говорят, что в новых прошивках смартфонов проблем с воспроизведением видео из ВКонтакте нет.

Приложение было выполнено на минималистичном кроссплатформенном графическом движке, разработанном SPB Software, основной язык – С++. Использовалась концепции Model/View, логика приложения и графические компоненты были достаточно сильно разделены. Общий подход напоминал разработку приложения с использованием QML: практически вся графическая логика описана в XML, а в исходниках на С++ обрабатывается только логическая часть. Небольшой модуль-посредник позволяет преобразовывать структуры, полученные от сервера, в графические структуры, используя код только для особых случаев. Для представления в программе API’шных структур используется кодогенератор, написанный на Python, который преобразовывает формальное минималистичное определение структур, взятое со страниц API, в удобный для С++ приложения вид (типизированные структуры, с поддержкой интерфейсов, всех необходимых объявлений и функций). При необходимости незначительных операций с полями структур можно было прямо на уровне определений прописывать небольшой функционал. Это требовалось для получения времени в разном формате, комбинации имени и фамилии в одну строку и т.п., как будто это обычное поле.

Графические компоненты библиотеки Qt решили не использовать для симбиановской версии приложения ради повышения производительности, стабильности и удобства для пользователей (на основной массе устройств для запуска приложения потребовались бы дополнительные действия).

Характерное программное решение: для минимизации зависимостей и упрощения кода активно использовались функциональные объекты (функторы). Их активное использование позволяет уменьшить количество абстрактных классов, что хорошо сказывается на поддержке кода. Например, функция для закачки файла выглядит приблизительно так:

Template Functor FireRequest(Connection& connection, const String8& url, Functor on_succ, Functor on_fail);
Типичная функция вызова диалога или панели вида:

Functor RunWaitDialog(const String& text, Functor on_cancel);
Использовано чёткое разделение: в движке (для работ со скинами, url и т.п.) 8-битные строки, а в том, что может увидеть пользователь – платформозависимый юникод.

Менеджемент памяти осуществлялся с помощью аналогов boost::intrusive_ptr и boost::weak_ptr для объектов и с использованием контейнеров STL для массивов и т. п. STL использовался как есть, зависимости от boost не было. Использование ручного управления памятью (использование delete) было сведено к минимуму.

Еще одной особенностью работы с приложением Вконтакте является то, что все время необходимо было следить за развитием социальной сети, появлением новых возможностей, функций, улучшениями в дизайне. Вконтакте – динамично развивающаяся социальная сеть, и официальное приложение Вконтакте не должно отставать от нее. Мы отслеживали процесс оптимизации сайта и меняли наше приложение в соответствии с ним. Изменения сайта за время разработки потребовали переделки дизайна и диалогов. Некоторые вещи, такие как динамическая подгрузка списков новостей, мы сделать не успели.

За месяц до выпуска программы началось активное бета-тестирование, в котором приняли участие сотни людей. В любом бета-тестировании, помимо поиска багов, самое важное для разработчика – то, как пользователь оценивает программу, насколько она ему понравилась/не понравилась, готов ли он будет ею пользоваться в дальнейшем. И мы были очень рады получить позитивную обратную связь от бета-тестеров Вконтакте. Мы поняли, что двигаемся в правильном направлении и создаем то, что нужно пользователям. Как следствие – к середине октября более 600 тысяч пользователей скачали приложение из магазина Nokia.

Работа над приложением была очень интересной. Компания Nokia консультировала нас по техническим вопросам и оказывала маркетинговую поддержку, а благодаря предоставленным Вконтакте API и идеям у нас не возникало особых сложностей в разработке.

Теги: Добавить метки

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

Интерфейс и возможности программы

Интерфейс программы позволяет просматривать свою стену и все новости, размещенные на ней. Узнать о новых событиях, связанных с Вашими друзьями, переписываться с теми, с кем состоите в дружеских отношениях, прослушивать музыку, просматривать видеоролики, и, что самое интересное, Вы можете сохранять все мультимедийные файлы на своем смартфоне. Кроме того, Вы сможете публиковать на своей страничке новые фотографии независимо от того, уже имеются они в памяти Вашего любимца или Вы только планируете их сделать.


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

Нюансы использования VKontakte v2.00(62)

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

Рекомендуем почитать

Наверх