Статьи

Первые шаги в Sencha Touch

Хотите разрабатывать мобильные приложения для всех платформ? Хотите разрабатывать мобильные приложения на 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

  1. Index.html — страница, на которой будет размещаться ваше приложение.
  2. Каталог приложений — приложение в целом представляет собой набор моделей, представлений, контроллеров, магазинов и профилей
    • Модель: представляет тип данных, которые должны использоваться / храниться в приложении
    • Просмотр: отображает данные для пользователя с помощью встроенных компонентов пользовательского интерфейса Sencha / пользовательских компонентов
    • Контроллер: обрабатывает взаимодействия пользовательского интерфейса и взаимодействие между моделью и представлением.
    • Store: отвечает за загрузку данных в приложение
    • Профиль: помогает в настройке пользовательского интерфейса для различных телефонов и планшетов.
  3. Каталог ресурсов — содержит изображения, CSS и другие медиа-ресурсы
  4. 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.