Впечатления от Windows Phone.

Mar 12, 2017 08:26

Последней крупной задачей у меня в 2ГИС было портирование под Windows Phone приложения для тестирования и отладки 3D-карты. Заставить работать Qt-программу на этой платформе было тем ещё развлечением и заслуживает отдельного рассказа. Отмечу лишь, что главная проблема там была в том, что рендеринг и Qt и карты там идёт через DirectX. Но речь не об этом. Хотел поделиться впечатлением от разработки на C++ под Windows Phone в Visual Studio 2015.

По сравнению с андроидом, инструментарий находится в зачаточном состоянии и никак не адаптирован под реальные варианты ежедневного использования:
  • На телефоне, ни через меню, ни через Visual Studio, совершенно отсутствует какое-либо понятие о «режиме разработки». К примеру, никак нельзя заставить телефон не выключать экран. Можно период подсветки выкрутить до получаса, но не больше. А если экран гаснет, то на телефон нельзя по USB ничего установить.
  • UI для просмотра логов (они пишутся в output-окно Visual Studio) неудобен и сильно не дотягивает до аналогичного Logcat Viewer из Android SDK: нет ни фильтрации по степени важности, ни подсветки разным цветом, нельзя выбрать процесс с которого охото видеть логи.
  • Data brakepoints не работают, хоть их и можно ставить.
  • Совершенно дурацкая процедура «developer unlock» при которой надо в каком-то wizard’e понажимать кнопочек, после чего на телефон можно будет ставить приложения из Visual Studio.
  • Кнопка отладчика stop останавливает приложение на телефоне вместо того, что б отцепить отладчик.
  • К уже запущенному приложению подцепиться отладчиком нельзя (или я плохо искал?).
  • Баги в генераторе arm-кода.
  • Для установки приложений не через Visual Studio нужен всё тот же «developer unlock» и специальное приложение на компе: просто закинуть APK-файл на SD-карту или команды adb install из консоли, как в андроиде нет, из-за чего тестировщикам работать с этим делом неприятно.
Единственным плюсом, пожалуй, является поддержка языка С++. Из коробки можно его отлаживать (вместе с C#-кодом): работают точки останова, watches и всё такое. Не считая багов компилятора при генерации ARM-кода, ничего особо нового не надо учить: пишешь обычный «виндовый» C++ код и он работает. Почти %)

2гис, windows phone, впечатления

Previous post Next post
Up