Как стать автором
Поиск
Написать публикацию
Обновить
0

Библиотека ExtJS/Sencha *

Библиотека JavaScript

Сначала показывать
Порог рейтинга
Уровень сложности

Пишем MVC приложение на Ext JS 4 с возможностью офлайн работы

Время на прочтение10 мин
Количество просмотров32K

До недавнего времени при необходимости дать пользователю возможность работать офлайн, то есть без активного подключения к Интернет, приходилось разрабатывать толстые клиенты. При таком подходе пользователь вводит данные в приложение, которые сохраняются локально, затем, воткнув шнурок сети, жмет магическую кнопку Синхронизировать и, довольный собой, идет пить чай.

Описанная схема имеет все недостатки толстого клиента. Это и необходимость разработки отдельного приложения для работы из браузеров (что в современном мире является нормальным требованием), и необходимость установки дополнительного ПО, и проблема его обновления, и вообще необходимость найма специалистов по разработке десктоп приложений. Согласитесь, нам, как веб разработчикам, проблема работы офлайн всегда была костью в горле.

Сегодня этот вопрос решается элегантно — с помощью HTML5 с его локальным хранилищем (local storage), Ext JS 4 с возможностью прозрачно работать с этим хранилищем, и HTML5 кэшем приложений (Application Cache). Совокупность этих технологий позволяет реализовать следующую схему: при наличии сети статичные файлы (HTML/CSS/JS код и картинки) загружаются с сайта и мы работаем с серверной централизованной базой данных, при отсутствии сети статика загружается из Application Cache и мы работаем с локальным хранилищем, которое сохраняется в серверную БД при появлении доступа к Интернет. При этом без активного подключения по URL адресу страницы браузер отображает не ошибку доступа к сети, а функциональную систему, работающую с локальным хранилищем. Пояснения и рабочий пример (да не упадет мой vds под хаброэффектом) — под катом. Статья получилась немаленькая, но, надеюсь, весьма содержательная.
Вперед!

Фильтрация вводимых символов в Ext.form.field.Number

Время на прочтение11 мин
Количество просмотров6.8K
Думаю, каждый, кто писал WEB-приложение с активным использованием JavaScript на стороне клиента, сталкивался с проблемой десятичного разделителя. И решение этой проблемы отнюдь нетривиально, как может показаться на первый взгляд. В ExtJS использован простой в реализации и управлении подход: числовому полю указывается символ, который считается разделителем, и ввод других символов, исключая цифры и "-", запрещен. Однако этот подход, как мне кажется, имеет один существенный недостаток: когда используется несколько раскладок десятичный разделитель на цифровой клавиатуре соответствует разным символам. Как это исправить описано ниже.
Читать дальше →

Быстрый старт для ExtJS back-end

Время на прочтение5 мин
Количество просмотров14K

Проблема взаимопонимания


Представьте себе ситуацию: вы — фрилансер и работаете с Ext. С вами удалённо работает один (или несколько) разработчиков back-end. Работа идёт быстро и гладко. Но вот вот случилось так, что разработчик серверной части сменился. Если у нового коллеги есть опыт взаимодействия с Ext — всё замечательно. Но вот если человек впервые будет писать back-end для Ext или впервые будет писать для веба (такое тоже случается), то вам будет необходимо найти общий язык.
И вот тут могут начаться проблемы…
Придётся тратить время на простое объяснение протокола, объяснения как должен реагировать сервер на те или иные запросы. Чтобы избежать этого, я подготовил документ, описывающий все (ну или почти все нюансы стандартного для Ext протокола). Этот документ и представлен под катом.
Читать дальше →

Декорирование Ext JS4

Время на прочтение4 мин
Количество просмотров11K
Используя ExtJS в своих проектах, приходится постоянно видеть один и тот же сине-голубой интерфейс, что не всегда хорошо. В 4й версии этого фреймворка появился удобный компонент для изменения внешнего вида вашего веб-приложения без ручной правки CSS, основанный на использовании метаязыка SASS. С его помощью можно получить интерфейс, внешне не похожий на стандартный, заменив всего пару строк в конфигурационном файле.
Читать дальше →

Обзор ExtJS 4. Опыт портирования со старой версии

Время на прочтение6 мин
Количество просмотров6.3K
Несмотря на то, что четвертая версия каркаса ExtJS вышла уже достаточно давно, материалов по этой версии на хабре не слишком много. А если учесть, что в четвертой версии существенно переработан API, структура классов и предлагаемая архитектура приложения, то, как мне кажется, тут есть, о чем поговорить.

В данной статье я попробую рассказать свои впечатления от фреймворка в контексте портирования существующей кодовой базы на новую версию; постараюсь так же не забыть о подводных камнях и ссылках на полезные (и не очень) страницы справки.
Итак, поехали

20 правил, которым стоит следовать, когда начинаете работать с EXT JS & Sencha Touch

Время на прочтение7 мин
Количество просмотров32K

Эта статья — перевод статьи из блога www.swarmonline.com с небольшими моими дополнениями

При изучении новых технологий разработчики часто делают те же ошибки, что и другие люди и следуют тем же плохим техникам.

В этой статье мы собрали список некоторых из вещей, которые рекомендуем вам делать, когда вы начинаете работать с Ext JS (даже, если вы ветеран разработки, всё равно можете узнать что то новое!). Эти вещи прошли через наш опыт, через просмотр и ответы на одни и те же вопросы на форумах. Это наиболее общие из лучших техник программирования.

Надеюсь, это поможет вам перепрыгнуть несколько ступеней в изучении Ext JS и поможет избежать стандартных ошибок.
Читать дальше →

Руководство по мелочам в Ext JS

Время на прочтение5 мин
Количество просмотров39K
Добрый день, хабрапользователи! Сегодня я бы хотел поделиться с проблемами, которые обычно отталкивают добропорядочных программистов от использования фреймворка — Ext JS. Опишу конкретную ситуацию: в один прекрасный день после некоторого времени потраченного на просмотр возможностей, которые предлагает Ext JS, возникает непреодолимое желание попробовать его «в деле». Качается дистрибутив, ставится на локальный сервер и запускаются красивые примеры гридов, форм и, даже, готового рабочего стола! Разработчик меняет пару «фишечек», все вроде легко и просто. Резонно в голове бой-скаута возникает идея сделать некий коммерческий проект на Ext JS (чаще всего это бывают различного рода CMS, админки, CRM). И тут начинается самое интересное…
Читать дальше →

Cоздание прототипа социальной сети на ExtJS. Первые и не последние проблемы с ExtJS 4

Время на прочтение5 мин
Количество просмотров5.6K
Постоянно меняющиеся требования и сжатые сроки подтолкнули нас к использованию ExtJS 4 для создания прототипа.

Проблемы в ExtJS, с которыми мы столкнулись при разработке, едва ли превысили опыт, который мы получили при препарировании ExtJS.

В интернете много статей про ExtJS 4 уровня basic. Например очень порадовала эта статья http://css.dzone.com/articles/how-use-extjs-4-jquery. А вот серьезных “не кассовых” статей по решению (или созданию) каких-то проблем с помощью ExtJS не много.

Предлагаю вашему внимаю первую статью в рамках ExtJS patch lab… Ну и немного о самой соц. сети… совсем немного.


Читать дальше →

Использование Ext JS 4 виджетов в рамках Ext JS 3 интерфейса

Время на прочтение3 мин
Количество просмотров2.3K

Преамбула


Ext JS 4 представляет разработчикам много новых возможностей, в числе которых, например, большое количество новых графиков и диаграмм. Сравните — для четвертой версии приведено 22 примера использования элементов Chart против всего четырех примеров для третьей версии. Внушающе, не правда ли?

Однако что, если в наличии есть большое приложение, реализованное на третьей версии Ext JS и возникает необходимость использования некоторых виджетов четвертой версии? Например, типична ситуация, когда в приложение нужно добавить новые диаграммы, но переписывать всё на «четверку» нецелесообразно.

К счастью, разработчики фреймворка позаботились об этом. Ext JS 4 полностью изолирован, что позволяет использовать четвертую версию наравне с третьей в пределах одной страницы! Чтобы продемонстрировать эту возможность на боевом примере, авторами фреймворка был создан пример, добавляющий в Ext JS 3 приложение новые диаграммы четвертой версии. Итак, что для этого нужно?
Читать дальше →

Поддержка RTL интерфейсов в GXT (Ext GWT)

Время на прочтение3 мин
Количество просмотров2.5K
Вот уже несколько лет являюсь разработчиком одного корпоративного десктоп приложения для восточных пользователей. Особенностью разработки является необходимость обеспечить поддержку ориентации справа-налево (RTL) в пользовательском интерфейсе.

Недавно встал вопрос о хотя бы частичной миграции функционала в веб. Как средство разработки была выбрана платформа GWT. Выбор обусловлен тем, что наиболее привычной технологией для себя считаю Java. Также очень хотелось попробовать какую-нибудь новую для меня современную платформу разработки.
Читать дальше →

Sencha Touch Tutorial 3: События

Время на прочтение1 мин
Количество просмотров3.7K
Третий видеоурок по Sencha Touch:



Темы:
  • работа с событиями;
  • ещё раз о this и scope;
  • Ext.Carousel;
  • свойство контейнеров defaults

Исходный код урока можно взять здесь.

Ссылки на остальные уроки: 1, 2, 3

Плагин Illuminations для Firebug-а

Время на прочтение2 мин
Количество просмотров1.9K
Хочу поделиться одной интересной находкой, откопанной среди плагинов Firefox-а. Называется этот плагин Illuminations for Developers for Firebug и представляет из себя дополнение к Firebug для работы с тяжеловесными JS либами, преимущественно с ExtJS и Sencha Touch. Помимо этого, создателями заявлено, что в beta-версии плагин поддерживает Dojo Toolkit, SproutCore, qooxdoo, YUI, Google Closure Library, jQuery UI.
Читать дальше →

Sencha Touch Tutorial 2: Ext.Panel — Layouting

Время на прочтение1 мин
Количество просмотров4K
Вот и второй видеоурок по Sencha Touch:



Темы:
  • размещение компонентов на Ext.Panel

К сожалению, запись урока затянулась, и реальные исходники не совпадали с тем, на чём остановилась запись скринкаста, поэтому код не прилагаю.

Ссылки на остальные уроки: 1, 2, 3

Ближайшие события

Sencha Touch Tutorial 1: Первые шаги

Время на прочтение1 мин
Количество просмотров15K
Это первый видео урок по JavaScript-фреймворку Sencha Touch.



В этом скринкасте я разобрал следующие темы:
  • азы создания веб-приложений на базе библиотеки Sencha Touch;
  • компоненты Ext.Panel, Ext.Toolbar, Ext.Button и некоторые из их конфигурационных свойств;
  • порядок применения значений свойствам компонента

Исходный код урока можно взять отсюда.

Ссылки на остальные уроки: 1, 2, 3

Дополнительную информацию о разработке под мобильные платформы можно найти в моём блоге.

Вышел Ext JS 4

Время на прочтение1 мин
Количество просмотров1.3K
Радостная новость — сегодня вышла новая версия замечательного фреймворка.
Не могу опубликовать топик-ссылку, поэтому решил поделиться таким образом.
Прочесть краткий обзор и скачать библиотеку можно здесь: http://www.sencha.com/products/extjs/
Среди новшеств — песочница для запуска нескольких версий Ext JS в одном приложении, уменьшенный размер скриптов (от 100 кб), необходимый для работы, улучшения вида графиков и форм, системы раскладок (layouts), новые возможности для таблиц (grids), обновлена и значительно расширена документация. Изменения коснулись также системы классов и работы с данными, причем весьма значительно.
Также уже добавлены новые примеры, которые можно посмотреть в соответствующем разделе.

Вышел Developer Preview 1 ExtJs 4

Время на прочтение1 мин
Количество просмотров851
Только что, посетив сайт sencha.com в поисках справки, был приятно удивлён великолепной новостью: доступен для скачивания Developer Preview 1 ExtJs 4. Все Мы уже видели множество вводных статей на Хабре по четвёртой версии этого фреймворка, а теперь получили возможность его пощупать. Качайте, пробуйте и пишите новые интересные обзоры, удачи.

В ожидании Ext JS 4: Пакет работы с данными

Время на прочтение6 мин
Количество просмотров4.4K
От переводчика: Вашему вниманию предлагается вторая статья из цикла «В ожидании Ext JS 4». В предыдущей статье разработчики Ext JS рассказывали о новой системе классов.

Пакет работы с данными отвечает за получение, декодирование и использование информации в Вашем приложении. Он является одной из тех частей библиотеки, на которую пришлось наибольшее количество улучшений и дополнений.

Пакет был полностью переписан для четвертой ветки фреймворка, но общая концепция не изменилась со времен предыдущих версий. Сегодня мы более детально познакомимся с этой технологией и посмотрим на ее возможности.
Читать дальше →

В ожидании ExtJS 4: Динамическая загрузка и новая система классов

Время на прочтение11 мин
Количество просмотров6.2K
От переводчика: Sencha Inc, производитель известного RIA-фреймворка Ext JS, заговорила о грядущей четвертой версии 22 ноября прошлого года. Релиз обещанного планировался на 28 февраля.

Что бы подогреть интерес комьюнити (ведь API, по словам разработчиков, изменилось значительно), была обещана публичная альфа- или бета-версия «в течении пары недель». Прошло два месяца, но обещанного пока нет.

Понимая, что была совершена маркетинговая ошибка – слишком рано заявили о новом продукте и сорвали сроки его презентации – разработчики решили немного схитрить, выкладывая обещанную «бету» по частям: пакет за пакетом.

Вашему вниманию предлагается перевод первой статьи из официального блога фреймворка, посвященной попытке эмуляции «взрослого» ООП средствами JavaScript в реализации Ext JS 4.

Статья, в первую очередь, будет интересна тем, кто уже пользовался предыдущими версиями фреймворка – автор рассчитывает на то, что читатель уже знаком с архитектурой Ext JS.
Читать дальше →

Drag&Drop между TreePanel и GridPanel в ExtJS

Время на прочтение11 мин
Количество просмотров6.5K

Проблема


ExtJS — прекрасная библиотека с огромным числом возможностей. На http://dev.sencha.com/deploy/dev/examples/ можно найти множество демонстрационных исходных кодов, доступных для использования в реальных проектах, однако, конечно, ответа на все вопросы это не даст.
Мне было необходимо сделать обоюдное перетаскивание между TreePanel и GridPanel. Найдя на форуме ExtJS и в интернете вообще лишь отрывочные сведения, я решил написать это самостоятельно. Как это у меня получилось — под катом.

Читать дальше →

Введение в Sencha Touch 1.0

Время на прочтение6 мин
Количество просмотров9.1K

Предисловие



Sencha Touch (ST) – библиотека для разработки веб-сайтов и веб-сервисов, ориентированная на iPhone, iPad и Android. Разработана она компанией Sencha, Inc – известным поставщиком библиотеки ExtJS для рынка высокотехнологичных браузерных интерфейсов.

Основная цель ST – по мере возможности мимикрировать стандартный интерфейс и поведение элементов интерфейса iOS, предоставив программистам гибкое API.

Ядро библиотеки написанно на JavaScript, CSS3 и html5 (в трактовке WebKit-движков). FireFox 4 и IE 9 отсутствуют в списке поддерживаемых браузеров.

Соответственно, ST-приложение – это обычная клиент-серверная разработка, в качестве клиента выступает браузер Safari или Chrome, а в качестве сервера – любой веб-сервис, способный «отвечать» в форматах JSON, XML и еще нескольких других.

Читать дальше →