Как стать автором
Обновить

Комментарии 24

Несколько капитанская статья… Но это, конечно, куда лучше чем вообще никакой статьи.
Подскажите, вы пишете на Ionic 2, или все написанное про первый. Недавно начали знакомиться со вторым, было бы интересно узнать о реальных различиях в скорости.
Здравствуйте, я писал про первый ionic, со вторым только начинаем знакомство, но уже пишем один проект в продакшн, так что через некоторое время могу написать и про него.
Вы не пробовали Framework7? Что можете сказать про него? Посмотрел доступные подобные фрамеворки, выбор пал на него.
Ionic, как я понял, больше делает упор на Angular. А Framework7, вроде как, не обязывает использовать что-то определенное.
F7 — можно использовать vanilla js или же интрегрировать Angular, vue.js или как я angular light. Примеры есть на форуме поддержки F7

Про Crosswalk — это хорошо, хотя и там глюки встречаются, но 24мб за 3 скришнота которые есть в сторе как то слишком…
И старые андроиды не так страшны, как кажется — куча фиксов css для того, чтобы это выглядело и работало похоже как на 4.4+
А вот с новыми андроидами возникает интересная вещь — так как WebView обновляется отдельно от андроида, то вообще не возможно предугадать, какой ВебВью стоит у пользователя на устройстве и с какими глюаками. Так же и с iOS — с каждой новой версией узнаешь, то одно перестало работать, то другое. И требует каких то действий разработчика для исправления данной ситуации.

С другой стороны Ionic радует довольно большим сообществом разработчиков, поддержкой интерфейса под Windows Phone из коробки и довольно большим набором компонентов для построения приложения, ну и Ionic2, может он поможет убрать «тормоза» первой версии (привет ангуляру).
Про crosswalk — все верно, но не всегда есть время (деньги) на поиск и устранение всех багов, его добавление быстро решает проблему, но, конечно, цена — размер приложения.
Не использовали Framework7, в команде используем ionic как раз из-за нашего опыта с angular.
Вставлю небольшие замечания, если позволите. Crosswalk спасает ситуацию со старыми браузерами, но приложение раздувает непомерно. У нас были такие цифры — билд по андроид, без crosswalk ~ 5 MB, c ним ~ 41 MB. На iOS да, работает все очень шустро и здорово, без crosswalk. Использовали связку Ionic 1 + MeteorJS client + сервер на MeteorJS. В целом выводы сделали точно такие же, как и в статье. Но данная связка позволяет построить рабочий прототип, весьма сложного сервиса, с сервером, приложением под все платформы, да еще и с полной реалтайм синхронизацией всего и вся, за пару недель по вечерам одному человеку.
Не упомянули в статье о расходовании памяти на андроид устройствах
Такая проблема должна была появиться
Сталкивались? Какие решения применяли?
Если честно — не сталкивались.
Хотелось бы отдельный рассказ про проблемы с плагинами.
Проблема с плагином геолокации на андроиде забрала под неделю времени и много нервных клеток, остальные плагины вроде как не доставили нам проблем.
Внешний вид этого приложения лучшая реклама нативной разработки.
Внешний вид, это реклама дизайнера приложения, а не средств разработки.
Сам уже год пишу под Ionic + angular js и полностью согласен с мнением автора. Да, плавности и скорости этому красавцу не хватает. Можно конечно всунуть в проект такие вещи как fastclick, collidejs, отключить js скроллинг, но это не сравнимо с нативной мощью и красотой

А не рассматривали react-native?

совсем немного с ним баловались https://github.com/akveo/react-native-reddit-reader
помню работал с IONIC. Очень не нравилось, но это вина не ionic а вообще cordova-образных платформ. Для меня был минус, что многих функций не хватает. У меня было несколько проблем с ionic. Если есть решение, то просьба написать. Уже давно не работал с ionic но буду знать в будущем
1) В Android не работал userLandscape режим. Т.е. landscape был только в одном положении. Если перевернуть планшет верх ногами, то картинка не переворачивалась. Решил проблему изменением манифеста после компиляции в андройд проект, перед компиляцией в apk. Выходило геморно. C iOS такого не было.
2) Не нашёл как спрятать кнопки навигации (если в планшете они программные). Тут признаюсь, наверное плохо искали, но опять же решалось проблема с помощью java кода перед компиляцией в apk.
Со второй проблемой не сталкивались в связи с тем, что кнопки навигации убирать было не нужно. С landscape не помню, чтобы были какие-либо проблемы.
1)Для управления режимами есть специальный плагин.
Не используете привязку верстки к дизайну через vh/vw? Или что делаете когда требуется единообразное отображение интерфейса на экранах с разными разрешениями?
Просто с первым вариантом столкнулся с громадной проблемой — при открытии клавиатуры vh пересчиывается по оставшейся области над клавиатурой и все элементы интерфейса скукоживаются.
На андроиде нашел стабильный лайфхак, но вот на ios ни чего не получилось сделать. В какойто момент плюнул и заменил везде использование vh на vw пересчитав через соотношение сторон на fullhd.
забавный глюк… vh/vw не использую, только px и % и всё нормально на всех платформах, за исключением WP8/8.1-первых версий.
Писали ли вы unit тесты на ваше приложение(может и капитанский вопрос, тогда пардон)?
нет, формат разработки не предусматривал тесты
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории