Мобильное программирование: Native vs HTML 5 vs Titanium

Какую платформу выбрать? Плюсы и минусы с учетом всех аспектов программирования.

Но какие аспекты следует рассмотреть? Это и простота разработки, и переоснащаемость кода, и возможности и ограничения платформы, и как следствие - качество приложения, его плавность, внешний вид .
Но следует также учитывать преимущества готового приложения: совместимость с ОС, доступ к магазинам, будущую эволюцию мобильных устройств.

На основе всех этих факторов можно определить, в какой области применения каждая платформа будет обеспечивать наилучшую поддержку. Если мы немного знаем эти технологии, то на самом деле можно немного догадаться о тренде, но хорошо точно знать, чего от каждого можно ожидать.

HTML 5

Работает на всех устройствах и системах, если JavaScript не отключен.

Описание

HTML 5 - язык описания интерфейса пользователя. Связь с данными происходит в JavaScript с сервером данных, желательно Node.js. Это позволяет взаимодействовать с нативными API, которые управляют функциями устройства. Одним из наиболее используемых является PhoneGap. Дизайн также облегчается с такими фреймворками, как Backbone и Sencha.

Легкость

Кодировать в HTML 5 может быть очень сложно. Нужно работать с динамическим языком, управлять офлайн-режимом, при необходимости запускать звук и особенно тестировать приложение на множественных браузерах. Для бизнес-приложений это может быть проще благодаря многочисленным фреймворкам, которые управляют связью данных с интерфейсом.

Прочность

Если он будет основываться на стандартах, таких как API, разработанный Mozilla для мобильных устройств, приложение будет работать там бесконечно (на компьютерном горизонте ).

Возможности

С помощью тега Canvas, который предоставляет поверхность рисования или анимации, возможны все графические приложения. Звук также доступен, но неэффективен. WebGL предлагает 3D, но это зарождающаяся технология. API обеспечивают доступ к аппаратным средствам с более низкой реактивностью, чем собственные приложения.

Совместимость

Программа будет работать на всех операционных системах и типах компьютеров или мобильных устройств. Она также будет работать на Metro из Windows 8.
Один и тот же код можно будет использовать повторно на сайте, локальном приложении, мобильном приложении.

Распространение

HTML-приложения 5 могут получить доступ к AppStore, а также к мобильному Facebook. Она имеет преимущество аудитории над всеми системами, что отражается на более широком резонансе в СМИ.

Применения

Приложение должно мало зависеть от функций, характерных для мобильных устройств, таких как сенсоры и другие датчики. Так бывает с играми, но тем не менее это не лучшая платформа для них. Звук сейчас бедный. На Канвасе на самом деле много игр.
Удобнее всего реализовать удобные или связанные с Интернетом приложения или приложения для доступа к базе данных.

Урожденная

Каждая операционная система имеет собственную платформу программирования. Tizen и webOS используют HTML 5 и низкоуровневый фреймворк для доступа к функциям устройства.

Описание

Язык и средства программирования зависят от системы. Для iOS это Cocoa и язык Objective C, для Android - виртуальная машина Dalvik и язык Java. Мы смогли портировать Dalvik на другие системы, с довольно средним пользовательским опытом.

Легкость

Платформа занимает второе место по сложности. Существует интерфейс разработки, обычно основанный на Eclipse с эмуляторами на рабочем столе. Есть генератор приложений для Android. Когда ты регулярно программируешь в родном виде, это кажется проще, чем в HTML, но для первого приложения - наоборот.

Прочность

Новые версии ОС или разные устройства смогут сделать приложение устаревшим. Поэтому его нужно будет регулярно обновлять.

Возможности

Скорость, плавность, доступ к собственным графическим компонентам и другим компонентам системы .

Совместимость

Что касается Android, то важна фрагментация. Приложение для Android 4 не будет работать на 2.3. Ограничат приложение, чтобы найти общий знаменатель. Для каждой ОС необходимо переписать приложение, чтобы носить его на другой.

Распространение

Приложение для iOS может получить доступ к AppStore от Apple. Это не гарантировано. После оплаты вступительного сбора в заявку могут отказать. А если ее примут, придется возвращать фирме 30% выручки. В свою очередь, приложение будет иметь широкую экспозицию и более широкие продажи по этому бренду.

Применения

Можно получить доступ ко всем возможностям устройства и тем более ко множеству устройств, которые были изобретены для дополнения мобильного. См. статью о мобильных приложениях. В основном можно реализовать все типы приложений.

Титан

Позволяет создавать собственный код для каждой системы из одного исходного кода. Appcelerator, издатель, предлагает Titanium Studio бесплатно с помощью SDK, но без корпоративных расширений. По его словам, платформой в 2012 году пользуются 300 тыс. разработчиков.
Нужно знать, что если инструмент бесплатный при создании самого бесплатного ПО, то он имеет высокую стоимость, поскольку используется для коммерческого продукта. Итак, внимательно прочтите лицензию перед ее использованием. Бесплатно только версия на GitHub с самим составленным SDK.

Описание

Объединяет IDE на основе Eclipse, Titanium Studio и SDK в JavaScript, который может взаимодействовать с собственными API.

Легкость

Поскольку один и тот же код используется для всех систем, его проще всего носить... По словам редактора, программируется быстрее, чем с языками Objective C или Java. На самом деле мы с удивлением видим, что для одного и того же результата нужно меньше строк кода.
Размещение в AppStore происходит автоматически.

Прочность

Будущее платформы связано с будущим издательства. Если он выйдет из торговли, то обновления системы больше не будет. Но код с открытым исходным кодом всегда может найти покупателя.

Возможности

Добавляет облачные службы с уведомлениями к приложениям и службу статистики для получения информации об использовании приложения.

Совместимость

Совместим со всеми мобильными устройствами, планшетами и настольными компьютерами.

Распространение

Приложения принимаются в AppStore после смены политики со стороны Apple.

Применения

Как и нативные приложения, они получают доступ к функциям устройства, но платформа как родовая, а потому не близка ни к какой системе, она будет менее адаптирована. То, что она поддержит, - общий знаменатель всех поддерживаемых систем. Поэтому он подходит для специально мобильного приложения, но не для конкретного бренда.

Заключение

Часто возникает путаница между веб-приложением и HTML-приложением 5. Однако в разделе JavaScript этого сайта показано, что с помощью Node.js можно создавать локальные приложения в HTML 5. Видимо, на мобильных эта платформа привязана к интернету и поэтому накладывает срок загрузки приложения. Такого недостатка больше нет, если хорошо умеешь управлять офлайн-режимом.

Другим недостатком HTML 5 является сложность программирования, в то время как Titanium, который также использует JavaScript, было бы проще использовать, чем собственную разработку. Последняя остается выбором, если тебе нужны все ресурсы устройства и более высокая производительность. Для этого требуется полностью посвятить себя операционной системе.

Во второй части мы увидим выбор нескольких актеров и почему они сделали этот выбор.