Предложения для ввода мобильных разработок - чистый iPhone SDK, Android SDK, Mono Touch или Titanium?

Я вхожу в мобильную разработку. Я работал в основном в .NET, так как 1.0 вышел в бета-версии. До этого я был в основном человеком С++ и Delphi и все время спотыкался на С++ время от времени. Я делаю веб-приложения совсем немного, поэтому я достаточно разбираюсь в Javascript, JQuery и CSS. Я также сделал несколько приложений Java. Я начал веб-программирование с CGI и живу в основном в мире ASP.NET MVC в наши дни.

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

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

Вот варианты, которые я рассматриваю:

  • Apple iPhone/iPad с использованием чистого Apple SDK (Objective-C)
  • Apple iPhone/iPad с использованием Mono Touch (С#)
  • Android, использующий чистый Android SDK (Java)
  • Несколько платформ, использующих что-то вроде Titanium для создания собственных приложений из веб-технологий (HTML, CSS и Javascript).
  • Несколько платформ, использующих веб-приложения HTML5, которые запускаются в браузере (HTML, CSS и Javascript).

Какой вариант вы бы выбрали? У вас есть другое предложение? Каковы плюсы и минусы?

Ответ 1

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

  • Теперь стоит начать с наивысшего приоритета, так как его Buzz теперь составляет несколько дней.
  • Согласно разделу 3.3.1 соглашения разработчиков iPhone OS 4, Apple разрешит приложения, созданные на C/С++ и JAVA script. Я бы не предложил вам приложить свои усилия на С#.
  • Его ценность, и если у вас будет хорошее сцепление с ядром JAVA, вы можете быть продуктивным через несколько дней. На этом этапе Android может не иметь большой доли рынка, но мое личное мнение - ANDROID - БУДУЩЕЕ.
  • Моя точка №2 эффекта Титана, но, согласно их последнему твиту, у них есть одобрение от Apple. Я не знаю, что такое реальность.
  • То же, что и номер 2

Хорошо, если на этом этапе вы начнете концентрироваться на родной платформе для iPhone и Android. Тем не менее, если у вас есть время, вы можете инвестировать и на Blackberry RIM, так как у вас есть фон JAVA.

Добро пожаловать на смартфон.:)

Спасибо,

Rajnikant

Ответ 2

Если вы ориентируетесь на iPhone/iPad, изменения в соглашении iPhone SDK, которые вводятся с iPhone OS 4.0 и новым статусом SDK, что вы можете отправлять приложения в App Store, которые были написаны в C/С++/ Objective-C, или Javascript, если его webapp.

Вы должны принять это во внимание, потому что уровни совместимости, кросс-компиляторы, переводчики источников выглядят так, как будто они будут запрещены в соответствии с новым соглашением, которое включает такие вещи, как MonoTouch, Adobe Flash CS5, Phonegap и т.д.

Ответ 3

Структуры кроссплатформенности, на которые вы должны обратить внимание:

PhoneGap QuickConnet

Ответ 4

Вам может быть лучше придерживаться веб-приложений, если вы хотите сделать их кросс-платформенными; основные операционные системы для смартфонов - iPhone OS, Android и WebOS, а Blackberry OS, по слухам, будет использовать все возможности Webkit, и вам будет легче делать вещи, которые не кажутся чужды каждой платформе, чем если бы вы используя одну из фреймворков для написания якобы кросс-платформенного кода. Это особенно актуально, когда вы принимаете во внимание недавние изменения Apple в своем лицензионном соглашении SDK: такие инструменты, как MonoTouch и PhoneGap, больше не могут быть использованы для получения информации в своем App Store.

Ответ 5

Есть много вещей, чтобы рассмотреть. Сначала вы должны задать себе два вопроса:

  • Какие платформы и какой тип пользователей вы хотите использовать.
  • Вам нужно общаться с телефоном (GPS, SMS и т.д.) или вам нужны только некоторые основные манипуляции и представления данных.

Если вам нужен доступ к функциям телефона, вам необходимо разработать приложение, которое работает на телефоне. Самая безопасная ставка здесь - JAVA, потому что она работает практически на всех телефонах. Но даже JAVA уже давно является унифицированным кросс-платформенным инструментом. Apple установила ограничения на iPhone и iPad, а MS также неясна для меня с последним Windows Phone 7.

