Преимущество и краткий обзор FlashDevelop я уже делал в одной из предыдущих статей. Несколько сумбурно, но все таки там есть что почитать.

Для начала скачиваем все необходимое:

  1. FlashDevelop. последний на момент написания статьи 3.2.2
  2. Adobe Flex SDK.
  3. Debug Flash Player для вашего барузера.

Если у вас еще не стоит Java 1.6+, то ставим ее, а для пользователей XP нужно сделать апгрейд update .NET 2.0 framework to SP2.

Читать далее…

 
Xo66uT29 Июль 2010ExtJS, Sencha, Новости

В этом релизе сделано более 160 багфиксов и сделано несколько полезных компонентов.

PivotGrid.

PivotGrid

“Первый компонент, который мы хотели бы представить это PivotGrid. Это компонент является инструментом обобщения данных, он идеально подходит для удобной организации больших объемов данных. PivotGrid поможет вам и вашим пользователям суммировать данные любого количества полей, а также легко разбить даннные, например, по параметрам город, год квартал. Посмотрите на пример по ссылке, там мы суммируем данные о продажах. PivotGrid легко интегрируются в уже существующие магазины, а создаются всего с помощью нескольких строк кода. Мы создали ряд примеров, демонстрирующих различные возможности компонента. Вот небольшой пример как можно создать таблицу из примера.”

Личное мнение: Акцентрируется внимание на том, что компонент работает с большими объемами данных, но в примере компонент грузит данные довольно продолжительное время, отсюда возникает вопрос, а есть ли заявленный profit ?

var pivotGrid = new Ext.grid.PivotGrid({
    title     : 'PivotGrid example',
    store     : myStore,
    aggregator: 'sum',
    measure   : 'value',

    leftAxis: [
        {dataIndex: 'person',  width: 80},
        {dataIndex: 'product', width: 90}
    ],

    topAxis: [
        {dataIndex: 'year'},
        {dataIndex: 'city'}
    ]
});

Компонент Календарь.

Компонент Calendar

“Многие разработчики просили нас сделать официальную поддержку компонента Calendar. Календари это открытый вопрос: Есть много способов их реализации и много функций, которые можно добавить. Мы рады вам представить новый компонент для отображения событий за день, неделю и месяц, все они представлены в примере компонента. Также как и с компонентом PivotGrid, новый компонент Calendar предназначен для работы с уже готовым набором данных, что означает легкую интеграцию с уже существующим кодом. Мы пока не включили компонент Calendar в ext-all.js, но включили рабочие версии этих компонентов в examples/calendar директории SDK.”

Личное мнение: по функционалу календарь пока значительно уступает проприетарному компоненту sheduler, но решение по разработке собственного компонента, очень хороший шаг, его не хватало.

Еще кое-что.

ActionColumn

“В дополение к этим двум компонентам в новой версии в Grid появился новый тип столбца ActionColumn. В этом типе столбцов рисуются иконки, к которым можно приписать любые функции для манипуляции с Grid. Например, как показано в примере, на двух кнопках работают функции покупки \ продажи. Как и в предыдущий версиях, обратная совместимость является для нас приоритетной задачей. Для нормальной работы нового компонента PivotGrid были внесены изменения в GridView, который, как известно, являлся причиной некорректного поведения в некоторых ситуациях, но все эти проблемы буду исправлены в финальной версии.”

Источник http://www.sencha.com/blog/2010/07/28/announcing-ext-js-3-3-beta-pivotgrids-calendars-and-more/

 
Xo66uT21 Июнь 2010JavaScript

Для языка Javascript очень важно количество байт кода – это напрямую влияет на производительность. Во многом из-за этого, как я думаю, придумано множество сокращений. Также эти сокращения записи, позволяют сделать код более читабельным и писать его быстрее. Читать далее…

 

Когда мы отправляем на сервер запрос одной и той же структуры и с одними и теми же параметрами, он кешируется, поэтому когда нам нужно запросить новую порцию данных по этому же url, браузер говорит flash, что эти данные у него уже есть и запроса на сервер не делает. Это относительно распространенная проблема с кешированием в Internet Explorer. У меня она возникла при написании чата, требования к чату были такими, что можно было использовать только flash (только он помогает победить same-origin-policy), нужно было отправлять запросы к домену отличному от текущего. Подробнее о чате напишу как-нибудь в другой раз, про все эти политики безопасности и ограничения, и что предлагает flash для решения этих проблем. Итак, как исправлять ?!

