PhoneGap, платформы и WindowsPhone8

Небольшое вступление

Windows это пожалуй самая "сложная" (цензурных слов в голову не приходит) мобильная платформа. Если говорить о кросс-платформенных приложениях, то хочется отдельно отметить:

Android (GooglePlay)

Самая понятная, самая простая и самая дешевая платформа. Что хочется отметить:
- лицензия девелопера - один раз за 25$ и все!
- устанавливать свое приложение можно на любое устройство, без проблем, без привязываний, без лицензий и сертификатов. Просто берешь apk и ставишь на любой android.
- для сборки приложения и\или получения лицензий не нужно специального оборудования
- очень продвинутый механизм публикации приложений с возможностью заведения групп для альфа и бета тестирования. Простой и быстрый откат на предыдущую версию приложения.
- есть эмуляторы android

Крутотень!

iOs (Apple Store)

До того, как я столкнулся с WindowsPhone, я считал эту платформу "сложной", потому что:
- лицензию разработчика надо каждый год покупать за 99$
- устройства надо привязывать, чтобы на них тестировать. При этом есть ограничение в 100 устройств - это, конечно, не мало, но все же.
- чтобы куда-то что-то выложить - нужна лицензия, ключи, сертификаты. Даже, чтобы залить на свой iPhone.
- получить некоторые лицензии\сертификаты можно только на iMac\MacBook.
- эмуляторов нет (из xcode не всчет - он кривой). Хочешь проверять и тестировать - покупай реальные устройства, регистрируй, привязывай, получай сертификаты и тестируй.

Ад!

WindowsPhone

О, как много эмоций при виде этого слова и почти все нецензурные. А все потому что:
- каждая версия windows - это не продолжение или развитие операционной системы, а совсем что-то новое. Вначале был WindowsPhone7, потом вышла 7.5 с серьезными изменениями, потом появилась 8 версия, которая имела очень большие отличия от 7.5, потом 8, потом 8.1 со своим SDK, теперь вот 10 версия. Это большой чертов зоопарк, где много вещей не совместимы с друг другом и жизнью вообще.

- чего стоит только квест по установке windows phone 8.1 sdk - попробуйте погуглить - куча инструкций и почти все нерабочее. Думаете можно на сайте microsoft найти wp8.1 sdk? Фиг там, точнее страницы найти можно, но там установка wp8 sdk, а он не годится для wp8.1 sdk, потому что там как минимум другой ApplicationDeploy, так как 8.1 понимает файлы нового формата appx, а ApplicationDeploy из 8.0 - работает только со старым xap.

- чтобы поставить приложение на свой тестовый телефон - его надо зарегистрировать, а потом еще и заливать приложение через специальное ПО - ApplicationDeploy, который, как описано выше - имеет свои особенности.

- вы не можете опубликовать приложение от имени команды\продукта. Только от своего. Поэтому, если Вы вдруг сделали два продукта и хотите их опубликовать от имени ProductTeam1 и ProductTeam2 - заводите или 2 аккаунта или публикуйте от своего имени.

- публикация приложения в windowsStore - это ад, особенно в момент закачки приложения для публикации. Может нормально закачать, а может заругаться на пробелы в имени файла или не тот publisherId или еще фиг знает что.

- для публикации приложения под windows10 - теперь тоже надо получать сертификаты. Но по сравнению с тем, как это делается тут в windows - apple это цветочки.

- и да, тем кто решился поднимать SDK на виртуалке - учтите, что полный набор ПО может легко весить 30-40Гб. Просто нет слов.

Днище!

И еще немного о связке PhoneGap и WindowsPhone8.1

Чтобы проект PhoneGap собрался под windowsPhone 8.1, на текущий момент надо в config.xml указать:

<preference name="phonegap-version" value="cli-6.0.0" />
<preference name="windows-appx-target"   value="8.1-phone" />
<preference name="windows-arch"          value="arm" />
<preference name="windows-identity-name" value="хххххххх" />

    <platform name="wp8">
        <icon   src="res/....png"   platform="wp8" width="48" height="48" />
        .....
        <splash src="res/.....jpg"   platform="wp8" width="480" height="800" />
        .....
    </platform>

cli-6.0.0 - потому, что с версиями выше собирается windows10 приложение
windows-arch=arm, потому что иначе не загружается приложение в windowsStore для WP8.1
windows-appx-target=8.1-phone - тоже что и выше
windows-identity-name - а это я не понял, как складывается, так как то, что подошло в googlePlay и appleStore - microsoft не принял и выдал свою абракатабру, которую я и вставил в config.xml.


Итого

GooglePlay и AppleStore - довольно неплохие платформы и тут получается реальная кросс-платформенность. А под windows приходится собираться все отдельно.

Комментарии

Популярные сообщения из этого блога

Сброс пароля на камере Besder

Arduino Pro Mini + i2c + lcd 2004 (20x4)

Мерцание и рябь внешнего монитора