QML проти HTML5

Мобільні пристрої встановили стандарт з точки зору чуйності та зручності для користувачів HMI у різних галузях. Виробники автомобілів, медичного обладнання, систем промислової автоматизації та побутової електроніки тепер хочуть відтворити цей чудовий досвід для своїх вбудованих пристроїв. Щоб з’ясувати, яку технологічну стратегію ми повинні вибирати, ми створили тест, на якому для одного розробника було виділено 160 годин, щоб створити демонстраційне додаток вбудованої системи з використанням Qt & QML та однакову кількість годин, щоб створити дуже еквівалентну програму з використанням HTML5.

Протягом минулого року все більше і більше клієнтів запитували нас про послідовність, якщо вони повинні використовувати HTML5 або Qt, використовуючи декларативну інтерфейс користувача QML для розробки програмного забезпечення для вбудованих пристроїв.

Для того, щоб надати найбільш об’єктивну пораду нашим клієнтам, ми вирішили встановити тест: дайте тому ж розробнику 160 годин, щоб створити демонстрацію вбудованої системи з використанням Qt, і 160 годин для створення демонстрації за допомогою HTML5. Ці демовські програми будуть точно показати, як порівнюються дві технології – з точки зору розвитку, продуктивності та стійкості – коли використовується для створення одного і того ж продукту. Розробник, якому було запропоновано створити демонстраційні програми, був досвідчений з використанням HMTL5 та C++, але мав невеликий досвід створення користувацьких інтерфейсів за допомогою Qt і QML. Демо-версії створені незалежно, без введення будь-якого постачальника.

Результати тесту QML проти HTML5

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

З точки зору кінцевого користувача, версія Qt QML поводилася точно так, як очікувалося, незалежно від того, який браузер чи екран використовуються для перегляду.

Це пояснюється тим, що програми на основі Qt складаються для цілі, а це означає, що з точки зору спостереження за користувачем вони поводяться однаково незалежно від того, на якій платформі вони запускаються. Програми на базі HTML5, з іншого боку, працюють у браузері цілі, наприклад, Chrome, тобто різні платформи можуть відрізнятись від поведінки, оскільки в залежності від платформи браузер може використовувати різні движки візуалізації.

З точки зору стійкості технології Qt QML – це зріла технологія, розроблена для забезпечення зворотної сумісності. Корпорація AngularJS для HTML5 є відносно новою, і існує серйозне занепокоєння, чи буде вона замінена новою структурою в майбутньому. Натомість, QML, ймовірно, все ще буде підтримуватися протягом 5 років.

В цілому, Sequality виявив, що розробка додатків була дуже різною, і треба уважно розглянути переваги та недоліки кожної технології, перш ніж приймати рішення про те, який з них використовувати.

Якщо результат такої оцінки не показує суттєвих переваг тієї чи іншої технології, ми рекомендуємо Qt над HTML5. У нашому вітрині заява, заснована на Qt, була, як правило, більш швидкою, більш чуйною і простішою.

Переклад статті QML vs. HTML5