2014-10-15 2 views
-1

Я создаю продукт с помощью Web Api для бэкэнд и AngularJS на стороне клиента, ожидая запуска через пару месяцев. Вся логика довольно хорошо отделена от клиента.Телефонная перегородка/Кордова кросс-платформенная архитектура и одна кодовая база

Являясь единственным разработчиком (и маркетингом, продажами и т. Д.), Я очень заинтересован в максимизации эффективности и, следовательно, смотрю на Кордову, чтобы обрабатывать сторону мобильного приложения. Я никогда не занимался разработкой iOS/Android, но очень быстро собираю новые языки и среду, поэтому я не считаю, что мой основной барьер для входа, но я больше беспокоюсь о дублировании работы.

Мой вопрос: будет приближаться к малому иному заявлению с намерением иметь единственную базу кода с помощью Кордовы - правильный метод? Меня беспокоит необходимость использования трех типов стилей для обработки меню iOS/Android и небольших различий в пользовательском интерфейсе между веб-и мобильными приложениями. Я просто мусор с моим кодом с целым рядом if (iOS) menu = a, elseif (Android) menu = b, else menu = c?

Или, попытался бы удержать клиентов как можно более тонким и написать собственные приложения для Android/iOS - более разумный подход? Здесь моя единственная реальная проблема - это дополнительные усилия по поддержанию трех кодовых баз для клиентов.

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

Спасибо за ваш вклад,

ответ

1

Спустя несколько месяцев ... Я глубоко в разработке приложения, и все идет плавно. Я закончил использовать Кордову с Ionic-Framework, и это делает именно то, что я хочу. Ionic обрабатывает внешний вид & чувствует себя чисто без тонны дополнительной работы, и все, кажется, хорошо сочетается с Кордовой. Еще лучше ... с 5 минутами дополнительной работы я могу легко повторно использовать весь свой код для мобильного веб-приложения, доступного из любого браузера. Очень рекомендую

Ионные Framework

1

Это основано очень мнение, поэтому будет закрыт довольно скоро.

Несколько лет назад я работал над программным домом, в котором было несколько сильных приложений в веб-и настольных версиях. Примерно в 2011 году стало ясно, что нам также приходится обращаться на мобильный рынок. Компания довольно маленькая, поэтому в то время мы не могли позволить себе многоканальное развитие. Наша основная компетенция заключалась в Java, JSF и JavaScript (чтобы сделать список очень коротким). Более того, немногие из технологий JS, которые мы использовали, поддерживали мобильные устройства довольно хорошо.

Мы оценили ряд подходов и, наконец, решили пойти с PhoneGap (имя до Кордовы). Мы использовали собственные возможности, такие как GPS, база данных, камера (видео/фото), звукозапись, компас и т. Д.

Мы использовали другую JS-библиотеку, чтобы сделать внешний вид более «родным».

Насколько мне известно, у нас не было ничего подобного

if (context.iPhone) { doThis(); } else { doThat(); } 

, и я был очень глубоко в коде.

Мы написали несколько наших собственных плагинов Кордовы для iOS и Android параллельно (я думаю, что они были распакованы). Они работали над одним и тем же JS API.

Основная проблема, с которой мы столкнулись, заключается в том, что приложение, ну, не было родным. У вас есть UI отставание, несмотря ни на что, а не на внешний вид. Приложение все еще было довольно неплохо, но по сравнению с аналогичными приложениями лидером рынка на миллионных рынках вы могли бы действительно сказать разницу. Однако наше приложение было довольно тяжелым для графики (GIS/mapping client).

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

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

Вы спрашиваете «это умный». Это невозможно ответить, не зная целевую функцию, которую вы пытаетесь оптимизировать. Вы пытаетесь сократить расходы? Сократить время выхода на рынок? Тогда Кордова (или другая гибридная технология) может быть очень хорошим выбором для краткосрочного тактического решения. Вы планируете что-то долгосрочное? Подчеркивать качество? Тогда вы, возможно, захотите рано инвестировать в изучение отечественного развития.

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

Удачи и наилучших пожеланий.

+0

Благодаря lexicore. Я знаю, что это немного основано на мнениях, но ваш опыт именно то, что я искал, определяя, какой маршрут идти. Я полагаю, вы правы в том, что мне нечего терять, если как только я закончу веб-приложение, я просто попытаюсь идти вперед и бросить его в Кордову, чтобы узнать, можно ли использовать его с минимальными настройками. Также глядя на Ионный, как способ отделить то, что у меня уже есть, сохранить большую часть логики в Angular и просто изменить немного html, чтобы получить собственное ощущение. –

+0

@JoshuaOhana Если вы строите что-то ванильное (стандартное) приложение не очень jazzy, вы можете посмотреть на инструментарий Dojo MOBILE, в котором есть готовые темы (CSS) для Android и IOS/Windows. Ссылка для dojo mobile over [здесь] (https://dojotoolkit.org/features/mobile). Также есть «Sencha Touch», который довольно популярен. – frank

Смежные вопросы