Я использую Silverlight для совсем немного и изучаю Windows Phone 7.
Конечно, это очень похоже.
Однако каковы главные проблемы, над которыми нужно следить?
Я использую Silverlight для совсем немного и изучаю Windows Phone 7.
Конечно, это очень похоже.
Однако каковы главные проблемы, над которыми нужно следить?
1) Это бета/предварительная версия. Содержание может измениться во время транспортировки. Имейте в виду, что API и т.д., Против которого вы разрабатываете, могут претерпеть некоторые изменения с настоящего момента до даты выпуска. Там будет еще больше в будущем; быть реалистичным и терпеливым с вашими ожиданиями.
2) Для разработки Silverlight это Silverlight 3++, а не Silverlight 4. Изучите и узнайте границы и поведение Silverlight в целом, а затем обратите внимание на различия между SL3 и SL4.
3) Навигация похожа, но отличается от "обычного Silverlight" - идея о том, что вам "иногда" может понадобиться перемещаться в обычном Silverlight, была объединена и предполагала, что вы действительно хотите перемещаться между страницами в телефоне. (См. здесь)
4) Поскольку элементы управления/впечатления от Panorama и Pivot являются частью рекомендаций по проектированию, эти элементы управления еще не доступны как часть инструментов разработки (есть интерактивные инструкции и т.д. Для создания собственных). (Подробнее здесь...)
5) Когда вы взаимодействуете с внешним сервисом, ваше приложение передает управление другому приложению. Не существует API для "получения списка контактов"... вы запускаете Выбор контактов, затем, когда контакт выбирается, ваше приложение повторно пробуждается и возвращается значение. (Подробнее)
6) Эмулятор ограничен (не хватает?)... не ожидайте, что он сможет взаимодействовать с какими-либо аппаратными службами (GPS, акселерометр и т.д.) Из эмулятора. Если вы хотите сделать это, по крайней мере сейчас вам понадобится реальное устройство.
7) Эмулятор отсутствует... программные сервисы недоступны (пока) через эмулятор. Если вашему приложению необходимо взаимодействовать с некоторыми концентраторами или другими программными средствами (например, для выбора контакта), они недоступны (по крайней мере, без "разблокированного" эмулятора.)
8) Узнайте о надгробии. Ваше приложение может быть отключено в середине его запуска (если пользователь нажимает кнопку "Пуск" и т.д.), И, хотя у вас есть возможность сохранить и восстановить состояние, вы несете ответственность за сохранение и восстановление состояния. (Подробнее)
9) Понять Push-уведомления. (Подробнее здесь)
10) Это 1.0. Там будет еще больше в будущем; быть реалистичным и терпеливым с вашими ожиданиями.
Я не знаю около 10 ошибок, но вот несколько, которые меня поняли:
1) Производительность. Это самый большой для меня пока. Это зависит от приложения, но в некоторых приложениях может быть сложно разобраться (особенно в приложениях с большими объемами данных). Ситуация ухудшается там, где задействованы повороты и панорама. Связывание данных и создание шаблонов на основе XAML приводят к снижению производительности на небольшом устройстве. самая большая проблема, которую я вижу в этом отношении, это то, что люди переносят "навыки" с рабочего стола. Люди, плохо знакомые с разработкой мобильных приложений, часто ошибаются, применяя шаблоны проектирования и инфраструктуры для программирования устройств. Быть очень усталым от раздутых структур и высоких шаблонов проектирования, такие вещи разработаны, чтобы решить проблему сложности в больших приложениях и не обязательно полезны в маленьких проектах как они. Вам не нужен целый фреймворк для работы с MVVM.
2) Несовместимость устройства. В настоящее время существует всего несколько устройств WP7, но это не слишком большая проблема, но есть одно место, где у меня были проблемы - экраны Samsung SuperAMOLED. Эти экраны действительно показывают ограничения 16-битного дисплея глубины цвета, намного больше, чем стандартный экран. Это может привести к действительно ужасно выглядящим цветным полосам, если вы не будете осторожны с вашими цветами и градиентами. Я писал об этом здесь (с примером).
3) Надгробие. В зависимости от вашего приложения это может быть как ветерок, так и настоящая стычка. Не совершайте ошибку, оставляя его до конца разработки для тестирования. Попробуйте обдумать это заранее.
4) Торговая площадка. Зарегистрируйтесь раньше. К сожалению, IMHO, Windows Marketplace является самой слабой частью истории приложений Microsoft для разработчиков в настоящее время. Более половины разработчиков, с которыми я был связан, имели проблемы с регистрацией (включая меня). Это очень запутанный и, кажется, очень легко пойти не так, особенно если вы живете за пределами США. Начните процесс регистрации как можно раньше, потому что вы не сможете разблокировать свое устройство до самого конца процесса - даже если Microsoft заберет ваши деньги в самом начале.
При работе через эмулятор имейте в виду, что эмулятор будет работать на скорости процессора вашей машины для разработки, а НЕ на скорости физического телефона, которая может быть намного медленнее. В какой-то момент вам придется протестировать свой код на реальном устройстве, чтобы убедиться, что оно не работает слишком медленно.
Мой список (пока):
Нет розеток - это одна вещь, которая приходит мне в голову. Нет другого локального хранилища.
Upd: Я исправлен: нет хранилища базы данных, есть только изолированное хранилище.