Мобильное программирование: Native vs HTML 5 vs Titanium
Какую платформу выбрать? Плюсы и минусы с учетом всех аспектов программирования.
Но какие аспекты следует рассмотреть? Это и простота разработки, и переоснащаемость кода, и возможности и ограничения платформы, и как следствие - качество приложения, его плавность, внешний вид .
Но следует также учитывать преимущества готового приложения: совместимость с ОС, доступ к магазинам, будущую эволюцию мобильных устройств.
На основе всех этих факторов можно определить, в какой области применения каждая платформа будет обеспечивать наилучшую поддержку. Если мы немного знаем эти технологии, то на самом деле можно немного догадаться о тренде, но хорошо точно знать, чего от каждого можно ожидать.
HTML 5 - язык описания интерфейса пользователя. Связь с данными происходит в JavaScript с сервером данных, желательно Node.js. Это позволяет взаимодействовать с нативными API, которые управляют функциями устройства. Одним из наиболее используемых является PhoneGap. Дизайн также облегчается с такими фреймворками, как Backbone и Sencha.
Кодировать в HTML 5 может быть очень сложно. Нужно работать с динамическим языком, управлять офлайн-режимом, при необходимости запускать звук и особенно тестировать приложение на множественных браузерах. Для бизнес-приложений это может быть проще благодаря многочисленным фреймворкам, которые управляют связью данных с интерфейсом.
Если он будет основываться на стандартах, таких как API, разработанный Mozilla для мобильных устройств, приложение будет работать там бесконечно (на компьютерном горизонте ).
С помощью тега Canvas, который предоставляет поверхность рисования или анимации, возможны все графические приложения. Звук также доступен, но неэффективен. WebGL предлагает 3D, но это зарождающаяся технология. API обеспечивают доступ к аппаратным средствам с более низкой реактивностью, чем собственные приложения.
Программа будет работать на всех операционных системах и типах компьютеров или мобильных устройств. Она также будет работать на Metro из Windows 8.
Один и тот же код можно будет использовать повторно на сайте, локальном приложении, мобильном приложении.
HTML-приложения 5 могут получить доступ к AppStore, а также к мобильному Facebook. Она имеет преимущество аудитории над всеми системами, что отражается на более широком резонансе в СМИ.
Приложение должно мало зависеть от функций, характерных для мобильных устройств, таких как сенсоры и другие датчики. Так бывает с играми, но тем не менее это не лучшая платформа для них. Звук сейчас бедный. На Канвасе на самом деле много игр.
Удобнее всего реализовать удобные или связанные с Интернетом приложения или приложения для доступа к базе данных.
Язык и средства программирования зависят от системы. Для iOS это Cocoa и язык Objective C, для Android - виртуальная машина Dalvik и язык Java. Мы смогли портировать Dalvik на другие системы, с довольно средним пользовательским опытом.
Платформа занимает второе место по сложности. Существует интерфейс разработки, обычно основанный на Eclipse с эмуляторами на рабочем столе. Есть генератор приложений для Android. Когда ты регулярно программируешь в родном виде, это кажется проще, чем в HTML, но для первого приложения - наоборот.
Новые версии ОС или разные устройства смогут сделать приложение устаревшим. Поэтому его нужно будет регулярно обновлять.
Скорость, плавность, доступ к собственным графическим компонентам и другим компонентам системы .
Что касается Android, то важна фрагментация. Приложение для Android 4 не будет работать на 2.3. Ограничат приложение, чтобы найти общий знаменатель. Для каждой ОС необходимо переписать приложение, чтобы носить его на другой.
Приложение для iOS может получить доступ к AppStore от Apple. Это не гарантировано. После оплаты вступительного сбора в заявку могут отказать. А если ее примут, придется возвращать фирме 30% выручки. В свою очередь, приложение будет иметь широкую экспозицию и более широкие продажи по этому бренду.
Можно получить доступ ко всем возможностям устройства и тем более ко множеству устройств, которые были изобретены для дополнения мобильного. См. статью о мобильных приложениях. В основном можно реализовать все типы приложений.
Объединяет IDE на основе Eclipse, Titanium Studio и SDK в JavaScript, который может взаимодействовать с собственными API.
Поскольку один и тот же код используется для всех систем, его проще всего носить... По словам редактора, программируется быстрее, чем с языками Objective C или Java. На самом деле мы с удивлением видим, что для одного и того же результата нужно меньше строк кода.
Размещение в AppStore происходит автоматически.
Будущее платформы связано с будущим издательства. Если он выйдет из торговли, то обновления системы больше не будет. Но код с открытым исходным кодом всегда может найти покупателя.
Добавляет облачные службы с уведомлениями к приложениям и службу статистики для получения информации об использовании приложения.
Совместим со всеми мобильными устройствами, планшетами и настольными компьютерами.
Приложения принимаются в AppStore после смены политики со стороны Apple.
Как и нативные приложения, они получают доступ к функциям устройства, но платформа как родовая, а потому не близка ни к какой системе, она будет менее адаптирована. То, что она поддержит, - общий знаменатель всех поддерживаемых систем. Поэтому он подходит для специально мобильного приложения, но не для конкретного бренда.
Заключение
Часто возникает путаница между веб-приложением и HTML-приложением 5. Однако в разделе JavaScript этого сайта показано, что с помощью Node.js можно создавать локальные приложения в HTML 5. Видимо, на мобильных эта платформа привязана к интернету и поэтому накладывает срок загрузки приложения. Такого недостатка больше нет, если хорошо умеешь управлять офлайн-режимом.
Другим недостатком HTML 5 является сложность программирования, в то время как Titanium, который также использует JavaScript, было бы проще использовать, чем собственную разработку. Последняя остается выбором, если тебе нужны все ресурсы устройства и более высокая производительность. Для этого требуется полностью посвятить себя операционной системе.
Во второй части мы увидим выбор нескольких актеров и почему они сделали этот выбор.