SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Эффективная разработка  веб-интерфейсовс Ample SDK
1.1 О каких веб-интерфейсах идет речь?
1.2 JavaScript Библиотеки и Фреймворки  Библиотеки (для веб-сайтов) prototype.js, Mootools, Scriptaculous, jQuery...  Пост-библиотеки / Пре-фреймворки dojo, Qooxdoo, ExtJS, jQuery-UI, YUI, Google Closure...  Фреймворки (для приложений) Ample SDK, Backbase 4, Bindows, Cappuccino, Ajax.org...
1.3 Проблемы нефреймворков  Проприетарный API  Интерфейс «программируется» на JS+HTML  Слабая поддержка цветовых схем компонентов  Код приложения с ростом сложности быстро становится трудносопровождаемым
1.4 Когда нужен фреймворк?  Интерфейс приложения содержит много типовых элементов взаимодействия  Разрабатывается несколько приложений  Требуется кросс-браузерность (IE до 9, FF etc.)  Уровень абстракции браузера (HTML) недостаточен
2. Эксперимент «Ample SDK» Ample SDK - это кросс-браузерный фреймворк для создания интерфейса пользователя в веб-браузере с использованием стандартных технологий и API. Архитектура: 	Ядро (DOM, менеджеры UI, Extensibility API) 	Языки разметки интерфейса пользователя (SVG...)
2.1 Модель программирования В сущности, Ample SDK есть веб-браузер написанный на JavaScript, поэтому модель программирования приложений идентична:  Разметка интерфейса на XML (SVG, XUL, XHTML..)  Стилизация интерфейса на CSS (CSS3-UI, CSS3-NS...)  Логика интерфейса на JavaScript (DOM Level 3 APIs...)
3. Разметка интерфейса на XML   Преимущества:  Стандартная технология разметки  Четкое отделение разметки интерфейса от стилизации и логики  XML легко читается  Подсказки кода в любом IDE
3.1 XML островки в HTML (Ample SDK) <script type="application/ample+xml"> 	<xul:menubar xmlns:xul="http://...only.xul"> 		<xul:menu label="Файл"/> 		<xul:menu label="Правка"/> 		<xul:menu label="Вид"/> 	</xul:menubar> </script>
3.2 XML UI Технологии  XHTML (eXtensible Hyper Text Markup Language, W3C)  XUL (XML User interface Language, Mozilla)  SVG 1.1 (Scalable Vector Graphics, W3C)  XHTML 5 (в разработке)  Charts (в разработке)  XForms 1.1 (запланировано)  ваша собственная?
4. Стилизация интерфейса на CSS   Преимущества:  Стандартная технология стилизации  Отделение стиля от разметки интерфейса и логики  Стилизация интерфейса как на уровне компонентов так и на уровне всего приложения
4.1 CSS островки в HTML (Ample SDK) <style type="text/ample+css"> 	@namespace xul url(http://...only.xul);    xul|menu:hover { 		font-variant: italic; 	} 	xul|datepicker::value { 		background-color: red; 	} </style>
4.2 CSS Технологии  CSS3 Namespaces 	@namespace xul url(http://...only.xul); 	xul|menuitem {font: normal 1em Verdana}  CSS3 UI 	xul|datepicker::input {background-color:pink}  Дополнительные псевдо-классы (:drag, :resize..) 	.mytarget:drop {border: dashed 1px red}
5. Логика приложения на JS, DOM API   Преимущества:  Стандартные технологии и API (W3C)  Минимальный порог начала использования  Возможность пере-использования написанного кода в браузерах нативно в будущем  Разделение логики приложения и логики компонентов
5.1 JavaScript островки в HTML <script type="text/javascript"> ample.addEventListener("load", function(oEvent) { 	var oNode = this.querySelector("svg|circle"); 	oNode.setAttribute("r", 10); }, false); </script> "ample" — обьект, похожий на объект "document"  веб-браузера, предоставляющий доступ к объектной модели документа Ample SDK, составленной из островков XML
5.2 JavaScript технологии Ample SDK  DOM Core (Level 2/3) Для создания и модификации документа  DOM Events (Level 3) Для подписки и реагирования на события в документе  Selectors API Для навигации по документу (поиска элементов)
5.3 Менеджеры UI  Drag&Drop (e:dragstart, e:dragenter, e:dragleave, e:drag, e:drop s:dragend, p:$draggable, p:$droppable)  Resize (e:resizestart, e:resize, e:resizeend, p:$resizeable)  History (e:hashchange, m:$bookmark())  Selection (p:$selectable)  Capture (e:capture, e:losecapture, m:setCapture, m:releaseCapture)
5.4 Другие API и технологии JavaScript APIs (обьекты): 	XMLHttpRequest, JSON, 	DOMParser, XMLSerializer, XSLTProcessor XML APIs (mark-up): 	SMIL 3.0 (избранные модули), XInclude 1.0, 	XML Schema 1.1 (модуль типов данных)
6. Возможности расширения платформы  Создание своих компонентов (XML языков и диалектов) Примеры: Язык определения графиков, библиотека компонентов интерфейса мобильного приложения  Создание менеджеров интерфейса Примеры: Менеджер жестов мыши, менеджер окон
7. Почему стоит посмотреть Ample SDK?  Знакомая модель программирования (W3C)  Стандартные API (как в современном веб-браузере)  Удобные «строительные элементы»  Быстрый рендеринг  Позволяет использовать SVG в Internet Explorer с 5.5  Позволяет использовать XUL во всех браузерах  Позволяет определять свои языки разметки
8. Ссылки Ample SDK  Сайт проекта: http://www.amplesdk.com  Исходники: http://github.com/clientside/amplesdk  Обсуждения: http://groups.google.com/amplesdk Контакты докладчика  E-mail: sergey@ilinsky.com  Twitter: http://twitter.com/ilinsky

Weitere ähnliche Inhalte

Was ist angesagt?

Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
sigmaray
 
Чат-бот как новый способ взаимодействия с клиентом
Чат-бот как новый способ взаимодействия с клиентомЧат-бот как новый способ взаимодействия с клиентом
Чат-бот как новый способ взаимодействия с клиентом
Voximplant
 

Was ist angesagt? (9)

Developer tools - подробное руководство разработчика
Developer tools - подробное руководство разработчикаDeveloper tools - подробное руководство разработчика
Developer tools - подробное руководство разработчика
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
История развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другиеИстория развития и применения CMS: Drupal и другие
История развития и применения CMS: Drupal и другие
 
Разработка ПО. Введение в специальность 3. Требования
 Разработка ПО. Введение в специальность 3. Требования Разработка ПО. Введение в специальность 3. Требования
Разработка ПО. Введение в специальность 3. Требования
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
 
Чат-бот как новый способ взаимодействия с клиентом
Чат-бот как новый способ взаимодействия с клиентомЧат-бот как новый способ взаимодействия с клиентом
Чат-бот как новый способ взаимодействия с клиентом
 
Создание темы «с нуля»
Создание темы «с нуля»Создание темы «с нуля»
Создание темы «с нуля»
 

Andere mochten auch

Ширяева
ШиряеваШиряева
Ширяева
BDA
 
20 лет научных исследований
20 лет научных исследований20 лет научных исследований
20 лет научных исследований
ABBYY Language Services
 
Построение собственного JS SDK — зачем и как?
Построение собственного JS SDK — зачем и как?Построение собственного JS SDK — зачем и как?
Построение собственного JS SDK — зачем и как?
buranLcme
 
АБИ ИнфоПоиск
АБИ ИнфоПоискАБИ ИнфоПоиск
АБИ ИнфоПоиск
igorod
 

Andere mochten auch (9)

Ширяева
ШиряеваШиряева
Ширяева
 
Тестирование наукоёмких SDK
Тестирование наукоёмких SDKТестирование наукоёмких SDK
Тестирование наукоёмких SDK
 
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
Роман Магдаленко (ABBYY Language Services) - “Экономическая эффективность лок...
 
Кейс ABBYY PDF Transformer+
Кейс ABBYY PDF Transformer+ Кейс ABBYY PDF Transformer+
Кейс ABBYY PDF Transformer+
 
20 лет научных исследований
20 лет научных исследований20 лет научных исследований
20 лет научных исследований
 
Вовлечение сотрудников на примере нестандартных мероприятий. Ольга Бронникова...
Вовлечение сотрудников на примере нестандартных мероприятий. Ольга Бронникова...Вовлечение сотрудников на примере нестандартных мероприятий. Ольга Бронникова...
Вовлечение сотрудников на примере нестандартных мероприятий. Ольга Бронникова...
 
Построение собственного JS SDK — зачем и как?
Построение собственного JS SDK — зачем и как?Построение собственного JS SDK — зачем и как?
Построение собственного JS SDK — зачем и как?
 
Извлечение справочных данных из технических текстов на естественных языках
Извлечение справочных данных из технических текстов на естественных языкахИзвлечение справочных данных из технических текстов на естественных языках
Извлечение справочных данных из технических текстов на естественных языках
 
АБИ ИнфоПоиск
АБИ ИнфоПоискАБИ ИнфоПоиск
АБИ ИнфоПоиск
 

Ähnlich wie Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk

Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendencies
DarkestMaster
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
Serghei Urban
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
JSC “Arcadia Inc”
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
jskonst
 
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_apSergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
DneprCiklumEvents
 

Ähnlich wie Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk (20)

Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendencies
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 5
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Современный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаСовременный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проекта
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
JavaScript
JavaScriptJavaScript
JavaScript
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
CV-android
CV-androidCV-android
CV-android
 
создание живых сайтов
создание живых сайтовсоздание живых сайтов
создание живых сайтов
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox ExtensionОранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
 
Dotnet
DotnetDotnet
Dotnet
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_apSergey Khlopenov tools for_development_cross_platform_mobile_ap
Sergey Khlopenov tools for_development_cross_platform_mobile_ap
 

Mehr von rit2010

Sphinx new
Sphinx newSphinx new
Sphinx new
rit2010
 
Microsoft cluster systems ritconf
Microsoft cluster systems ritconfMicrosoft cluster systems ritconf
Microsoft cluster systems ritconf
rit2010
 
анатомия интернет банка Publish
анатомия интернет банка Publishанатомия интернет банка Publish
анатомия интернет банка Publish
rit2010
 
анатомия интернет банка Publish
анатомия интернет банка Publishанатомия интернет банка Publish
анатомия интернет банка Publish
rit2010
 
Anatol filin pragmatic documentation 1_r
Anatol filin  pragmatic documentation 1_rAnatol filin  pragmatic documentation 1_r
Anatol filin pragmatic documentation 1_r
rit2010
 
Ilia kantor паттерны серверных comet решений
Ilia kantor паттерны серверных comet решенийIlia kantor паттерны серверных comet решений
Ilia kantor паттерны серверных comet решений
rit2010
 
Alexei shilov 2010 rit-rakudo
Alexei shilov 2010 rit-rakudoAlexei shilov 2010 rit-rakudo
Alexei shilov 2010 rit-rakudo
rit2010
 
Alexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extraAlexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extra
rit2010
 
Konstantin kolomeetz послание внутреннему заказчику
Konstantin kolomeetz послание внутреннему заказчикуKonstantin kolomeetz послание внутреннему заказчику
Konstantin kolomeetz послание внутреннему заказчику
rit2010
 
Bykov monitoring mailru
Bykov monitoring mailruBykov monitoring mailru
Bykov monitoring mailru
rit2010
 
Alexander shigin slides
Alexander shigin slidesAlexander shigin slides
Alexander shigin slides
rit2010
 
иван василевич Eye tracking и нейрокомпьютерный интерфейс
иван василевич Eye tracking и нейрокомпьютерный интерфейсиван василевич Eye tracking и нейрокомпьютерный интерфейс
иван василевич Eye tracking и нейрокомпьютерный интерфейс
rit2010
 
Andrey Petrov P D P
Andrey Petrov P D PAndrey Petrov P D P
Andrey Petrov P D P
rit2010
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
rit2010
 
Dmitry lohansky rit2010
Dmitry lohansky rit2010Dmitry lohansky rit2010
Dmitry lohansky rit2010
rit2010
 
Dmitry Lohansky Rit2010
Dmitry Lohansky Rit2010Dmitry Lohansky Rit2010
Dmitry Lohansky Rit2010
rit2010
 
Related Queries Braslavski Yandex
Related Queries Braslavski YandexRelated Queries Braslavski Yandex
Related Queries Braslavski Yandex
rit2010
 
молчанов сергей датацентры 10 04 2010 Light
молчанов сергей датацентры 10 04 2010  Lightмолчанов сергей датацентры 10 04 2010  Light
молчанов сергей датацентры 10 04 2010 Light
rit2010
 
Serge P Nekoval Grails
Serge P  Nekoval GrailsSerge P  Nekoval Grails
Serge P Nekoval Grails
rit2010
 
Pavel Braslavski Related Queries Braslavski Yandex
Pavel Braslavski Related Queries Braslavski YandexPavel Braslavski Related Queries Braslavski Yandex
Pavel Braslavski Related Queries Braslavski Yandex
rit2010
 

Mehr von rit2010 (20)

Sphinx new
Sphinx newSphinx new
Sphinx new
 
Microsoft cluster systems ritconf
Microsoft cluster systems ritconfMicrosoft cluster systems ritconf
Microsoft cluster systems ritconf
 
анатомия интернет банка Publish
анатомия интернет банка Publishанатомия интернет банка Publish
анатомия интернет банка Publish
 
анатомия интернет банка Publish
анатомия интернет банка Publishанатомия интернет банка Publish
анатомия интернет банка Publish
 
Anatol filin pragmatic documentation 1_r
Anatol filin  pragmatic documentation 1_rAnatol filin  pragmatic documentation 1_r
Anatol filin pragmatic documentation 1_r
 
Ilia kantor паттерны серверных comet решений
Ilia kantor паттерны серверных comet решенийIlia kantor паттерны серверных comet решений
Ilia kantor паттерны серверных comet решений
 
Alexei shilov 2010 rit-rakudo
Alexei shilov 2010 rit-rakudoAlexei shilov 2010 rit-rakudo
Alexei shilov 2010 rit-rakudo
 
Alexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extraAlexandre.iline rit 2010 java_fxui_extra
Alexandre.iline rit 2010 java_fxui_extra
 
Konstantin kolomeetz послание внутреннему заказчику
Konstantin kolomeetz послание внутреннему заказчикуKonstantin kolomeetz послание внутреннему заказчику
Konstantin kolomeetz послание внутреннему заказчику
 
Bykov monitoring mailru
Bykov monitoring mailruBykov monitoring mailru
Bykov monitoring mailru
 
Alexander shigin slides
Alexander shigin slidesAlexander shigin slides
Alexander shigin slides
 
иван василевич Eye tracking и нейрокомпьютерный интерфейс
иван василевич Eye tracking и нейрокомпьютерный интерфейсиван василевич Eye tracking и нейрокомпьютерный интерфейс
иван василевич Eye tracking и нейрокомпьютерный интерфейс
 
Andrey Petrov P D P
Andrey Petrov P D PAndrey Petrov P D P
Andrey Petrov P D P
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
 
Dmitry lohansky rit2010
Dmitry lohansky rit2010Dmitry lohansky rit2010
Dmitry lohansky rit2010
 
Dmitry Lohansky Rit2010
Dmitry Lohansky Rit2010Dmitry Lohansky Rit2010
Dmitry Lohansky Rit2010
 
Related Queries Braslavski Yandex
Related Queries Braslavski YandexRelated Queries Braslavski Yandex
Related Queries Braslavski Yandex
 
молчанов сергей датацентры 10 04 2010 Light
молчанов сергей датацентры 10 04 2010  Lightмолчанов сергей датацентры 10 04 2010  Light
молчанов сергей датацентры 10 04 2010 Light
 
Serge P Nekoval Grails
Serge P  Nekoval GrailsSerge P  Nekoval Grails
Serge P Nekoval Grails
 
Pavel Braslavski Related Queries Braslavski Yandex
Pavel Braslavski Related Queries Braslavski YandexPavel Braslavski Related Queries Braslavski Yandex
Pavel Braslavski Related Queries Braslavski Yandex
 

Sergey Ilinsky Rit 2010 Complex Gui Development Ample Sdk

  • 1. Эффективная разработка веб-интерфейсовс Ample SDK
  • 2. 1.1 О каких веб-интерфейсах идет речь?
  • 3. 1.2 JavaScript Библиотеки и Фреймворки Библиотеки (для веб-сайтов) prototype.js, Mootools, Scriptaculous, jQuery... Пост-библиотеки / Пре-фреймворки dojo, Qooxdoo, ExtJS, jQuery-UI, YUI, Google Closure... Фреймворки (для приложений) Ample SDK, Backbase 4, Bindows, Cappuccino, Ajax.org...
  • 4. 1.3 Проблемы нефреймворков Проприетарный API Интерфейс «программируется» на JS+HTML Слабая поддержка цветовых схем компонентов Код приложения с ростом сложности быстро становится трудносопровождаемым
  • 5. 1.4 Когда нужен фреймворк? Интерфейс приложения содержит много типовых элементов взаимодействия Разрабатывается несколько приложений Требуется кросс-браузерность (IE до 9, FF etc.) Уровень абстракции браузера (HTML) недостаточен
  • 6. 2. Эксперимент «Ample SDK» Ample SDK - это кросс-браузерный фреймворк для создания интерфейса пользователя в веб-браузере с использованием стандартных технологий и API. Архитектура: Ядро (DOM, менеджеры UI, Extensibility API) Языки разметки интерфейса пользователя (SVG...)
  • 7. 2.1 Модель программирования В сущности, Ample SDK есть веб-браузер написанный на JavaScript, поэтому модель программирования приложений идентична: Разметка интерфейса на XML (SVG, XUL, XHTML..) Стилизация интерфейса на CSS (CSS3-UI, CSS3-NS...) Логика интерфейса на JavaScript (DOM Level 3 APIs...)
  • 8. 3. Разметка интерфейса на XML Преимущества: Стандартная технология разметки Четкое отделение разметки интерфейса от стилизации и логики XML легко читается Подсказки кода в любом IDE
  • 9. 3.1 XML островки в HTML (Ample SDK) <script type="application/ample+xml"> <xul:menubar xmlns:xul="http://...only.xul"> <xul:menu label="Файл"/> <xul:menu label="Правка"/> <xul:menu label="Вид"/> </xul:menubar> </script>
  • 10. 3.2 XML UI Технологии XHTML (eXtensible Hyper Text Markup Language, W3C) XUL (XML User interface Language, Mozilla) SVG 1.1 (Scalable Vector Graphics, W3C) XHTML 5 (в разработке) Charts (в разработке) XForms 1.1 (запланировано) ваша собственная?
  • 11. 4. Стилизация интерфейса на CSS Преимущества: Стандартная технология стилизации Отделение стиля от разметки интерфейса и логики Стилизация интерфейса как на уровне компонентов так и на уровне всего приложения
  • 12. 4.1 CSS островки в HTML (Ample SDK) <style type="text/ample+css"> @namespace xul url(http://...only.xul); xul|menu:hover { font-variant: italic; } xul|datepicker::value { background-color: red; } </style>
  • 13. 4.2 CSS Технологии CSS3 Namespaces @namespace xul url(http://...only.xul); xul|menuitem {font: normal 1em Verdana} CSS3 UI xul|datepicker::input {background-color:pink} Дополнительные псевдо-классы (:drag, :resize..) .mytarget:drop {border: dashed 1px red}
  • 14. 5. Логика приложения на JS, DOM API Преимущества: Стандартные технологии и API (W3C) Минимальный порог начала использования Возможность пере-использования написанного кода в браузерах нативно в будущем Разделение логики приложения и логики компонентов
  • 15. 5.1 JavaScript островки в HTML <script type="text/javascript"> ample.addEventListener("load", function(oEvent) { var oNode = this.querySelector("svg|circle"); oNode.setAttribute("r", 10); }, false); </script> "ample" — обьект, похожий на объект "document" веб-браузера, предоставляющий доступ к объектной модели документа Ample SDK, составленной из островков XML
  • 16. 5.2 JavaScript технологии Ample SDK DOM Core (Level 2/3) Для создания и модификации документа DOM Events (Level 3) Для подписки и реагирования на события в документе Selectors API Для навигации по документу (поиска элементов)
  • 17. 5.3 Менеджеры UI Drag&Drop (e:dragstart, e:dragenter, e:dragleave, e:drag, e:drop s:dragend, p:$draggable, p:$droppable) Resize (e:resizestart, e:resize, e:resizeend, p:$resizeable) History (e:hashchange, m:$bookmark()) Selection (p:$selectable) Capture (e:capture, e:losecapture, m:setCapture, m:releaseCapture)
  • 18. 5.4 Другие API и технологии JavaScript APIs (обьекты): XMLHttpRequest, JSON, DOMParser, XMLSerializer, XSLTProcessor XML APIs (mark-up): SMIL 3.0 (избранные модули), XInclude 1.0, XML Schema 1.1 (модуль типов данных)
  • 19. 6. Возможности расширения платформы Создание своих компонентов (XML языков и диалектов) Примеры: Язык определения графиков, библиотека компонентов интерфейса мобильного приложения Создание менеджеров интерфейса Примеры: Менеджер жестов мыши, менеджер окон
  • 20. 7. Почему стоит посмотреть Ample SDK? Знакомая модель программирования (W3C) Стандартные API (как в современном веб-браузере) Удобные «строительные элементы» Быстрый рендеринг Позволяет использовать SVG в Internet Explorer с 5.5 Позволяет использовать XUL во всех браузерах Позволяет определять свои языки разметки
  • 21. 8. Ссылки Ample SDK Сайт проекта: http://www.amplesdk.com Исходники: http://github.com/clientside/amplesdk Обсуждения: http://groups.google.com/amplesdk Контакты докладчика E-mail: sergey@ilinsky.com Twitter: http://twitter.com/ilinsky