2014-12-19 10 views
2

Мне нужно разработать портативное приложение, в основном для Windows 8.1 и iPad, но может быть расширено для Android, WP и iOS позже. Приложение состоит из вызова веб-служб для отображения данных в сетках и содержит CRUD-операцию, и оно может сохранять некоторые локальные данные для автономного режима, а затем синхронизируется позже при подключении.Приложение для переносных мобильных приложений/планшета

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

1- Решение 1: Перейти для родной для каждой ОС (VS для Windows 8.1 [RT и pro] и xCode для iPad): для этого решения требуется дублирование кода, логика и пользовательский интерфейс.

2 HTML5 с WebView приложение: Я думаю, что это слабое решение, особенно, что у нас есть локальное хранилище, проверка связи и вызова WS ...

3- Использование Xamarin: Я думаю, что Xamarin не поддерживает WinRT или Windows 8.1 для обмена логическим кодом между iPad и Windows 8.1

4 Использование Xamarin.Forms: создание пользовательского интерфейса является жестким, а также не поддерживает Windows 8.1.

С вашей точки зрения, что является лучшим решением? пожалуйста, если у вас есть другие доказательства концепции.

Большое спасибо.

ответ

2

Только мои 2 цента. Я не вижу смысла в использовании библиотек, которые не поддерживаются на платформах, которые вы планируете выпускать и поддерживать. Лично я бы закодировал для каждой платформы. Хотя это требует больших усилий, если вам нужно попросить направление по тому пути, по которому вы хотите принять приложение, тогда этот проект будет больше похож на приложение «вы пожинаете то, что вы сеете». Кроме того, вы сможете напрямую поддерживать каждую проблему без необходимости ждать патчей, но есть и две стороны этой монеты. В вашей альтернативной стоимости отсутствуют будущие функции, которые предоставит библиотека, если она того стоит.

3

Большинство html/hibrid фреймворков, таких как Cordova (cordova.apache.org), Ionic (http://ionicframework.com/) и т. Д., Использует собственный WebView на Android. До появления Kitkat производительность WebView не является готовой к производству, и если у вас есть список с большим количеством элементов, опыт прокрутки очень плохой.

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

Существует альтернатива встроению Chrome с использованием Cordova & пешеходного перехода (https://crosswalk-project.org/documentation/cordova.html), но вы получите APK ~ 40Mb для простого мира приветствия.

1

Я думаю, что переход с HTML5 с представлением webapp - лучший вариант.

Использование Кордовы (Phonegap) Большинство встроенных функций легко достижимы в HTML webapp. PhoneGap Platform Guide Для дополнительных возможностей, таких как BLE, NFC, доступны другие плагины.

Вызов webservice действительно не является проблемой в HTML5. Простой ajax достаточно, однако теперь в течение нескольких дней доступны расширенные рамки, что упрощает вашу работу. Один из лучших среди них - Angular JS (поддерживается Google).

Angular JS

Для базы данных вы можете получить доступ к родной базе данных целевой ОС или SQLite БД мобильного устройства. Вы можете проверить эту ссылку Storage options

Так что разработка webapp может быть более эффективным решением в вашем случае. Это может быть лучшим способом для вас в соответствии с моей точкой зрения. Однако вы можете сделать некоторые R & D и можете найти подходящий для вас.

2

Если вы нацелены на качество, идя родной единственный путь ... Вы можете уменьшить объем работы like Google is doing: написание бизнес-логики и модульных тестов в Java, а затем преобразовать его в ObjC с J2ObjC и Javascript с GWT , В вашем случае, если Java является скрытой версией C#, вы можете легко найти инструменты для конвертирования в последнюю, находясь с собственной бизнес-логикой для каждой платформы! Это должно составлять 50% -70% кодовой базы ...