Архив рубрики ‘JavaScript’ Category

Вышел ExtJS 2.0.1, читаем…

Четверг, Январь 24th, 2008

Что же обновилось?

Как всегда, исправлены баги с безопасностью и некорректным отображением разных компонент в браузерах (из тех проблем, что накопились со дня выхода версии 2.0). Более детальный обзор списка изменений добавляет:

  • Пополнился список локализаций виджетов, правда, для большинства эти языки достаточно экзотичны (каталонский, индонезийский, португальский и другие, всего 7 языков);
  • Обновлено и исправлено различные нюансы с скроллингом и перемещениями элементов — эти изменения затронули ядро библиотеки, и распространяются на все компоненты библиотеки. Но в первую очередь, разработчики отмечают, что значительно улучшилась ситуация с формами и таблицами (один из самых сложных и нетривиальных компонент вообще); (далее…)

Оптимизация ExtJS

Воскресенье, Декабрь 16th, 2007

Если вы используете в своих проектах фреймворк ExtJS, то наверное заметили, что, несмотря на все преимущества и мощность, библиотека все же обладает достаточно большим размером, что сказывается на производительности приложений. Да и даже в минимальной версии нам нужно подгружать несколько файлов (в основном, два JS файла и два стилевых, не считая изображений), а это секунды времени ожидания, для медленных же соединений вообще проблема, часто такая система будет намного медленнее чем даже обычный сайт без AJAX-а.Конечно, в правильно спроектированном приложении страниц, где подключаются все библиотеки, не так и много, и самым верным подходом является применение прелоадера (ну, например, выводить экран загрузки и активировать страницу только когда все загрузится). Но есть еще несколько путей, чтобы сэкономить самое ценно — время пользователя (и повысить скорость работы приложения).

Начнем с первого способа. Мало кто знает, но ExtJS можно не только использовать в том виде, какой предоставляется для загрузки (там полный дистрибутив с исходниками и документацией). На той же странице официального сайта есть ссылка на онлайновый конструктор ExtJS-а, который позволяет собрать библиотеку именно с теми возможностями, которые требуются вашему проекту, не включая все лишнее, а значит, экономя размер файла и время загрузки. (далее…)

Пример реализации Comet-техники на PHP

Четверг, Декабрь 13th, 2007

Переводить не стал, все достаточно понятно: http://www.zeitoun.net/index.php?2007/06/22/46-how-to-implement-comet-with-php

Рассмотрено 2 случая, в первом используется скрытый iframe, второй (небольшой чат)  основан на классическом AJAX-е, не возвращающем запрос.

Кто не в теме, про Comet см. предыдущий пост.

Comet — событийно-ориентированная технология для WEB-приложений

Среда, Декабрь 12th, 2007

Заглядываем в будущее — Comet (не лимонный!)

Comet — архитектура WEB-приложений в которой web-сервер посылает данные клиентской программе (например web-браузеру) асинхронно, без необходимости «клиенту» запрашивать их. Это позволяет создавать событийно-ориентированные веб-приложения, обеспечивающие взаимодействие в реальном времени невозможные в существующих браузерах. Хотя термин Comet появился в 2006 году, идея на несколько лет старше, и называлась по разному, включая: server push, HTTP push, HTTP streaming, Pushlets, Reverse Ajax (встречаются и другие названия).

Comet-приложения используют долго-живущие HTTP-соединения между «клиентом» и сервером, которые сервер может обрабатывать «лениво» (lazily), отправляя новые данные клиенту когда они становятся доступны. Этим и отличается от оригинальной модели web-а, в которой браузер получает в ответе веб-страницу целиком на каждый запрос «клиента», а так же от AJAX-модели, в которой браузер запрашивает кусок данных для обновления текущей страницы. Эффек схожий в приложения использующих AJAX с запросами на сервер для получения новой информации, но производительность и скорость реакции на изменения увеличивается, вместе с тем нагрузка на сервер падает.

Comet не относится к каким-то специфичным методам по достижению этой модели взаимодействия с пользователем, но очерчивает их, но подразумевает использование родных «браузеру» технологий, таких как JavaScript как противопоставление закрытым проприетарным плагинам.

Перевел только основное (суть) , более подробно с Comet можно ознакомиться на сайте википеди: http://en.wikipedia.org/wiki/Comet_%28programming%29

Раз уж пошла речь об AJAx-е, то …

Вторник, Октябрь 9th, 2007

История

Впервые термин AJAX был публично использован 18 февраля 2005 в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.

Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенным компанией Microsoft в 1998, или с использованием HTML элемента IFRAME, появившегося в Internet Explorer 3 в 1996 году.

AJAX стал особенно популярен после использования его компанией Google в сервисах Gmail, Google Maps и Google Suggest.

Преимущества (далее…)

