Подтвердить что ты не робот

Разработка мобильных приложений для нескольких платформ (без кросс-платформенной платформы!)

Мы разработчики относительно сложного приложения, отличного от игры iPhone 3, и мы начинаем амбициозный пересмотр, чтобы лучше использовать iOS 4. Там есть значительный социальный элемент для приложения, поэтому мы начали думать, что мы 'd хотел бы сделать его доступным на как можно большем числе современных мобильных платформ:

  • iPhone/IOS
  • Android
  • Windows Phone
  • BlackBerry OS
  • Symbian

Существует несколько подходов к кросс-платформенной разработке, и все они имеют ограничения. Ни одному решению не удается воспользоваться всеми функциональными возможностями устройства, как это может сделать собственное приложение. Учитывая сложность нашего приложения, я просто хотел бы максимизировать "логическое" повторное использование кода, не прибегая к кросс-платформенной структуре. Я предвижу инструменты, которые сделают разработку и тестирование приложений на нескольких платформах более плавным. Что мы можем сделать, чтобы разработка на 5 платформах занимала менее 5 раз больше усилий?

4b9b3361

Ответ 1

Нажимайте столько функциональных возможностей, сколько сможете вернуться на общий веб-сервер, и попробуйте сделать только определенный пользовательский интерфейс для платформы.

Ответ 2

Я знаю, что вы сказали, что нет кросс-платформенных фреймворков, но, возможно, что-то посмотреть:

Напишите всю основную логику в javascript. Unit test, что по желанию. Затем используйте такие инструменты, как Appcelerator, чтобы превратить эту логику в собственный код.

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

Для платформ, которые они не поддерживают прямо сейчас, вы можете найти js для встроенного конвертера кода или даже способ размещения js-среды на этих платформах.

Ответ 3

Ни один из них не будет играть вместе. Это не в их воспринятом наилучшем интересе к этому.

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

Посмотрите на XML для всех данных, а затем у вас есть 5 двоичных файлов, чтобы прочитать его или направить все на веб-сервер через PHP. Все эти мобильные платформы будут хорошо работать с XML, потому что это в их интересах. Беспокойство о брендинге и внешнем виде ПОСЛЕ того, как вы получаете базовую функциональность с земли.

ПРИМЕЧАНИЕ: Javascript - это последнее, над чем вам следует смотреть в начале. Таким же образом он редко играет на всех платформах. Поэтому убедитесь, что ваш уровень JS не зависит от вашего уровня данных. НЕ ИНТЕГРИРУЙТЕ ИХ. Это было бы плохо. Вы хотите, чтобы ваш Android JS был потенциально иным, чем JS, который вы нажимаете на Blackberry, например. Потому что вы не будете знать, насколько изворотливо это закончится, пока вы не попробуете его и не проверите свои методы.

Ответ 4

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

Сервер оборудован для параллельной обработки нескольких клиентских подключений, концепции пула потоков.

Теперь, поскольку это будет java-клиентская библиотека, вы можете запускать ее только на android. Чтобы эта работа работала на других платформах, вы можете запустить эту часть клиента на J2EE. Таким образом вы создаете третий средний слой. Все остальные платформы могут подключаться с помощью браузера.

После этого вы можете использовать JSON для библиотек объектов, чтобы выставить свой объект (на стороне сервера) в JSON. Я еще не сделал этого, но сделаю это через несколько недель.

Btw, я просто не могу заставить себя использовать любые кроссплатформенные рамки. Они обещают мир и не упоминают об их ограничениях заранее. Его больно к концу выпуска продукта/приложения, чтобы узнать все эти ограничения/скрытые затраты.

Ответ 5

Хорошо, вы можете посмотреть JQTouch, SensaTouch или, может быть, подождать некоторое время, чтобы увидеть jqueryformobile, чтобы наконец опубликовать. Если вы не спешите, я бы уже начал работать в jQuery, так как два из трех из этого списка (будут) основаны на jQuery как плагины

Ответ 6

В настоящее время я думаю об этой проблеме, и моим решением было бы поставить всю логическую серверную сторону и использовать такой подход, как Model-View-Presentation, ряд событий, запускаемых пользовательским интерфейсом, который должен быть конкретным для клиент