Сенча Тач
![]() Приложение Sencha Touch с темой iOS6. | |
Разработчик(и) | Сенча |
---|---|
Финальный выпуск | 2.4.2
/ 15 июня 2015 г |
Написано в | JavaScript |
Операционная система | Android , iOS , BlackBerry , Kindle , Windows Phone , Tizen |
Доступно в | Английский |
Тип | библиотека JavaScript |
Лицензия | GPLv3 или коммерческая лицензия |
Веб-сайт | www |
Sencha Touch — это пользовательского интерфейса (UI) библиотека JavaScript или веб-фреймворк , специально созданная для мобильного Интернета . могут использовать его Веб-разработчики для разработки пользовательских интерфейсов мобильных веб-приложений , которые выглядят и работают как собственные приложения на поддерживаемых мобильных устройствах. Он основан на веб-стандартах, таких как HTML5 , CSS3 и JavaScript . Цель Sencha Touch — облегчить быструю и простую разработку мобильных приложений на основе HTML5, которые работают на устройствах Android , iOS , Windows , Tizen и BlackBerry , одновременно обеспечивая естественный внешний вид приложений.
История версий и поддержка
[ редактировать ]Sencha Touch — продукт компании Sencha, которая образовалась после популярных проектов библиотек JavaScript Ext JS , jQTouch и Raphaël объединения . Первый выпуск Sencha Touch, бета-версия 0.90, был доступен 17 июля 2010 года. Этот бета-выпуск поддерживал устройства под управлением Android и iOS (на iPhone , iPod Touch , iPad ).
Впоследствии в ноябре 2010 года была выпущена первая стабильная версия 1.0. В версии 1.1.0 добавлена поддержка устройств под управлением BlackBerry OS 6.0.
Последняя версия Sencha Touch 2.4.2 была выпущена в июне 2015 г. [1] и предназначен для работы в следующих браузерах и платформах:
- Браузер Android, Google Chrome для Android
- Блэкберри 10
- Bada Мобильный браузер
- Kindle Fire Браузер
- Тизен
- Windows Phone 8 и Windows 8 IE10
- Мобильное Сафари
не объявлено О планах по поддержке Firefox Mobile .
Функции
[ редактировать ]Архитектура MVC
[ редактировать ]Sencha Touch следует шаблону MVC , который разделяет данные приложения, управляющий код и представление. Такое разделение позволяет крупномасштабным приложениям быть гибкими и простыми в обслуживании.
Компоненты виджетов и настраиваемые темы
[ редактировать ]Sencha Touch имеет встроенный интерфейс манипулирования DOM , который исключает зависимость от других инфраструктур пользовательского интерфейса, таких как jQuery. Он включает в себя набор графического пользовательского интерфейса (или компонентов) на основе элементов управления для использования в мобильных веб-приложениях. Эти компоненты оптимизированы для сенсорного ввода. Компоненты: [2]
- Кнопки с темами и эффектами, специфичными для устройства
- Элементы формы, такие как текстовые поля для электронной почты.
- Выбор даты и адрес
- Ползунки, селекторы и поля со списком
- Компонент списка с прокруткой по импульсу и индексной полосой.
- Минимальный набор иконок
- Панели инструментов и меню
- Подвижные вкладки, нижние панели инструментов
- Компонент карты с поддержкой мультитач- жестов, таких как масштабирование и масштабирование.
- Карусели
Все компоненты могут быть оформлены в соответствии с целевым устройством. Это делается с помощью Sass , языка таблиц стилей, построенного на основе CSS. Некоторые из тем, похожих на нативные, — это Cupertino Classic (для iOS6.x и ниже), Cupertino (для iOS 7) и Mountain View (для Android). [3]
Переходы, анимация и адаптивный интерфейс.
[ редактировать ]Sencha Touch имеет восемь встроенных эффектов перехода, включая скольжение над или под текущим элементом, всплывающее окно, переворот и куб. Он поддерживает распространенные сенсорные жесты, созданные на основе сенсорных событий , которые являются веб-стандартами , но поддерживаются только Android , iOS и некоторыми устройствами с сенсорным экраном. Это касание, двойное касание, пролистывание, прокрутка и масштабирование.
Поскольку Sencha Touch основан на HTML5, предлагаемые им макеты чрезвычайно адаптивны по своей природе.
Диаграммы
[ редактировать ]Sencha Touch также поддерживает компоненты диаграмм, включая круговые диаграммы, гистограммы, ряды линий и т. д. с пояснительными легендами. Эти компоненты поддерживают интерактивность, например масштабирование и масштабирование. Как и компоненты Grid в ExtJS , Sencha Touch предлагает функциональность TouchGrid. [4]
Профили
[ редактировать ]Профилирование в Sencha Touch позволяет создавать разные профили для разных размеров экрана. Когда приложение загружается, платформа определяет тип устройства, а соответствующий профиль определяет, какие компоненты и функциональные возможности необходимо заменить, а также конкретные представления и контроллеры, которые необходимо вызвать, избавляя разработчика от необходимости создания другого устройства. приложение для каждого типа устройства. [5]
Базовая структура каталогов приложений
[ редактировать ]Приложения Sencha Touch имеют следующую базовую структуру файлов и каталогов: [2] [6]
Каталог/файл | Описание |
---|---|
приложение | Основной каталог, в котором хранятся модели, представления, контроллеры, магазины и профили приложения. |
приложение.js | Файл, содержащий общие настройки приложения. Ссылки на все модели, виды, контроллеры, магазины и профили можно найти здесь. После загрузки этих ссылок вызывается основная функция запуска приложения. Эта функция загружает первое представление и, следовательно, может рассматриваться как первая точка приложения. |
index.html | Основной HTML- файл приложения. Он может охватывать множество страниц/экранов мобильного приложения. |
ресурсы | Каталог, в котором хранятся все изображения, CSS и любые другие внешние файлы, необходимые приложению. |
app.json | Файл конфигурации приложения |
упаковщик.json | Файл, используемый для создания собственных пакетов. |
ext-touch.js | Это библиотека JavaScript Sencha (ext-touchdebug.js рекомендуется на этапе разработки). |
ext-touch.css | Это CSS-библиотека Sencha. |
Инструменты и плагины разработчика
[ редактировать ]Sencha Touch предоставляет плагины IDE для упрощения разработки. Преимущества этих плагинов включают кода генерацию и автодополнение , рефакторинг кода и простоту навигации по базе кода платформы и пользовательским классам. Sencha Touch имеет плагины для популярных IDE, таких как JetBrains , Visual Studio и Eclipse .
Существует визуальный конструктор приложений Sencha Architect для создания кроссплатформенных приложений HTML5. Он предоставляет функции зависимости, такие как темирование и интеграция командной строки . [7]
Пример использования
[ редактировать ]Sencha Touch позволяет удобно использовать карту в вашем приложении с помощью компонента Ext.Map. [8] Включение файла JavaScript «Google Maps API» необходимо для GoogleMaps API . работы [9]
<!DOCTYPE HTML>
<html>
<head>
<title>Touch Test</title>
<!-- Sencha Touch CSS -->
<link rel="stylesheet" type="text/css"
href="sencha-touch/resources/css/sencha-touch-debug.css" />
<!-- Google Maps API -->
<script type="text/javascript"
src="//maps.google.com/maps/api/js?sensor=true"></script>
<!-- Sencha Touch JavaScript code -->
<script type="text/javascript" src="sencha-touch/sencha-touch-debug.js"></script>
<!-- Application script -->
<script type="text/javascript">
Ext.setup( {
onReady: function() {
// create the root panel
new Ext.Panel({
fullscreen: true,
items: [
{
xtype: "map"
}
]
});
}
});
</script>
</head>
<body>
</body>
</html>
Ext.setup() — это отправная точка для инициализации приложения, настройки области просмотра и системы событий. [10]
Сравнение с нативными приложениями
[ редактировать ]Sencha Touch поддерживает PhoneGap [11] и API-интерфейсы Apache Cordova для акселерометра , камеры, компаса, геолокации , захвата, [12] InAppBrowser, Media, Notification, Splash Screen , Storage (SQLite) и т. д., которые ранее были доступны только нативным приложениям. Sencha Touch использует JavaScript для создания большинства компонентов пользовательского интерфейса и изменения CSS элементов DOM на лету. Поскольку движки JavaScript стали более эффективными и быстрыми, чем раньше, веб-приложения работают почти так же плавно, как и собственные приложения.
См. также
[ редактировать ]- Платформа веб-приложений для нескольких телефонов
- Сравнение JavaScript-фреймворков
- jQuery для мобильных устройств
- Тизен
- Андроид (операционная система)
- iOS
Ссылки
[ редактировать ]- ^ «Анонсируем Sencha Touch 2.4.2 с улучшенными возможностями BlackBerry 10.3» . sencha.com . 15 июня 2015 г.
- ^ Jump up to: а б Аллен, Сара; Граупера, Видаль; Лундриган, Ли (2010). Кроссплатформенная разработка профессиональных смартфонов . Соединенные Штаты Америки: APress. п. 226. ИСБН 978-1-4302-2869-1 .
- ^ «Примечания к выпуску Sencha Touch 2» . cdn.sencha.com .
- ^ «Анонс Sencha Touch 2.3 — Touch Grid, поддержка Cordova и новые темы» . sencha.com . 1 октября 2013 г.
- ^ Кларк, Джон Эрл; Джонсон, Брайан П. (апрель 2013 г.). Создание мобильных приложений с помощью Sencha Touch 2 . Бирмингем, Великобритания: Packt Publishing. стр. 233, 234. ISBN. 978-1-84951-890-1 – через Ebrary.com.
- ^ «Руководства по сенсорному вводу — начало работы с Sencha Touch» . docs.sencha.com .
- ^ «Сенча Архитектор» . sencha.com . 25 марта 2015 г.
- ^ «Прикосновение — Сенча Документы» . docs.sencha.com .
- ^ «IBM Developer Works — создание мобильных веб-приложений с помощью Sencha Touch» .
- ^ «Сенсорные гиды — События» . docs.sencha.com .
- ^ «Использование PhoneGap в Sencha Touch» . PhoneGap.com .
- ^ «Сенсорные руководства — использование собственных API» . docs.sencha.com .
Библиография
[ редактировать ]- Хесус Гарсия и Энтони Де Мосс, Митчелл Симоенс, Сенча Тач в действии , ISBN 978-1-61729-037-4
- Аджит Кумар, Поваренная книга Sencha Touch , ISBN 978-1-84951-544-3 .
- Хирен Дж. Дэйв, Instant Sencha Touch, ISBN 9781782165996 .
- Аджит Кумар, Поваренная книга Sencha Touch - второе издание , ISBN 978-1-78216-918-5 .
- Ли Бунстра, Практический курс Sencha Touch 2: подход к использованию реальных приложений, 1-е издание, ISBN 978-1-44936-652-0 .
- Аджит Кумар, Sencha MVC Architecture , ISBN 978-1-84951-888-8 .
- Мэтью Дэвид, Мобильные веб-сайты HTML5, Ускорение HTML5 с помощью jQuery, Sencha Touch и других фреймворков, ISBN 978-0-24081-814-6 .
- https://developer.salesforce.com/page/Developing_Mobile_Applications_With_Force.com_And_Sencha_Touch