Flash.

Решение в принципе лежит на поверхности, подобным пользуются не только в flash, это распространенный способ избежать кеширования в браузере. Мы просто добавляем уникальный параметр в запрос. В данном примере я использую timestamp через метод класса Date() – date.getTime(), который передаю в качестве параметра key в запросе.


var request:URLRequest = new URLRequest("http://domain.ru/chat_receive.php");
var variables:URLVariables = new URLVariables();
 var date:Date = new Date();
 variables.key = date.getTime();

 request.data = variables;
 request.method = URLRequestMethod.GET;

Важно передавать параметры через URLVariables, первый раз я просто добавил параметры прямо в строку url “http://domain.ru/chat_receive.php”, почему-то IE это не очень понравилось, и он все равно все успешно кешировал.

Back-end.

Теперь делаем фикс на back-end, у меня это PHP, но реализации для других языков отличается не существенно. Зачем мы это делаем ? Способ который помог избежать проблемы, не отключает кеширование, то есть информация все равно попадает в кеш, и теперь ее на порядки больше. Для того чтобы не забивать кеш браузера, мы ставим в заголовок параметр Expires. А также отдаем в заголовке параметры, что кешировать не надо (в отличие от других браузеров ie этого не слушается, для этого мы и передавали уникальный параметр). Вот что у нас получилось:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // disable IE caching
 header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT");
 header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
 header("Pragma: no-cache"); // HTTP/1.0

Все Internet Explorer побежден.

 
Xo66uT17 Июнь 2010ExtJS, JavaScript, Sencha

Ext JS + jQTouch + Raphaël = Sencha

Интересные вещи происходят! сегодня мы объединяем силы с проектами jQTouch и Raphaël, а также меняем имя домена проекта с extjs.com на sencha.com. Эти проекты лидируют в своих областях и мы рады видеть в своих рядах их создателей Девида Канеду и Дмитрия Барановского. Мы считаем, что это сотрудничество приведет к впечатляющим результатам. … Sencha эт0 новое название нашей компании, а также разновидность япоского зеленого чая (Так вот он какой стратегический напиток ExtJS разработчика ?!).

Развитие Ext JS, Ext GWT, Designer, Direct и остального будет продолжаться, думаем только над переименованием Ext JS Designer на Sencha Designer. Одним из преимуществ переименования для нас является то, что мы разделяем названия компании и продукта.

Проекты jQTouch и Raphaël так и останутся под лицензией MIT. Мы создаем Sencha Labs подразделение, которое будет заниматься торговыми марками и авторскими правами всех некоммерческих проектов связанных с Sencha. Мы также рады сообщить, что Джонатан Старк известный разработчик мобильных приложений и автор двух книг под редакцией O’Reilly станет руководителем jQTouch (Добро пожаловать на борт Джонатан)” – вот такое сообщение получили зарегистрированные на форуме Ext JS, позже оно было опубликовано и на сайте.

Что можно ожидать от объединения ? Я думаю только хороших новых результатов. jQTouch это jQuery плагин для разработки под мобильные девайсы типа iPhone, iPad и прочие «forward-thinking» девайсы. Как поможет эта библиотека в развитии Ext JS пока соевершенно не ясно. А Raphaël это крутая штука для разработки векторной графики под веб. Подключение этого проекта позволит модифицировать компоненты для построение графиков и диаграмм Ext JS, которые сейчас работают с помощью Flash.

Есть также мнение, что переименование связано с тем, что из компании ушел ее основатель Джек Слокум, или вся команда разработчиков ушла от него в новую компанию Sencha. Вот что пишут про это на сайте: “После интенсивной работы над развитием ExtJS, за последние 18 месяцев Джек стремительно прекратил свое участие. Хоть он и может вернуться на некоторых условиях, мы желаем ему всего наилучшего.

В любом случае, что же действительно будет дальше покажет время.