Программируем back-end Как? Ничего нового - все по старому* • Компоненты • Шаблоны * - но есть особенности 2 Начинаем 1. Отдельный шаблон 2. Папка приложения • config.php (настройка приложения) • settings.php (настройка внешнего вида) • меню Отдельный сайт не нужен! Пример: http://dev.1c-bitrix.ru/community/blogs/carter/bitrix-mobileconfig.php 3 Особенности 1. Открытие ссылок 2. Кеширование 3. Связь между окнами 4. Новые возможности (bitrix mobile api) 4 Ссылки Как открывать? • app.loadPageBlank({url: ‘/path/to/page.html’}) - добавляет в стек • app.loadPageStart({url: ‘/path/to/page.html’}) - начинает новый Встроенный браузер • app.openUrl(‘http://1c-bitrix.ru/’) Просмотр документов • app.openDocument({url: ’/upload/file.doc’}) 5 Кеширование Содержимое окон кешируется. Выключить кеш - просто не указывать data-pageid в меню 6 Кеширование - формы Помните про формы и другой интерактив Поменяли содержимое страницы - не забудьте восстановить status quo 7 События Восстанавливаем содержимое страницы - onOpenPageBefore: 1. Показать форму 2. Сбросить значения полей Все доступные события: http://dev.1c-bitrix.ru/api_help/bitrixmobile/events/index.php 8 Пользовательские события Свои события - легко! •Генерируем: app.onCustomEvent('onSomeEvent', {/* event data */}); •Ловим: BX.addCustomEvent('onFeedbackThemeSelect', function(data){ /* some actions */ }); Обработчики могут быть вложенными 9 Пользовательские события - Пример Возврат на 2 страницы назад При выборе темы генерируем событие И обрабатываем его в предыдущем окне 10 Топбар и кнопки Стандартные иконки: •plus •back •refresh •users •cart Можно свои 11 Топбар и кнопки Как: • Добавляем тип в settings.php • Используем его в addButtons 12 Фото Параметры: • source: 0 - выбрать из альбома, 1 - сделать фото • saveToPhotoAlbum: сохранить альбом (актуально для source = 1) • targetWidth и targetHeight: макс. размеры • quality: качество фото (не ставьте больше 40) • callback: обработка фотографии (отправка на сервер и пр.) Как отправить фото? Используйте FileTransfer (есть в Bitrix Mobile) 13 Автобусы Кирова Мобильное приложение с информацией о работе общественного транспорта в г. Киров • Расписание автобусов/троллейбусов, маршруты, остановки, расчетное время прибытия. • Правила пользования, обратная связь. Что использовали? • Геолокация - определяем местоположение пользователя, показываем его на карте, находим ближайшие остановки. • Google Maps Javascript API - работа с картой: отображение машин, маршрутов движения, остановок. • Доступ к камере - возможность вложить фото в сообщение обратной связи. Ближайшие остановки / поиск Ближайшие остановки / поиск Машины на карте (ГЛОНАСС) Расписание движения Обратная связь / фото 21 Доки, мануалы Что почитать? • http://dev.1c-bitrix.ru/api_help/bitrixmobile/index.php официальная документация 1С-Битрикс • /bitrix/modules/mobileapp/install/js/mobileapp/bitrix_mobile.js неофицальная документация :) • Любой КП, папка /mobile/, модуль eshopapp для БУС - примеры использования API • http://docs.phonegap.com/en/3.1.0/index.html - официальная документация phoneGAP • http://dev.1c-bitrix.ru/community/blogs/carter/ - блог Евгения Петриченко 22 Константин Лихачев Медиа-Сервис г. Киров, ул. Московская, 25-г e-mail: likhachev@smedia.ru +7 (8332) 35-18-86 http://smedia.ru http://bxmobile.ru 23