Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Новый продукт - 1С-Битрикс: Мобильное приложение
Приветствую, коллеги!
Не так давно наша компания объявила о выпуске нового продукта - "1С-Битрикс: Мобильное приложение". Теперь вы можете создавать мобильные приложения с использованием Javascript +HTML5, что существенно дешевле и значительно быстрее нативной разработки.
Сейчас я расскажу как начать разрабатывать свои мобильные приложения.
С чего начать?
Итак, установим приложение для разработчиков из Google Play или AppStore. При запуске приложения появляется форма для ввода некого адреса, которого у вас пока нет
У себя на установке "1С-Битрикс: Управление сайтом" проделываем следующее:
- Установим модуль "Мобильная платформа". Это просто. - Теперь выберем место, где будет "жить" ваше мобильное приложение. Пусть это будет папка /myfirst_app/. Создадим эту папку на сайте. - Создадим файлики /myfirst_app/left.php и /myfirst_app/index.php. - Шаблон сайта. Он не должен отличаться от тех шаблонов, которые создаются для "больших" сайтов. Единственное отличие - это присутствие в header.php следующего:
if (CModule::IncludeModule("mobileapp"))
CMobile::Init();
- Теперь в настройках сайта назначим созданый шаблон сайта для папки /myfirst_app/. Рекомендую поставить сортировку подключения шаблонов 0 или 1.
config.php
И последний шаг - создайте в папке /myfirst_app/ файл config.php. При обращении к файлу должен возвращаться JSON. Файлик должен быть следующего содержания:
main - стартовая страница приложения left - страница, которая загружается в левую часть слайдера. После этого у нас появился адрес, который нужно вбить в форме приложения для разработки - "http://<my site>/myfirst_app/". Вбейте его:)
Что дальше? Меню.
Теперь девелоперское приложение может подключаться к вашему сайту и показывать контент. После подключения уже вы сами должны обеспечить корректную навигацию по приложению. Поэтому, вам понадобится меню. Его часто располагают в левой части слайдера. Соглано содержанию config.php, в качестве страницы для левой части слайдера загружается /myfirst_app/left.php. Давайте расположим в этом файле компонент bitrix: mobileapp.menu - компонент меню:
Стуктура меню проста. Есть секции. Каждый пункт меню снабжается нужными атрибутами:
text - название пункта data-url - куда будем переходить при клике по пункту class - css класс пункта меню id - идентификатор data-pageid - идентификатор, который учитывается приложением. При клике на пункт страница прогрузится и закешируемся. Таким образом она всегда будет открывать мгновенно в дальнейшем, но за актуальностью контента на этой странице придется следить.
Как результат:
Что такое app?
В исходном коде страницы меню есть вызов функции app.enableSliderMenu(true) - разблокировка слайдера. Что за объект app? Это объект библиотеки BitrixMobile 2.0, который как раз и позволяет управлять приложением. При вызове в шаблоне вашего приложения CMobile::Init() объект app становится доступным. Этот объект содержим множество полезных функций. Вот некторые из них:
app.addButtons(params) - добавление кнопок на панель для текущей страницы с JS-обработчиком. app.openBXTable(params) - открыть список из этой страницы. app.menuCreate(params) - создание персонального меню для страницы app.pullDown(params) - включить pull-down-to-refresh app.openMenu(params) - открыть левое меню app.openDocument(params) - открытие документа средствами телефона app.openPhotos(params) - нативная фотогалерея app.openBarCodeScanner(params) - сканер штрихкодов. app.showLoadingScreen() - показать экран загрузки на странице. Экран полностью закрывает старницу. app.hideLoadingScreen() - скрыть экран загрузки на странице. app.setPageTitle(params) - заголовок страницы
Все функции пока описывать не буду.
Функции данного объекта уже в документации и файлике /bitrix/js/mobileapp/bitrix_mobile.js
Продолжаем. Пишем страницы, создаем таблицы.
Разместим нашу страницу /myfirst_app/test.php, на которую ссылается созданный пункт меню.
Запустим приложение и перейдем по пункту "Новый пункт меню" - увидим страницу с кнопкой "+" на панели, с "потяни-чтобы-обновить", с заголовком и кнопкой "Table". Нажмем на "Table" - открывается таблица, которая ничего не показывает Как видно по коду вызова app.openBXTable(), данные будут браться из файлика /myfirst_app/list.php. Создадим его с таким содержанием:
Снова нажмем на кнопку "Table". Теперь таблица отображает данные.
События
В мобильном приложении есть некоторые события, которые позволяют гибко решать множество задач. В документации есть спискок этих событий Обрабатывать эти события просто. Например:
Размещая этот код, мы говорим странице - "После открытия, закройся обратно через 2-е секунды) ."
Вы можете написать приложение
У вас есть скелет приложения - навигация и первая страница. Теперь вы можете начать писать свое мобильное приложение, эксперементируя с методами библиотеки.
Документация для API 6. Пока номер версии не имеет значения, так как приложения только вышли. Но в будущем разработчикам нужно будет учитывать этот номер при разработке для клиентов. Как и во всех наших продуктах обратная совместимость будет поддерживаться, но новый функционал на старых версиях будет недоступен. За основу можно взять уже готовое решение "Мобильный интернет-магазин" (модуль "eshop_app".
Что будет дальше?
Эта статья является только вводным курсом. В следующих статьях я буду более подробно освещать такие вопросы:
- Работа с нативными интерфейсами - Особенности кэширования в приложении. Как его использовать. - Решение наиболее часто возникающих задач - Чего стоит и чего не стоит делать при разработке мобильного приложения. - Персонализация приложения