Гібридні, нативні і web додатки, magora systems

Але кому ж вірити? Коли ми хочемо купити товар або послугу, ми спілкуємося саме з продавцями, які, на жаль, не є експертами в даному питанні. На мій погляд, вихід в цій ситуації один. Взяти все в свої руки і самому, хоча б поверхово, розібратися в цікавому Вам питанні або знайти професіонала в в даній області і дізнатися його думку. Давайте так і зробимо. Питання, в якому ми будемо розбиратися звучить так: «Що краще - нативні або гібридні програми для мобільних платформ?».

Гібриди проти натуралів

зриваємо покриви

Здавалося б, тепер ми знаємо, чим відрізняються гібридні і нативні додатки. На цьому можна спокійно закінчити статтю і зайнятися справою - йти писати код. Але немає! Ми ж пам'ятаємо: «Не вірте продавцям!». А більша частина людей, які писали всі ці пункти - саме продавці, в тій чи іншій формі. Так що, розбираємося далі.

Веб-додатки

Сама ідея сайту, який виглядає як додаток, - це, звичайно, цікаво. У цього підходу є як мінуси, так і певні плюси. Але є одне велике питання: "Навіщо?". Уявіть, що ви користувач, необтяжений спеціальними знаннями в IT-технологіях. Відкриваєте ви якийсь сайт і ... О, Боже! У мене відкрилося додаток! Демони! Це, напевно, вірус якийсь! Хоча стоп, а чому рядок браузера видно? Це сайт что-ли такой? Або все-таки додаток? Хм, в списку встановлених його немає. Працює він жахливо повільно. Встановлю-ка я краще нормальне додаток, а не це не зрозумій що.

Загалом, не зовсім зрозумілий сенс всієї цієї мімікрії. Навіщо вводити користувача в оману? Адже хтось може повірити, що це - додаток, і очікувати поводження, що відповідає звичайному додатком. Хочеться навести таке порівняння: знайдемо здоровий камінь круглої форми і пофарбуємо його так, щоб він виглядав як футбольний м'яч. А потім запитаємо першого ж горе-футболіста зі зламаною ногою про його враження від нашого оригінального дизайнерського ходу.

Так як досвіду роботи з PhoneGap і з іншими фреймворками подібного роду у мене не особливо багато, то я вирішив обговорити це питання з нашим JS / HTML розробником, який писав програму за допомогою фреймворка PhoneGap. Виявляється, на даний момент велика частина описаних проблем вирішена. На цій сторінці переодягнений Чорний Володар обіцяє нам, що тепер реакція на кліки буде проходити швидко і безболісно. Існує вагон і маленький візок різних плагінів. які дозволяють отримати доступ до різних систем цільового пристрою. А якщо чогось і немає, то можна свій плагін написати. І здається, що ось воно - відмінне рішення для крос-платформної розробки мобільних апп! Але давайте задумаємося глибше над цією проблемою.

  1. Що ти знаєш про біль? WebView для Android версії 4.3 жахливо гальмує, коли потрібно показати щось трохи більш складне, ніж текстову інфу. У версії 4.4 движком для WebView став Chromium, так що, можливо, це трохи виправить ситуацію. В цілому, для всіх фонгаперов і іже з ними це означає біль і страждання при спробі запустити додаток на Android. На iOS ситуація з цим набагато краще, так як движок на сафарі працює краще.
  2. - Вибачте, ви жінка? - Я буду ким ти захочеш, малюк. Залежно від девайса, для інтерфейсу програми можуть застосовуватися різні стилі. Це, звичайно, не погано, але логіки дизайну не змінює. Є кнопка Назад »на iOS - значить, буде вона і на Android. І не важливо, що вона там нікому не потрібна. Ще один приклад - Actionbar. На iOS він традиційно знаходиться внизу екрана, на Android - в верхній частині екрану. У додатку на PhoneGap у вас Actiobar не змінюватиме положення в залежності від девайса, він буде просто виглядати по-різному. І ще один момент: кожна OC має певні особливості. Наприклад, анімація. Подивіться на iOS і Android. Анімація переходів між екранами. Вона різна! Гібридні програми не зможуть відтворити ці особливості.
  3. Розруха не в клозетах, а в головах. Ще один важливий фактор, який чомусь ніхто не враховує. Розробники на PhoneGap - це зазвичай Фронт-енд розробники. Вони й гадки не мають про те, як повинен виглядати інтерфейс під Android або iOS, так як не читали стайл-гайди. Вони нічого не знають про особливості платформи, тому що не читали документацію. Але вони добре вміють робити сайти. Відповідно, ви отримаєте додаток, схоже на сайт. Воно вам треба? Точно треба? Подивіться на цю картинку? Ви все ще впевнені в своєму виборі?

Гібридні, нативні і web додатки, magora systems

Загалом, що я хочу сказати? Кросплатформеність в даному випадку уявна, і додатки будуть виглядати дивно. Я думаю, гібридні програми варто використовувати як прототипи, на яких можна оцінити реакцію користувачів на вашу ідею і отримати певний фідбек. Для продакшн-версії краще все-таки використовувати нативні додатки. Ці міркування актуальні для всіх гібридів, що працюють на зв'язці HTML / JS.

Про нативні нічого особливо писати не буду. Тут і так все зрозуміло. Швидко працюють, добре виглядають, широкі можливості кастомізації. І стоять вони відповідно. Хоча перші три пункти актуальні, тільки якщо ви не найняли команду міцних професіоналів з семирічним досвідом роботи з Нью-Делі.

тру кроссплатформенность

На мій погляд, Едіственний фреймворк, який може дійсно дозволити вам написати кроссплатформне мобільний додаток в даний момент - це С ++ Qt. Цей фреймворк генерує нативний Android код з використанням Android NDK. Тому продуктивність повинна бути на рівні коду, написаного програмістом за допомогою Android SDK, а для фрагментів, що використовують важкі розрахунки ще і вище - за рахунок NDK. Qt - це якісна, протестована бібліотека. Це означає, що ви не будете в процесі ловити якісь ліві баги. У разі будь-якої проблеми, ви можете поглянути на вихідні Qt. Це, дійсно, дуже потрібна можливість для розробників. У деяких випадках це єдиний спосіб побороти баг. Для того, щоб отримати програму для цільової платформи (Android або iOS), вам потрібно просто перекомпілювати вихідні. Хоча, наскільки я знаю, іноді все-таки доведеться писати нативний код для платформи, т. К. Не всі можливості доступні через біблотеки Qt. Сподіваюся, це незабаром буде виправлено.

Але є і мінуси. Для продакшн-розробки вам прідетcя придбати ліцензію Qt - що, відповідно, коштує грошей. Для початківців розробників це серйозна проблема. До того ж, на даний момент, Qt для мобільного розробки все ще сируватий. Чекаємо наступних релізів.

На даний момент не існує засобу, який можна було б з чистою совістю назвати справжньою кросплатформенних середовищем для розробки мобільних додатків. Можливо, в майбутньому, це місце займе Qt, але на даний момент воно вакантне. Для перевірки своєї ідеї за допомогою розробки прототипу, ви цілком можете використовувати різні JS / HTML фреймворки, але я б не радив їх застосовувати для розробки складних продакшн-додатків. У цій сфері розробки альтернативи нативним додатків в даний момент немає.

Схожі статті