Я начал проект мобильного приложения с новым опытом работы с JavaScript, AngularJS и Ionic framework. Имея четырехмесячный опыт создания мобильных приложений с использованием Ionic Framework и AngularJS, я узнал о различных ошибках в процессе разработки, тестирования и создания приложения. Есть много примеров фрагментов кода того, что я сделал, но я не совсем соответствовал моим требованиям.
- Устраняет проблемы с кешем на устройствах 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.
- производительность:
- Устройства iOS, ионное приложение работает так же, как родное, я никогда не чувствовал, у него ощущение работы гибридного приложения. С точки зрения производительности на устройствах iOS, это потрясающе и не проблема.
- Устройства Android, производительность не является проблемой для новейших устройств с новейшим процессором и оперативной памятью, а на старых устройствах она может немного замедляться.
2. Опыт разработки
- Устройства iOS, с точки зрения опыта разработки, это довольно приятно, работа с плагинами не будет проблемой. Это довольно простая игра для работы.
- Устройства Android, разработка такая же, как и устройства iOS, но работа с плагинами в этой ситуации была немного затруднена из-за разных версий Android и большого разнообразия размеров экрана в устройствах Android. Итак, работая над сборкой Android, нужно приложить немного больше усилий для тестирования в разных сценариях.
Выше приведены основные проблемы, с которыми я столкнулся, большинство из них решено, но, возможно, с лучшими практиками. Если у вас есть какие-либо предложения / методы, чтобы избежать вышеуказанных проблем, пожалуйста, оставьте комментарии ниже, чтобы улучшить
Первоначально опубликовано на www.sreedharbukya.com 2 апреля 2016 г.