Вот и добрался до JavaScript Framework-ов, хе-хе…

Вторник, Октябрь 9th, 2007

Ext JS Desctop (JavaScript Framework)До наводке Джона начал изучать JavaScript Framework Ext JS 1.1 (http://www.extjs.com), за что ему спасибо. Радости моей до сих пор нет предела. Все ООП-эшно, все красиво (для админки и дизайн изобретать не нужно), на-AJAX-ино по самое нехочу. Ext JS Tasks (JavaScript Framework)Осталось только дождаться когда у всех пользователей будут шустрые тачки и JavaScript в браузере не будет узким горлышком, тогда всем наступит щастье. А пока использую в административной части Ext и дозированно в закрытых пользовательских частях сайта.

Так же смотрел в сторону Bindows-а (http://www.bindows.com), в части юзабилити и дизайна компонентов он проигрывает Ext-у, функциональность компонентов тоже немного скупее, в архитектуру пока сильно но совался (может там у них все в sugar-е, не знаю, вопрос к Антону ;), но так же есть компоненты, которые отсутствуют в Ext-е, вроде различных индикаторов, построителей графиков и векторных схем, что пока не требуется для моих задач.

Еще один положительным момент в использовании Ext-а, — хоть начал разбираться в JavaScript-е более основательно, познакомился с его ООП и наследованием через одно место под названием prototype (прототипы). По началу много времени убивалось на отлов багов связанных с областями видимости, которые много где нужно явным образом передавать. В качестве отладчика очень удобно оказалось использовать FireBug (про него можно написать отдельную статью — просто незаменимая вещь не только при отладке яваскрипта, но и CSS) под FireFox совместно с console.log(<просматриваемая переменная>).

Пока начал писать на Ext 1.1, подумал что как классно было тут такую-то фичу, а тут такую-то, и как по волшебству выходит версия Ext JS 2.0, в которой уже реализовао 90% желанных мною фич. Просто не верится ;o). Осталось дождаться стабильной версии и в бой, пока она только в альфе.

Так что все желающие овэбдванолить свои проекты, велкам ту Экст.

Javscript Features — the DOM

Среда, Июль 11th, 2007

Modifying the DOM

The DOM model consists of a hierarchy of nodes, as well as being able to identify a particular node by name or id, Javascript can navigate the hierarchy in terms of parent and child nodes. The following diagram illustrates the relationships for the HTML fragment

<p class=insert id=para1 onclick="modifylast('para1')">
Here is
<i>
some text to
</i>
be clicked on
</p>

(далее…)

Интересный блог, есть информация по Ruby on Rails, AJAX, Mysql, PHP, JavaScript, ZendFrameWork

Среда, Июль 11th, 2007

http://kpumuk.info/

облако тегов:

active record administration advertisement ajax amazon ansi apache 2.2 benchmark blogging bmp books brainbench browsers caching capistrano category cheatsheet color conferences configuration console css debian debug deployment design dom effects encoding events experience ffmpeg filtering fixtures friends front controller fulltext geshi headers html http humor iframe images internet internet explorer javascript job last modified library life links locale mailer memcached mencoder microformats mock mongrel moo.fx multimedia mvc mysql news optimization patterns performance permalinks php plugin postgresql progress proximity rest resume rjs rspec rss ruby ruby on rails russian scalability screencast script search smarty sorting specification sphinx sql stemming style sub query svn syntax tech textmate theme twitter unittest upload validation video vt100 web 2.0 web services widget wordpress xml xslt zend framework zend studio

Оптимизация JavaScript часть 1: Добавление элементов DOM в документ

Среда, Июль 11th, 2007

Многие Веб-разработчики пишут горы кода на JavaScript, особенно в новом веке Web 2.0. Это мощная технология, но большинство браузеров содержат очень медленную реализацию движка, и многим в какой-то момент приходится пересматривать код и пытаться сделать его быстрее. В этой заметке я поделюсь своим опытом и покажу несколько трюков, которые помогут сделать Ваш код JavaScript таким быстрым, насколько это возможно.

Это первая статья из серии, будьте на связи.

Сценарий: Вы разрабатываете мощное приложение для Интернет, и Вам нужно динамически загрузить элементы, используя AJAX, добавив их в текущий документ. По какой-то причине Вы не хотите (или не можете) использовать полностью сформированный HTML, и получаете данные в массив JavaScript.

Я знаю два классических способах выполнить такую задачу: создать элементы, используя метод document.createElement(), и склеить HTML в строку, присвоим ее свойству parentElement.innerHTML. Конечно, Вы можете комбинировать оба способа. Рассмотрим эти подходы более детально. (далее…)

Генератор индикаторов для AJAX-загрузчиков

Пятница, Июнь 29th, 2007

http://www.ajaxload.info/