Сравнение мобильных устройств как dev. платформы iPhone, Blackberry Windows Mobile - PullRequest
2 голосов
/ 22 января 2010

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

Это то, что я собрал для iPhone - было бы здорово, если бы кто-то еще мог написать что-то подобное для двух других.

  1. Только одно приложение может работать на любом данное время. то есть именно поэтому База данных SQLLite загружается как файл в приложение, а не как традиционно имея какой-то сервер для подключения.
  2. Только одно окно фиксированного размера 480x320 пикселей
  3. Запускается в песочнице, когда приложение развернутая песочница создана «вокруг» приложения, приложение может только чтение / запись файлов из этого площадь. Также низкий уровень доступа к телефон ограничен.
  4. Поскольку программа может быть остановлена ​​на в любое время (см. пункт 1) это необходимо учитываться при разработке приложение, в любое время приложение должно быть в состоянии записать свое текущее состояние диск, чтобы он мог возобновить позже. Если это занимает больше пяти секунд приложение будет прервано.
  5. 128 МБ ОЗУ, примерно половина из этих 64 МБ доступно для приложения. Есть Типичное хранилище объемом 4 ГБ (зависит от модель), нет виртуальной памяти, если память заканчивается приложение может быть прерванный.

Редактировать: просто для ясности, я не знаю, какая платформа / ОС лучше для разработчика, я просто интересуюсь спецификацией. Сравнение, чтобы узнать, чего можно ожидать, если у одной есть три целевые платформы и используется родной язык для каждой (не веб-приложения), какова память и другие соображения.

Редактировать: удален язык, так как предполагается, что будет использоваться родной язык для платформы.

Ответы [ 3 ]

2 голосов
/ 23 января 2010

На Codeproject есть отличная статья, которая будет полезна для вашего вопроса. Зайдите на здесь , чтобы прочитать.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

1 голос
/ 22 января 2010

Мне кажется, что окончательный список будет бесполезным, так как все собранные данные будут существенно отличаться по содержанию, кроме вашего последнего. Некоторые исправления в вашем списке iPhone:

1) Локальные базы данных, такие как SQLLite, "традиционно" не реализуются в качестве сервера на других мобильных платформах (они также используют различные файлово-ориентированные БД).

2) Очень скоро это предположение о едином фиксированном размере вполне может быть неточным.

3) Приложение находится в изолированной программной среде, но может выполнять запись в некоторые области вне изолированной программной среды с помощью вызовов API (например, из библиотеки фотографий или адресной книги).

5) Это число варьируется между 3Gs и 3G / 2G / Touch (более старые модели имеют половину памяти)

6) Monotouch доступен, но я не уверен, что есть что-то еще для разработки iPhone на базе Java. Также есть Flash-компилятор от Adobe.

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

В дополнение к этому Blackberry основан на Java, поэтому он представляет собой еще одно препятствие для такой попытки.

Если вы действительно хотите посмотреть, как в конечном итоге будет выглядеть кроссплатформенность, взгляните на кодовую базу для Waze - кроссплатформенного навигационного приложения с открытым исходным кодом:

http://www.waze.com/wiki/index.php/Source_code

Там живет клиентский источник для iPhone и Windows Mobile.

1 голос
/ 22 января 2010

Для Windows Mobile я хочу добавить:

  • Windows Mobile по сравнению с iPhone позволяет одновременно запускать несколько приложений.
  • Он поставляется с переменным размером экрана и имеет разные SDK ( Windows Mobile Professional для «телефонов Windows» (смартфонов) с сенсорными экранами и Windows Mobile Standard для «Windows Phone» с обычными экранами )
  • Обычно используется фреймворк .Net Compact Framework, кроме того, некоторые люди предпочитают open-net, который является фреймворком с открытым исходным кодом.
  • В отличие от iPhone, Windows Mobile не имеет индивидуальных API, что означает, что он дает больше возможностей для разработчиков.
  • Размер памяти, разрешенный для программы, составляет 32 МБ
  • Вам не нужна лицензия разработчика для разработки и доставки приложений на Windows Mobile, хотя сама Windows Mobile предлагает вам избегать установки приложений от неизвестных издателей. (что более интересно в отличие от iPhone, который вам нужен иметь лицензию, пока вы только хотите отлаживать приложение на своем устройстве (не для устройств с джейлбрейком.))

А о некоторых плохих вещах в Windows Mobile смотрите по этой ссылке .

Спасибо

Madhup

...