Для какой мобильной операционной системы я должен кодировать? [закрытый]

5
задан SamGoody 14 March 2010 в 10:08
поделиться

10 ответов

Ниже приводится мое личное мнение, основанное на моем личном опыте.

Вы забываете о некоторых из самых больших проблем в разработке мобильных приложений (о тех же самых, из-за которых многие люди в конце концов выбирают iPhone). Это особенно важно, если вы разработчик-одиночка!

1. Фрагментация

Для каждой платформы существует множество устройств с разным разрешением экрана, аппаратными возможностями, объемом памяти, ошибками и т. Д. Если вы не разрабатываете что-то тривиальное (тогда почему бы не мобильное веб-приложение?), Вам понадобится приобрести и протестировать хотя бы на самых популярных телефонах. Это также увеличивает расходы на поддержку вашего приложения. Вам нужно будет тестировать и обновлять его для каждого нового устройства.

2. Распространение

В наши дни все создают App Store, но iTunes по-прежнему остается лучшим и самым надежным способом оплаты цифрового контента. Android, вероятно, является вторым по популярности, но не так популярен среди бизнес-пользователей. Я был бы осторожен с Nokia, если вам небезразличен американский рынок, и с Palm, если вы заботитесь о международном.

Windows 7 Mobile кажется хорошей платформой, но пройдет 6–12 месяцев, прежде чем вы даже начнете ее обсуждать. Даже не считайте текущую версию Windows Mobile.

3. Инструменты, язык, SDK, оборудование

Blackberry, Android и Nokia основаны на Java и используют Eclipse в качестве IDE. Теоретически они должны работать на любой ОС, но у Android есть проблемы с Windows, а для Blackberry требуется Windows. Для всех трех вам понадобится действительно приличное оборудование, чтобы запускать эмуляторы и IDE, не думая о самоубийстве. Отладка на устройстве от несуществующей до не очень хорошей.

iPhone - ObjectiveC / C / C ++. Вам понадобится Mac под управлением osX. Подойдет даже Mini. Для распространения нужно быть участником программы разработчика - 99 $. Все остальное бесплатно. XCode - довольно хорошая IDE, а эмулятор и отладка на устройстве - лучшие на рынке. Существует множество фреймворков для создания приложений с использованием различных технологий, таких как веб или флэш. Не могу комментировать.

Palm - наиболее близкий к тому, что вы уже знаете, основанный на веб-технологиях для разработки высокого уровня. Для чего-то более продвинутого SDK на основе C ++ (у меня еще нет опыта).

Windows Mobile - C # / Windows / Visual Studio. Возможно, придется заплатить за некоторые инструменты разработчика.

4. Бонусный балл

У iPod Touch и iPad нет аналогов. Следили ли вы за безумием предзаказа за последние 2 дня? Да, я знаю про планшеты Android, пункт 1 выше.

Надеюсь, это поможет, но, может быть, я вас еще больше запутал. В конце концов, вы должны больше всего беспокоиться о качестве вашего программного обеспечения и его ценности. Если будет хорошо, то найдется рынок сбыта.

7
ответ дан 18 December 2019 в 06:22
поделиться

Обе мои программы больше подходят бизнес-пользователям (одна полезна только для C.P.A.).

Если у вас есть пользователи, спросите их, какими телефонами они пользуются .

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

Тогда не измеряйте качество разговора. Измеряйте по необработанным подсчетам или необработанным подсчетам, взвешенным по вероятным дополнительным продажам (т. Е. Давние пользователи ваших приложений, которые платили за обновления и обслуживание, имеют более доказанный послужной список по предоставлению вам денег, чем тот, кто купил ваше приложение вчера).

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

Мне нужно было бы изучить соответствующие языки и IDE - на сегодняшний день мое кодирование почти полностью основано на веб-технологиях (PHP, JS, ActionScript и т. Д. Некоторые ASPX ).

Тогда, возможно, придерживайтесь этого. Единственные причины, по которым вам действительно нужно собственное приложение, - это то, что вы хотите работать без подключения (и с HTML5, это даже будет рассмотрено), или если вы хотите делать вещи, которые невозможно выполнить с помощью мобильного веб-браузера (например, интегрироваться с другими приложениями). приложения на устройстве в Android).

Palm WebOS - Возможно, это должно быть первым, так как это единственное приложение, которое предлагает инструменты, облегчающие мою жизнь как разработчику веб-приложений.

Ерунда. Хорошо, хорошо, та IDE, которую я видел несколько скриншотов, была довольно хороша, если бы она была отправлена ​​(я потерял счет). Но это не значит, что WebOS - единственная веб-ОС.

Существуют способы разработки локальных приложений для телефонов, отличных от WebOS, которые используют HTML / CSS / Javascript. PhoneGap ближе всего к традиционным веб-приложениям AFAICT; Appcelerator Titanium Mobile немного странный, но также использует эти технологии. Оба они позволяют настроить таргетинг на Android и iPhone с одним набором исходного кода; PhoneGap также позволяет отправлять на Blackberry и, в конечном итоге, на Symbian.

Теперь, особенно для PhoneGap, они будут больше похожи на мобильные веб-сайты, чем на нативные приложения. Это может быть, а может и не иметь большого значения для ваших пользователей. По крайней мере, это позволит вам замочить ноги в мобильной связи и измерить относительный интерес, а затем определить, нужно ли вам подниматься по кривой обучения на Java или Objective-C.

Кстати, Maemo заменяется Meego, чтобы еще больше запутать вас в Nokia. : -)

6
ответ дан 18 December 2019 в 06:22
поделиться

