Я начал проект мобильного приложения с новым опытом работы с JavaScript, AngularJS и Ionic framework. Имея четырехмесячный опыт создания мобильных приложений с использованием Ionic Framework и AngularJS, я узнал о различных ошибках в процессе разработки, тестирования и создания приложения. Есть много примеров фрагментов кода того, что я сделал, но я не совсем соответствовал моим требованиям.

  1. Устраняет проблемы с кешем на устройствах Android.

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

2. Проблемы с перенаправлением $state.

Изменения $state и перенаправление в приложении приводят к очень непоследовательному поведению в приложении, например, к проблемам с боковой панелью меню.

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

Чтобы решить эту проблему, есть два варианта:

1. $state.refresh() — которые обновляют единственный контроллер. который неработал в моем случае

2. $window.location.reload() — которые перезагружают само приложение. который работал в моем случае.

Я считаю, что может быть другое решение лучше, чем это. на данный момент не нашел.

3. Проблемы с плагинами Cordova:

  • Плагины Cordova не работают, пока мы разрабатываем в ionic serve
  • Чтобы обойти эту проблему, установите приложение на реальное устройство или используйте эмуляторы, такие как Genymotion, и протестируйте свою функцию.
  • Плагин может работать не так, как ожидалось!

Изначально я начал играть с плагином Cordova Camera. Использование камеры и загрузка ее на сервер — стандартная функциональность. В начальных сборках эта функция работала хорошо. В последующей сборке захваченные изображения имеют неправильную ориентацию, чего я не ожидал. Проведя небольшое исследование, я понял о настройке Orientation:true, которая устранила проблему.

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

4. Ionic serve Vs ionic run <android/ios>

  • Хорошо начать сборку и тестирование с ionic serve, которые могут ускорить ваш процесс, но каждая функция, которая работает в браузере, может не работать на реальном устройстве или в эмуляторах.
  • ionic run android/ios работает без проблем для сборки и установки на вашем устройстве. Пожалуйста, проведите тестирование на своих устройствах, по крайней мере, на нескольких устройствах Android с разными версиями и размерами дисплея. Это гораздо лучший способ протестировать функции приложения.

5. приложение для iOS и Android.

  1. производительность:
  • Устройства iOS, ионное приложение работает так же, как родное, я никогда не чувствовал, у него ощущение работы гибридного приложения. С точки зрения производительности на устройствах iOS, это потрясающе и не проблема.
  • Устройства Android, производительность не является проблемой для новейших устройств с новейшим процессором и оперативной памятью, а на старых устройствах она может немного замедляться.

2. Опыт разработки

  • Устройства iOS, с точки зрения опыта разработки, это довольно приятно, работа с плагинами не будет проблемой. Это довольно простая игра для работы.
  • Устройства Android, разработка такая же, как и устройства iOS, но работа с плагинами в этой ситуации была немного затруднена из-за разных версий Android и большого разнообразия размеров экрана в устройствах Android. Итак, работая над сборкой Android, нужно приложить немного больше усилий для тестирования в разных сценариях.

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

Первоначально опубликовано на www.sreedharbukya.com 2 апреля 2016 г.