Pull to refresh

Comments 20

А теперь вопрос — как в cordova-app сделать нормальную работу в фоновом режиме? :)
«Нормальную» — означает не постоянно долбить телефон хаком и высаживать батарею, а вполне себе нативно.
Cordova это WebView (мини-браузер) и набор самых что ни на есть нативных (Java, Objective-C) плагинов, которые передают данные между устройством и WebView. Я не понимаю, что может помешать вам написать нативный фоновый режим на Java и обернуть его в Кордова-плагин.
Чтобы от такого плагина был толк, он должен быть кроссплатформенным, а тогда теряется весь смысл использовать эти «зоопарки багов». Мало того, обертка плагина не универсальна. Если он работает при локальном билде PhoneGap, то на PhoneGap Build, скорее всего, не заработает. Плюс WebView, по понятным причинам, самый медленный элемент любой платформы.
Многие выбирают PhoneGap не из-за кросплатформенности, а потому что им проще и привычнее строить View с помощью веб-технологий (HTML/CSS). Я знаю Java и могу писать на нем, но построение даже простейшего UI под Android это боль и слезы.
Не случайно разработка на Android стоит на 30% дороже, чем на iOS. Это потому что iOS-разработчики строят UI в WYSIWYG, а Android-разработчики залипают в своем XML на многие часы.
Вы заблуждаетесь в каждом из тезисов, за исключением цены разработчика.
В таком случае мне проще написать два нативных скелета с геотрекингом и фоновым режимом и воткнуть в него WebView.
PhoneGap/Cordova в таком случае вообще не нужны.
Для геотрекинга есть отличный плагин. iOS и Android точно поддерживается и превосходно работает.
не в фоновом режиме
А возможно сделать html5-приложение для Android без сторонних библиотек(вроде Cordova), а используя стандартное SDK?
Смотря что понимать под «html5-приложением». Можно взять WebView и отображать в нём всё, что душе угодно.
Скорее всего это оно, да.
Да, можно. Закидываете HTML5-файлы в Активы, и отображаете их в WebView:

webView.loadUrl("file:///android_asset/www/index.html");
Вот что-то вроде того. Спасибо!
Пробовал писать небольшое приложение на PhoneGap — по сути одна html страничка которая подгружает всякие графики… но в фоне программа работать нормально не захотела…
НО!
писать всё это было так быстро и легко что всё же стоит отдать должное разработчикам.
Cordova — замечательный инструмент, у которого, впрочем, есть свои ограничения.

Во-первых, очень плохо с отладкой. Если вы допустили ошибку в JS-коде, приложение молча перестает работать. Понять что происходит можно только со строгой дисциплиной — одно изменение в коде, затем проверка. Еще помогает перед запуском пропустить код через JSLint, он ловит синтаксические ошибки.

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

Поэтому выбирать Cordova для относительно сложных приложений, требующих чего-то большего, чем просто HTML+JS, нужно с осторожностью.
Во-первых, очень плохо с отладкой.
Я тоже так думал пока не попробовал удаленную отладку (для Android 4.4+)
Просто запускаете приложение на телефоне, а в браузере на компьютере можно видеть все логи, делать точки останова, дебажить, менять переменные, править DOM код на ходу.
Еще для относительно сложных приложений можно использовать Visual Studio, там в последних версиях есть «Приложения Apache Cordova» и всякие возможности для отладки
Спасибо за статью. Быстро разобрался что к чему. Я думаю было бы классно написать статью.

«Быстрое введение в разработку мобильных приложений для web-разработчиков», где сразу же было бы написано что к чему, сравнение одного с другим и как начать, хотя как начать не обязательно там все ясно — переходим на нужный сайт и курим доки
Если именно быстрое введение, то — habrahabr.ru/post/257889 и уже через 10 минут опробовать результат. Разве что Visual Studio удобнее по части вариаций сборки и возможностей, но для попробовать как можно быстрее Intel XDK подойдет лучше

В статье небольшая часть информации уже устарела, Framework7 исправил и добавил много чего, в том числе появилась полноценная поддержка material design с правильной реализацией переключения интерфейсов.
И если для андроида есть возможность использовать CrossWalk для ускорения, то для ios тоже появился плагин github.com/Telerik-Verified-Plugins/WKWebView который заменяет встроенный стандартный webview на улучшенный WKWebView, с лучшей производительностью и прочими плюсами, доступный с ios 8
Интересная статья которая может сэкономить несколько дней новичку. Вы не могли бы рассказать какое место в этом зоопарке занимает MobileFirst от IBM? Который бывший Worklight. То что он на основе Phonegap + включает в себя еще server side это я знаю. Но в чем может различаться разработка как серверной части так и client части, что в данном случае мне важнее если использовать MobileFirst вместо Cordova/Phonegap?
Sign up to leave a comment.

Articles