Я бы посоветовал попробовать Android, потому что:
- он более простой
- меньше ограничений, как у Blackberry api signing или BlackBerry Alliance
- есть больше примеров/статей/вопросов по ОС
- android market vs BB world app
- в будущем будет легко перейти на BlackBerry или чистый J2ME (на случай, если вы захотите перенести свое приложение на другие платформы, Android использует расширенный java, BlackBerry использует java microedition, оба используют Eclipse + плагин в качестве IDE)
- устройства дешевле в целом неверно само по себе и как аргумент

4
ответ дан 18 December 2019 в 06:22
поделиться

Еще нужно помнить о том, чтобы не смотреть на проникновение на рынок конкретного смартфона. Что вас действительно волнует, на каком смартфоне я могу продавать больше всего? Например, Symbian s60 имеет самую большую долю рынка за ДЛИННЫЙ выстрел, но пользователи тратят на приложения ТОННУ меньше. Другой пример - BlackBerry. Их доля на рынке больше, чем у iPhone, но сторонних приложений продается НАМНОГО меньше, чем на iPhone. Тем не менее, если вы создаете копию 10 приложений на iPhone, которые будут уникальными для BlackBerry, вам может быть лучше на BlackBerry, поскольку вам не придется делить доход с 10 другими приложениями. Вам действительно нужно взглянуть на каждый магазин приложений, увидеть, в чем состоят конкуренты, и учесть, сколько пользователи фактически тратят на эти магазины приложений.

0
ответ дан 18 December 2019 в 06:22
поделиться

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

Каждая платформа имеет компромиссы в бизнес-модели. Например, ограничительный магазин приложений для iPhone означает, что Apple может отклонить ваше приложение, и это означает, что Apple может привлечь вас к ответственности за любое преднамеренное или случайное неправильное выполнение транзакций через ваше приложение. С другой стороны, из-за надзора Apple и проверенной репутации конечный пользователь с большей вероятностью купит неизвестное приложение у небольшого разработчика, просто чтобы посмотреть, может ли оно сработать для них. Вряд ли они поступили бы так без какого-либо надзора.

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

Если вы собираетесь зарабатывать на жизнь программированием, вы не можете специализироваться на одном языке / API. Вы должны изучить хорошие общие методы программирования, а также постоянно изучать новые инструменты. Вы должны быть готовы изучать любой язык и любую среду. Конечно, люди специализируются, но с точки зрения 30-40-летней карьеры нужно сохранять гибкость.Черт возьми, когда я учился в колледже, Cobal (плевок) был большим событием, и все задавались вопросом, будет ли эта новая штука на букву «C» взлететь, даже если она выглядела немного изворотливой. Годы спустя, кажется, я изучаю новый язык / API каждую неделю.

Тем не менее, если вы начинаете с вашего особого набора навыков и вам придется загружать все что угодно, вам может быть лучше использовать API на основе HTML, например PhoneGap . Это позволит вам (1) использовать имеющийся набор навыков и (2) дать вам некоторую гибкость при выборе платформ.

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

Просто помните, что нет одного правильного ответа для каждого разработчика. Вы вносите в уравнение свою собственную историю. То, что подойдет вам, не подойдет кому-то другому. Альтернативные издержки изучения Objective-C или Java могут быть ниже или выше для вас, чем для кого-то другого. Аналогичным образом, для операции начальной загрузки, если бы вы могли выпустить приложение для небольшой платформы за 30 дней, используя свой существующий набор навыков, это было бы лучше, чем потратить год на выпуск приложения для платформы с наибольшей долей рынка.

Что бы вы ни выбрали, важнее приступить к выполнению как можно скорее, чем планировать все до того, как вы начнете. По моему опыту, неуверенность в чрезмерном планировании в конечном итоге вредит вам больше, чем выбор неоптимального пути. В реальной жизни вам вовсе не обязательно «делать все правильно» с самого начала.Что вам нужно сделать, так это быть достаточно гибким и решительным, чтобы оправиться от множества, многих, многих ошибок, которые вы неизбежно совершите.

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

... просто выполняй.

3
ответ дан 18 December 2019 в 06:22
поделиться

Обратите внимание, что на данный момент у вас действительно есть только три действительных варианта: Iphone, Android и BlackBerry. Если вы не ориентируетесь на рынки США, BlackBerry также не подходит.

(У Nokia слишком много платформ и устройства с плохим UX, Plam умирает, Window Mobile наверстает упущенное, но не скоро)

Если у вас есть бизнес-приложение, ваши пользователи, скорее всего, используют BlackBerry или Iphone (Android все еще находится на подъеме).

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

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

0
ответ дан 18 December 2019 в 06:22
поделиться

С Nokia (Symbian и MeeGo) вы можете разрабатывать на Qt. Вы должны иметь возможность без особых проблем развернуть одно и то же приложение в обеих системах. Имея опыт веб-разработки, вы можете использовать QtScript \ JavaScript и т. Д. Для получения желаемых результатов.

4
ответ дан 18 December 2019 в 06:22
поделиться

Какие API вам нужны? Какова ваша бизнес-модель?

9/10 Я бы просто написал веб-приложение. Оно кроссплатформенное.

1
ответ дан 18 December 2019 в 06:22
поделиться

Если у вас есть опыт веб-разработки, Nokia может быть довольно легко - Вы можете создавать виджеты (* .wgz), которые запускаются с помощью браузера, но имеют доступ к API телефона.

0
ответ дан 18 December 2019 в 06:22
поделиться

В зависимости от характера ваших приложений, вы можете учесть, что практически все эти платформы используют Webkit. Это означает, что с помощью одного хорошо спроектированного веб-приложения вы можете нацелиться на все эти платформы, а также на пользователей настольных компьютеров. Если вы хотите продавать свое приложение в соответствующих магазинах приложений, есть Phonegap и Rhomobile.

0
ответ дан 18 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: