Ionic: коментарі до міфів після року використання

Пройшов рівно рік з того моменту, як наша команда почала розробку свого першого продукту ionic-додатки для знайомств, яке є вітчизняним братом всім відомого tinder. Протягом цього року ми зіткнулися з безліччю проблем, характерних для гібридних додатків, тепер у нас є досвід і зауваження, якими ми були б раді поділитися з вами.

Чому ionic?
Ionic був обраний тому, що ми — веб-розробники, а JavaScript в цілому і angular зокрема — це те, чим ми дійсно хороші. У нас не було часу вникати в деталі розробки під ios, потім android, витрачати на це обмежені час і гроші. Потрібно було зробити все максимально швидко, витратити найменшу кількість часу, випустити і перевірити, чи полетить додаток. Класичні передумови для розробки гібридного програми.

Наведемо кілька популярних міфів про гібридних додатках і наш погляд на них через рік розробки.

Write once, run everywhere
Факт — 90-95% коду програми є спільним для обох платформ. Є особливості платформ, які іноді потрібно враховувати, що не всі плагіни, які ми використовували, однаково добре працювали як на android, так і на ios, але факт залишається фактом — найчастіше ми писали один і той же код, який однаково працював на більшості пристроїв. Однак. Часто на написання коду під певну платформу йшло більше часу, ніж хотілося б.

Для розробки гібридного додатки не потрібно бути mobile-розробником
Жоден з членів нашої команди не мав досвіду мобільного розробки. В основному ми займалися звичною нам веб-розробкою, використовували вже готові плагіни для нативних можливостей телефонів. Але не все так просто. У використаних нами cordova-плагінів не завжди вистачало деякої «заточеного» і дійсно іноді хотілося, а один раз довелося дописати плагін Java і Objective-C. Так що досвід мобільної розробки не обов'язковий, але вкрай бажаним, особливо якщо ваш додаток буде сильно залежати від нативних можливостей пристроїв.

Гібридні програми повільніше нативних
Гібридним програм не вистачає почуття нативних і плавності, з цим не посперечаєшся. З розвитком браузерів і frontend-фреймворків щодня робиться маленький крок вперед, ionic вже сьогодні має непоганий набір директив і стилів, щоб згладити гострі кути. Але вищезазначеного почуття нативних і плавності все одно не вистачає.

Одна з головних проблем, з якою ми зіткнулися — підтримка старих версій android 4.x. Браузери в цих версіях android псували нам життя, все працювало з рук геть погано, а багато речей просто не підтримувалися. Нас врятував crosswalk, який разом з додатком підкладає актуальну версію webview. Crosswalk прискорив роботу програми на старих пристроях в рази, і це правда. Варто зауважити, що цієї проблеми не було при роботі з ios-пристроями — вони оперативно оновлюються.

Ionic економить час і гроші
Ionic хороший для нескладного клієнта до вашого сервера, який буде зручніше мобільної версії сайту. Ionic також хороший для прототипування — на ньому непогано випробувати концепт, після чого, переконавшись і отримавши достатню кількість ресурсів, написати рідні додатки для необхідних вам платформ. В цих нішах ionic дейтсвітельно гарний і ви навряд чи пошкодуєте, використавши його. Але якщо ви вирішите написати що-небудь дійсно складне, особливо додаток, яке залежить від багатьох нативних можливостей пристроїв, то в певний момент ви витратите дуже багато і на виході (що вельми оптимістично) отримати неякісний продукт.

Результат
З ряду причин (в основному не залежать від обраної технології) розробка проекту затягнулася на рік, вона не раз припинялася і поновлювалася, а ми втратили велику частину ентузіазму. У підсумку продукт переріс з прототипу (який нам подобався) в повномасштабна програма з багатим функціоналом (яким ми не до кінця задоволені). Іноді не вистачає плавності, іноді швидкості і чогось ще. Ми виклали його спочатку на App Store і Play market, потім подумали і поділилися кодом з усіма на github.

Які ми зробили висновки
Ionic підходить для прототипів і простих клієнтських додатків. Використавши його для такого роду додатків ви будете щасливі. Якщо ваш продукт занадто складний і сильно залежить від нативних можливостей пристроїв — забудьте про ionic, так ви врятуєте себе від зайвих витрат і зайвої роботи.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.