Привет разработчикам социальных приложений

Posted on Июнь 25, 2011

0


Привет всем.

Достаточно долго (целых два месяца) я держал радиомолчание 🙂 Теперь — Диплом сдан, сессия сдана, теперь можно спокойно писать… За последние два месяца на работе я понял некоторые вещи. Причем понял я их намного лучше чем когда-либо смогут рассказать в институте… Но о компании и проектах немного позже, сегодня поговорим об одном интересном продукте и начнем небольшой цикл советов по созданию своего производительного социального приложения.

Хочу представить вам первое в своем роде приложение для социальной сети Мой Круг приложения для мобильного телефона. Мы подробно поговорим о реализации конкретных вещей в ходе цикла, сейчас хочу показать несколько скриншотов и рассказать о приложении. На самом деле, написание приложения заняло очень не много времени. Остальное время приходилось бороться с отсутствием спецификации и «А прикрути-ка еще такую свистелку». Приложение позволяет пользователю просматривать свой профиль и своих друзей. Версия 1.0 осуществляла вход через страницу в браузере. Потом у Яндекса что-то произошло и эта страница не работала где-то день. Потому в версии 1.1 (которая в маркете) вход осуществляется через форму:

После этого вы попадаете на свой профиль:

      

Так же есть возможность посмотреть друзей, их профили и где они работают:

Вроде бы простое приложение… Или нет?

Введение

Не будем мы говорить об архитектуре и проектировании. Поговорим о производительности и UI.

Если вы планируете разрабатывать/разрабатываете то вы должны вбить себе в голову: Метро Стиль — это то, что должно соблюдаться в обязательном порядке. Посмотрите на успешные приложения! Если вы хотите чего-то добиться, внешний вид вашего приложения должен быть безупречен. Задумайтесь над тем, как оно будет выглядеть до его написания, а не во время и после. Обязательно нарисуйте себе желательно сразу с дизайном как будет выглядеть приложение. Каждую форму, каждый экран, последовательность переходов (не забывайте, что кнопки назад и домой должны отсутствовать, как впрочем, и выход). Все это вы должны себе четко представлять перед тем как приступать к разработке. Представьте все цвета и светлую/темную тему. Посмотрите на то, как правильно организовывать поддержку тем. Для этого зайдите в «Microsoft SDKs\Windows Phone\v7.0\Design» и просмотрите шаблоны там разбито все по темам. Используйте ключевые слова типа
PhoneDisabledBrush, PhoneChromeBrush и т.д. Как только вы разберетесь с дизайном, можно считать что большая часть уже готова. Теперь тщательно спроектируйте архитектуру и продумайте все. Что бы не получилось, что вы забыли при проектировании о том, что приложение должно сохранять состояние или не прикручивали это с нуля в следующей версии. Если у вас нет опыта в разработке, то у вас не получится написать шедевр кода — скорее всего у вас будет плохой код, который придется выкидывать кусками при реализации новых фич.

После всего этого, вы уже имеете представление об архитектуре и интерфейсе, вроде бы все хорошо, но… Всегда есть но 🙂

Вы пишете приложение, как правило, на эмуляторе, а он в среднем в несколько раз производительнее реального устройства, и не смотрите ни на счетчики памяти (странные циферки справа), ни на реальную производительность. Большая часть социально приложения листается: вправо, влево, вперед, назад, вниз, вверх… На эмуляторе все хорошо, а на девайсе не очень… Не стоит расстраиваться — вы наступили на те же грабли что и все до вас. В попытках угнаться за функционалом и красивым дизайном все как-то забывают о том, что телефон все же имеет ограниченные ресурсы. Не стоит запихивать сложно-структурированные данные в списки. Не стоит нагружать логику страниц на Loaded. Я даже знаю отчего все так происходит: почитав в интернете о том «Как сделать» никто не задумывается о том, что код приводится только для того, что бы вы получили общее представление и очень упрощается. Как правило, все просто копируют код и вставляют себе. Работает? Отлично! Теперь осталось сделать что бы работало быстро… Windows Phone как платформа появился не очень давно (даже совсем недавно) и в результате нет необходимого количества людей, которые реально разбираются в том, что пишут.

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

Как же избежать этого? Об этом мы поговорим дальше…

Реклама
Метки: , ,