Теперь, если вам нужно отображать и обрабатывать данные, HTML может быть действительным. Это имеет преимущество кросс-платформы, и все новые телефоны не будут иметь проблем с отображением базового HTML. Однако Javascript или более сложные формы по-прежнему сомнительны. Тем не менее для меня это будущее приложений, ориентированных на данные, поскольку веб-поддержка будет только улучшаться, включая javascipt. Что касается HTML5, я говорю об этом забыть. Это займет время, чтобы широко распространяться на настольных компьютерах и на телефонах потребуется несколько лет, чтобы добраться туда наверняка.

Разработка собственных приложений для большого разнообразия телефонов - довольно шаланж и требует большой работы и, вероятно, большой команды. Поэтому снова это зависит от задачи, которую вы должны выполнить. Кроме того, если вы делаете приложения для больших бизнес-приложений, вы можете ориентироваться только на Blacberry, Windows Mobile и что-то еще. Я не знаю, насколько широко распространены iPhone и Android в мире бизнеса. Я не так много рисую.

Это мои мотивы. Очевидно, если вы можете, придерживайтесь веб-приложений.

Ответ 6

Я просто хотел покрыть точку re. Android v разработка iPhone. Позвольте мне быть заранее и сказать, что я не разработал для Android, но у меня есть для iPhone. Однако у нас есть собственный телефон на базе Android и iPhone в нашем доме, поэтому я могу говорить как пользователь для обоих.

Что касается приложений, я нахожу приложения для iPhone более легкими и интересными для использования (для конечного пользователя). Многие Android-приложения действительно дрянные. Это не означает, что приложений для iPhone нет, но естественный интерфейс iPhone действительно немного подкрепляет их. Интерфейс Android ничего особенного. Как конечный пользователь, я предпочитаю iPhone, и это должно иметь значение для разработчика, который пытается выбрать платформу.

В последнее время появилось много хлопка к Apple для их изменения ToS, а разработчики заявили, что перейдут на Android. Я говорю - придерживайтесь iPhone, потому что iPad создает гудение и является уникальной возможностью для вас. Как кто-то, кто использовал Titanium и Objective-C для создания приложений, я предлагаю вам придерживаться собственного набора инструментов. Потребуется больше времени, чтобы узнать, но вы узнаете правильные шаблоны дизайна, а не Titanium, который даже не научит вас хорошим шаблонам JS, если честно (не так много MVC там).

Ответ 7

Независимо от нового разработчика, последствия которого пока неизвестны (например, люди предположили, что PhoneGap и Appcellerator были мертвы, что не в случае); вы все еще лучше в моем сознании, ориентируясь на Objective-C на платформе iPhone OS.

Дело в том, что в Cocoa есть много очень мощных фреймворков. Используя Objective-C, вы также научитесь думать, как дизайнеры фреймворка, что означает, что вам будет гораздо легче понять используемые шаблоны, а также со временем научиться предвидеть способности и имена в рамках, если у вас есть более четкое понимание над стилистическими стандартами в использовании.

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

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

Я ничего не имею против тех, кто использует другие языки, такие как Mono на платформе, я просто думаю, что имеет смысл использовать инструменты и языки, которые являются первичными для любой платформы, на которую вы нацеливаете. Если бы я перешел на разработку Android, я бы переключился на всю Java в одно мгновение, а не на поиск моста Objective-C.

Ответ 8

Если вы решите пойти по маршруту Objective-C, подумайте о том, чтобы все еще взять добычу в MonoTouch, как инструмент обучения, из-за всего опыта, который у вас есть с С#.

Возможность сначала изучить структуру, а затем перейти на язык упрощает обучение. С помощью monotouch вы сможете изучить все рамки iPhone, которые вам понадобятся для изучения (UIKit и т.д.) На уже знакомом вам языке, а также использовать такие инструменты, как Interface Builder и некоторые из XCode.

Приобретение Obj-C после того, как вы уже знаете рамки, делает вещи намного проще. Я делаю это прямо сейчас. И в зависимости от времени, луны и настроения Стива Джобса, вы можете просто оказаться в состоянии не попасть в Obj-C вообще..:)

Ответ 9

В одном из ваших комментариев вы заявляете, что владеете дроидом, любите его и предпочитаете подход Google. В вашем вопросе вы заявляете, что являетесь разработчиком Java - конечно, вы всегда можете узнать Objective-C как Java-dev, как я, но опять же я полностью влюблен в iPhone. Похоже, что вы полностью влюблены в Android, поэтому я бы сказал, примените свою страсть к этому и сделайте некоторые приложения Android для Android. Я не думаю, что вы сделали бы хорошую работу на iPhone, особенно без большого понимания или страсти к платформе.