Хотите разрабатывать мобильные приложения для всех платформ? Хотите разрабатывать мобильные приложения на HTML5? Не знаете с чего начать?
Цель этой статьи — помочь вам начать свое путешествие с HTML5-фреймворка Sencha Touch.
Что такое Сенча Touch?
Sencha Touch — это HTML5-фреймворк для разработки мобильных приложений. Это позволяет разрабатывать мобильные приложения, которые выглядят так же, как и нативные приложения. Sencha Touch поддерживает устройства Android, iOS, Windows Phone, Microsoft Surface Pro и RT, а также устройства Blackberry.
Характеристики
- Компоненты пользовательского интерфейса (Панели, Панель вкладок, Вид навигации, кнопки, средства выбора)
- Компоненты могут быть тематическими в зависимости от целевых устройств
- Доступ к таким устройствам, как камера, акселерометр и т. Д., С помощью каркасов PhoneGap.
Как начать
Загрузите бесплатный Sencha Touch SDK и Sencha Cmd с веб-сайта Sencha. Обратите внимание, что Sencha Cmd также установит Ant, Ruby, Sass и Compass, все или некоторые из которых будут полезны для создания приложений.
Вам также понадобится веб-сервер, работающий локально на вашем компьютере, например, XAMPP .
На веб-сайте Sencha говорится: «Если вы используете веб-сервер IIS в Windows, добавьте вручную application/x-json
в качестве типа MIME, чтобы Sencha Touch работал правильно. Информацию о добавлении этого типа MIME см. По следующей ссылке: http://stackoverflow.com/a/1121114/273985 «.
Установка
Распакуйте ZIP-файл SDK в каталог ваших проектов. Эта папка должна быть доступна вашему HTTP-серверу, чтобы вы могли перейти по адресу http: //localhost/sencha-touch-2.n в браузере и просмотреть документацию Sencha Touch.
Запустите установщик Sencha Cmd. Установщик добавляет инструмент командной строки Sencha к вашему пути, позволяя вам, среди прочего, создать новый шаблон приложения.
Убедитесь, что Sencha Cmd правильно установлен, перейдя в каталог Sencha Touch и введя команду sencha
, например:
$ cd ~/webroot/sencha-touch-2.n/ $ sencha Sencha Cmd v3.1.n ...
Примечание. При использовании команды sencha
вы должны находиться либо в загруженном каталоге SDK, либо в созданном приложении Touch. Для получения дополнительной информации см. Документацию Sencha Cmd .
Ваша среда разработки и тестирования должна быть готова.
Сенча Touch Project
- Index.html — страница, на которой будет размещаться ваше приложение.
- Каталог приложений — приложение в целом представляет собой набор моделей, представлений, контроллеров, магазинов и профилей
- Модель: представляет тип данных, которые должны использоваться / храниться в приложении
- Просмотр: отображает данные для пользователя с помощью встроенных компонентов пользовательского интерфейса Sencha / пользовательских компонентов
- Контроллер: обрабатывает взаимодействия пользовательского интерфейса и взаимодействие между моделью и представлением.
- Store: отвечает за загрузку данных в приложение
- Профиль: помогает в настройке пользовательского интерфейса для различных телефонов и планшетов.
- Каталог ресурсов — содержит изображения, CSS и другие медиа-ресурсы
- App.js
- Глобальные настройки приложения
- Содержит название приложения, ссылки на все модели, виды, контроллеры, профили и магазины
- Содержит функцию запуска приложения, которая вызывается после загрузки моделей, представлений, контроллеров, профилей и хранилищ. Функция запуска приложения — это отправная точка приложения, в которой первый экземпляр создается и загружается.
- Каталог Touch — содержит файлы инфраструктуры Sencha Touch.
Попробуйте образец
Давайте создадим простой навигационный вид со списком в нем.
Home.js
Ext.define('MyFirstApp.view.Home',{ extend:'Ext.NavigationView', xtype:'Home', config:{ items:[] } });
Давайте разберемся с этим.
Функция Ext.define
помогает нам определить класс с именем Home
в пространстве имен MyFirstApp/view
. Все компоненты представления размещены в этом пространстве имен в соответствии со стандартами Sencha Touch MVC.
Ключевое слово Extend
указывает, что класс Home
является подклассом Ext.NavigationView
. Таким образом, класс Home
наследует базовую конфигурацию и реализацию класса Ext.NavigationView
.
xtype
слово xtype
используется для создания экземпляра класса.
Ключевое слово Config
помогает нам инициализировать переменные / компоненты, используемые в этом конкретном классе. В этом примере мы должны инициализировать навигационное представление списком.
Содержимое Items
в главном представлении в настоящее время пустое. Давайте создадим представление списка и поместим его ссылку в поле элементов в главном представлении.
Прежде всего, представьте этот домашний вид в функции запуска приложения
App.js
launch: function() { // Initialize the main view Ext.Viewport.add([{xtype:'Home'}]); },
Теперь давайте создадим простой класс модели для данных в списке.
MyModel.js
Ext.define('MyFirstApp.model.MyModel',{ extend:'Ext.data.Model', config:{ fields:['name'] } });
Давайте создадим хранилище данных и сопоставим его с вышеуказанной моделью.
MyStore.js
Ext.define('MyFirstApp.store.MyStore',{ extend:'Ext.data.Store', config:{ model:'MyFirstApp.model.MyModel', autoLoad:true, data:[ {name:'t1'}, {name:'t2'} ], proxy:{ type:'localstorage' } } });
Мы также инициализировали магазин со списком данных.
Прокси используется для загрузки модели с данными. Объект Local Storage — это функция HTML5 для локального хранения данных в браузере. Есть и другие прокси.
Ajax — используется для запроса в определенном домене
Локальная база данных — позволяет создавать базу данных на стороне клиента.
Мы можем опустить прокси для этого образца, так как мы не будем его использовать.
MyList.js
Ext.define('MyFirstApp.view.MyList',{ extend:'Ext.Panel', xtype:'MyList', requires:['Ext.dataview.List','Ext.data.Store'], config:{ title:'My List', layout:'fit', items:[ { xtype:'list', store:'MyStore', itemTpl:'<b>{name}<b>' } ] } });
В приведенном выше MyList
представление MyList
создается в пространстве имен MyFirstApp.view
и наследует свойства Ext.Panel
.
Когда ссылки на другие классы требуются в конкретном классе, эти классы должны быть объявлены в поле requires
. Sencha Touch обеспечивает загрузку необходимых классов.
MyList
инициализируется с заголовком « My List
, макетом в качестве fit
и содержимым в качестве компонента « List
. Компонент List
отображается в хранилище данных.
ItemTpl
представляет шаблон данных о том, как список должен отображаться пользователю.
Теперь мы добавим список в наш домашний вид
Ext.define('MyFirstApp.view.Home',{ extend:'Ext.NavigationView', xtype:'Home', config:{ items:[xtype:'MyList'] } });
Приведенный выше пример можно протестировать в браузере Chrome, имитируя различные мобильные разрешения. Щелкните правой кнопкой мыши в браузере и выберите «Проверить элемент». Выберите значок «Настройки» в правом углу окна «Проверка элемента». Выберите любой пользовательский агент и разрешение.
Вывод
Цель этой статьи — помочь вам сделать первые шаги в разработке Sencha Touch. Чего же ты ждешь?
Продолжайте импровизировать, адаптируйте код, привносите свои идеи, а затем разрабатывайте и публикуйте свои собственные мобильные приложения HTML5.