Sign in
|
Join
|
Help
Search
Gollum's den
ASP.NET (и не только) здесь и сейчас!
Home
Contact
About
RSS for Posts
Atom
RSS for Comments
Recent Posts
Мой доклад про С# 4.0 на .NET User Group
OpenXML SDK 2.0 RTM.
Дело о пропавшей сессии
C# 4.0: Мультиметоды
Visual Studio 2010 Beta 2: CopySourceAsHtml
Tags
.Net
.Net Framework 3.0
ASP.NET
ASP.NET Ajax
ASP.NET MVC Framework
C#
C# 3.0
C# 4.0
Code of the day
Evangelism
Fun
Life
OpenXML SDK
ORM
Peugeot 207
Programming
Silverlight
Visual Studio
Visual Studio 2010
Футбол
Community
Home
Blogs
Media
Wikis
Groups
Email Notifications
Sites
RSDN.ru
GotDotNet.ru
Blogs I read
Alexander Lozhechkin [MSFT]
Alexander Popov Blog
TK's Blog
Gaidar's Blog
Rob Howard's Blog
Dino Esposito's WebLog
Scott Gu's blog
Don Box's Spoutlet
Fritz Onion blog
Nikhil Kothari's Weblog
Brad Abrams
Archives
September 2010 (1)
April 2010 (1)
October 2009 (3)
September 2009 (1)
July 2009 (3)
March 2009 (1)
October 2008 (2)
June 2008 (2)
May 2008 (1)
March 2008 (1)
December 2007 (1)
November 2007 (1)
October 2007 (3)
September 2007 (1)
August 2007 (6)
March 2007 (1)
February 2007 (2)
November 2006 (2)
October 2006 (4)
September 2006 (4)
June 2006 (1)
May 2006 (1)
April 2006 (2)
March 2006 (1)
February 2006 (1)
January 2006 (2)
December 2005 (1)
November 2005 (2)
October 2005 (1)
September 2005 (7)
August 2005 (12)
ASP.NET AJAX beta 1
Вышла первая бета версия ASP.NET AJAX. Она доступна для
скачивания
с сайта
http://ajax.asp.net/
. Вот что предлагается для скачивания:
Microsoft ASP.NET AJAX v1.0 Beta "Core" Download
. Здесь содержатся основные компоненты ASP.NET AJAX, которые будут официально поддерживаться Microsoft по стандартной лицензии (10 лет, 24/7/365). Сюда входят базовые типы, сетевой стэк, компонентная модель, базовые классы для Control Extender'ов, и серверная интеграция с ASP.NET (ScriptManager, UpdatePanel, Trigger, и т.п.)
Microsoft ASP.NET AJAX CTP Beta "ValueAdd" Download
. Сюда войдут дополнительные возможности, для которых не заявлена поддержка в версии ASP.NET AJAX 1.0. Тем не менее, они будут поддерживаться на основании отзывов от сообщества разработчиков и постепенно будут переходить в основной дистрибутив ASP.NET AJAX.
ASP.NET AJAX Control Toolkit
. Содержит набор из 28 элементов управления, разработанных на базе ASP.NET AJAX "Core". Можно присоединиться к разработке ASP.NET AJAX Control Toolkit на сайте
CodePlex
Sample Applications
. Примеры использования ASP.NET Ajax.
Microsoft AJAX Library Beta
. Представляет из себя набор клиентских JavaScript компонентов, вынесенных в отдельный архив для разработчиков на платформах, отличных от Windows.
Некоторые важные отличия Beta 1.0:
Оптимизация производительности и размера клиентских компонент
Предыдущие версии ASP.NET AJAX CTP использовали один большой JavaScript файл, в котором содержались все клиентские компоненты. В бета-версии разработчики разделили клиентский код на несколько отдельных файлов и поработали над оптимизацией трафика библиотеки. ASP.NET Ajax "Core" содержит два JavaScript файла:
MicrosoftAjax.js.gz файл содержит базовые клиентские типы, модель компонентов, сетевой стэк и сериализацию JSON, и клиентские сервисы (Profile/Authentication). Размер составляет 14.8К.
MicrosoftAjaxWebForms.js.gz добавляет поддержку UpdatePanel и частичного рендеринга страницы. Размер составляет 6.4К.
Эти файлы скачиваются один раз, после чего кэшируются браузером. Также, оптимизирован трафик вызываемый клиентскими запросами на сервер. Элементы управления типа UpdatePanel, UpdateProgress и так же содержимое Сontrol Toolkit по умолчанию генерируют теперь вместо xml-script 1-2 строки JavaScript. Также оптимизированы базовые типы JavaScript, большинство объявлений типов перемещено в прототипы с целью уменьшения занимаемого объема памяти.
Поддержка браузера Safari
В beta 1 заявлена полная поддержка Safari. Такде ведутся работы над обеспечению совместимости с браузером Opera, но в данной бете Opera не поддерживается.
Улучшенная поддержка отладки
Улучшена поддержка отладки клиентского JavaScript.
Вынос большинства клиентского кода из
объявления по месту использования в прототипы
позволяет более удобно использовать для отладки Visual Studio 2005 Script Debugger.
Также, теперь для production и debug версий приложения используются разные версии JavaScript файлов. Production версия оптимизирована для достижения наивысшей производительности и минимального размера скачиваемых файлов, в то время как debug версия предоставляет максимум отладочной информации. В дебаг версии в функции введены дополнительные параметры для проверки корректности передаваемых аргументов и хранения стэка вызовов. Это позволяет упростить отладку клиентского кода.
Обратите внимание, по умолчанию решение о версии клиентских скриптов принимается на основе директивы <compilation debug=”true|false” /> в файле web.config. Так что не забывайте устанавливать debug="false" при развертывании приложения в production. Есть и
другие причины
, по которым не следует забывать менять эту директиву.
Также планируется поддержка метаданных ASP.NET AJAX для следующей версии Visual Studio, чтобы поддерживать IntelliSense и проверку синтаксиса в IDE. Также будет можно добавлять собственные метаданные, которые будут использованы для IntelliSense.
Изменения в UpdatePanel
Кроме поддержки Safari были добавлены следующие возможности:
Клиентские обработчики событий, позволяющие с минимумом усилий писать клиентский код для кастомизации поведения UpdatePanel.
Элементы управления внутри UpdatePanel могут вызывать как partial так и нормальные постбэки. Можно вообще запретить дочерним элементам управления вызывать postback.
Вылидационные элементы управления и Wizard теперь могут работать внутри UpdatePanel.
Теперь можно динамически создавать элемент управления UpdatePanel.
Теперь можно использовать несколько элементов управления Animation и UpdateProgress, которые будут работать в зависимости от того, какой именно UpdatePanel обращается к серверу.
Возможность декларативно указывать длительность ожидания перед тем, как показывать UpdateProgress. Это позволяет не показывать индикатор прогресса операции во время быстрых обращений к серверу.
Поддержка стандартных возможностей OS для людей с ограниченными возможностями для сценариев использования UpdatePanel
Элемент управления UpdateProgress на текущий момент находится в пакете "ValueAdd", т.е. его нужно будет ставить отдельно от ASP.NET AJAX "Core". В следующий версиях планируетмя переместить этот элемент управления в основной пакет ASP.NET AJAX "Core".
Множество изменений в клиентской библиотеке
Было сделано множество изменений в клиентской библиотеке, основываясь на отзывах пользователей. Внесены изменения с целью упростить и улучшить клиентские API. Кроме вынесения кода в прототипы изменения включают в себя:
Упрощенная клиентская модель событий, теперь стало проще определять и использовать события на клиенте. Также события теперь определяются "по требованию" в целях увеличения производительности.
Упрощенные типы компонент, поведения и элементов управления. Для использования API теперь необязательно инстанцировать связанные объекты, также как и в предыдущем случае использована семантика "по требованию"
Стало проще работать и с клиентскими сетевыми функциями, в том числи и с асинхронными callback'ами.
Также, упростилась работа с Memberhip и Profile API из клиентского JavaScript'а
Улучшена совместимость с другими библиотеками AJAX
Предыдущие версии ASP.NET AJAX использовали глобальную фнукцию $(), которая конфликтовала с некоторыми другими библиотеками AJAX (такими как Prototype и Scriptaculus). Она переименована в $get(), сделано несколько других переименований, и теперь все хорошо.
Лицензия на модификацию исходного кода
Часто у разработчиков возникает необходимость вносить изменения в MS AJAX JavaScript Library. В связи с этим будет предоставленя лицензия, которая явно позволяет пользовательские изменения клиентских библиотек. API ScriptManager'а в Beta 1 позволяет пользовательские реализации/изменения во встроенных JavaScript библиотеках. Вдобавок к разрешению изменять библиотеки для пользовательских приложений лицензия предоставляет права на перераспротранение измененных библиотек (для этого требуется в частности изменять пространства имен для изменений во избежание конфликтов). Фактически мы имеем комбинацию 10-летней официальной поддержки и в то же время прав на распространение измененных версий библиотек, что несомненно является удобством для разработчиков, независимо от масштаба разрабатываемых проектов.
Дальнейшие планы
В связи с описанными изменениями текущий ASP.NET AJAX код конечно придется менять для работы с Beta 1.
Если вы используете серверные возможности ASP.NET AJAX, изменения потребуются минимальные. В основном они связаны с изменением префикса <atlas:> на <asp:>, изменением синтаксиса триггеров для UpdatePanel и также небольшими изменениями с объявлением Extener'ов из ASP.NET Control Toolkit. Для миграции существует соответствующее
руководство
.
Если же вы создавали клиентские классы и взаимодействовали непосредствено с компонентной моделью, потребуются более значительные изменения. Вообще, сами по себе изменения не сложные, но в связи с отсутствием ошибок компиляции приходится исправлять ошибки постепенно, итерациями, что конечно раздражает. Чтобы помочь мигрировать с CTP на Beta1, разработчики ASP.NET AJAX
опубликовали подробный документ
, перечисляющий внесенные изменения, и включающий примеры кода с примерами что было до и после миграции.
Команда разработчиков ASP.NET AJAX будет отслеживать форумы в ближайшие несколько недель, чтобы помочь с миграцией и найденными багами. Если вы столкнетесь с багами, или у вас будут вопросы, публикуйте их на
форумах ajax.asp.net
. Также приветствуются отзывы, предложения по ASP.NET AJAX.
Скорее всего API для ASP.NET Ajax 1.0 "Core" уже практически завершены и останутся без изменений. Разработчики планируют в течение этого года внести оставшиеся изменения и исправления и "заморозить" релиз. Также в планах следующая бета версия через несколько недель, учитывающая отзывы пользователей, затем Release Candidat, и затем уже окончательный релиз версии 1.0.
По материалам
блога Scott Guthrie
.
Posted:
Oct 22 2006, 06:35 PM
by
Gollum
| with
no comments
Filed under:
Programming
,
ASP.NET
,
ASP.NET Ajax