Gollum's den

ASP.NET (и не только) здесь и сейчас!

View Eugene Agafonov's profile on LinkedIn

October 2006 - Posts

Visual Studio Code Name "Orcas" October CTP

Вышел очередной, великий октябрьский CTP Visual Studo Orcas. Скачать можно здесь. Как и прошлый CTP он представляет из себя виртуальную машину. При всех плюсах данного решения, я бы все-таки очень хотел, чтоб было можно поставить CTP безвиртуальной машины. Но что ж делать...

Вкратце, что нового:

  • Внедрены элементы Linq и ADO.NET 3.0
  • XLinq
  • Новые IO типы для работы с pipes
  • Улучшенна поддержка 64-битных платформ, поддержка multi-targeting в IDE
  • Новая genercic-коллекция HashSet
  • И т.д. и т.п.

Инструкции как ставить и полный список того, что там есть нового можно посмотреть на странице http://www.microsoft.com/downloads/details.aspx?FamilyId=C09B5A2D-EB6A-44B6-8BBD-3764A2FDA9CE&displaylang=en

Обратная связь с разработчиками: http://connect.microsoft.com/VisualStudio/Feedback

Вышла Beta 3 CSS Controls Adapters

Вышла третья бета для адаптеров элементов управления ASP.NET, использующих CSS-рендеринг вместо табличного. Это касается элементов управления группы Data (GridView, DataList, DetailsView, FormView), Navigation (Menu, TreeView), Login (Login, CreateUserWizard, ChangePassword, PasswordRecovery, LoginStatus)

Посмотреть примеры использования можно здесь.

Сайт проекта: http://www.asp.net/cssadapters

Posted: Oct 29 2006, 02:33 PM by Gollum | with no comments
Filed under: ,
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 файла:

  1. MicrosoftAjax.js.gz файл содержит базовые клиентские типы, модель компонентов, сетевой стэк и сериализацию JSON, и клиентские сервисы (Profile/Authentication). Размер составляет 14.8К.
  2. MicrosoftAjaxWebForms.js.gz добавляет поддержку UpdatePanel и частичного рендеринга страницы. Размер составляет 6.4К.

Эти файлы скачиваются один раз, после чего кэшируются браузером. Также, оптимизирован трафик вызываемый клиентскими запросами на сервер. Элементы управления типа UpdatePanel, UpdateProgress и так же содержимое Сontrol Toolkit по умолчанию генерируют теперь вместо xml-script 1-2 строки JavaScript. Также оптимизированы базовые типы JavaScript, большинство объявлений типов перемещено в прототипы с целью уменьшения занимаемого объема памяти.

Поддержка браузера Safari

В beta 1 заявлена полная поддержка Safari. Такде ведутся работы над обеспечению совместимости с браузером Opera, но в данной бете Opera не поддерживается.

Улучшенная поддержка отладки

Улучшена поддержка отладки клиентского JavaScript.

  1. Вынос большинства клиентского кода из объявления по месту использования в прототипы позволяет более удобно использовать для отладки Visual Studio 2005 Script Debugger.
  2. Также, теперь для production и debug версий приложения используются разные версии JavaScript файлов. Production версия оптимизирована для достижения наивысшей производительности и минимального размера скачиваемых файлов, в то время как debug версия предоставляет максимум отладочной информации. В дебаг версии в функции введены дополнительные параметры для проверки корректности передаваемых аргументов и хранения стэка вызовов. Это позволяет упростить отладку клиентского кода.

Обратите внимание, по умолчанию решение о версии клиентских скриптов принимается на основе директивы <compilation debug=”true|false” /> в файле web.config. Так что не забывайте устанавливать debug="false" при развертывании приложения в production. Есть и другие причины, по которым не следует забывать менять эту директиву.

Также планируется поддержка метаданных ASP.NET AJAX для следующей версии Visual Studio, чтобы поддерживать IntelliSense и проверку синтаксиса в IDE. Также будет можно добавлять собственные метаданные, которые будут использованы для IntelliSense.

Изменения в UpdatePanel

Кроме поддержки Safari были добавлены следующие возможности:

  1. Клиентские обработчики событий, позволяющие с минимумом усилий писать клиентский код для кастомизации поведения UpdatePanel.
  2. Элементы управления внутри UpdatePanel могут вызывать как partial так и нормальные постбэки. Можно вообще запретить дочерним элементам управления вызывать postback.
  3. Вылидационные элементы управления и Wizard теперь могут работать внутри UpdatePanel.
  4. Теперь можно динамически создавать элемент управления UpdatePanel.
  5. Теперь можно использовать несколько элементов управления Animation и UpdateProgress, которые будут работать в зависимости от того, какой именно UpdatePanel обращается к серверу.
  6. Возможность декларативно указывать длительность ожидания перед тем, как показывать UpdateProgress. Это позволяет не показывать индикатор прогресса операции во время быстрых обращений к серверу.
  7. Поддержка стандартных возможностей OS для людей с ограниченными возможностями для сценариев использования UpdatePanel

Элемент управления UpdateProgress на текущий момент находится в пакете "ValueAdd", т.е. его нужно будет ставить отдельно от ASP.NET AJAX "Core". В следующий версиях планируетмя переместить этот элемент управления в основной пакет ASP.NET AJAX "Core".

Множество изменений в клиентской библиотеке

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

  1. Упрощенная клиентская модель событий, теперь стало проще определять и использовать события на клиенте. Также события теперь определяются "по требованию" в целях увеличения производительности.
  2. Упрощенные типы компонент, поведения и элементов управления. Для использования API теперь необязательно инстанцировать связанные объекты, также как и в предыдущем случае использована семантика "по требованию"
  3. Стало проще работать и с клиентскими сетевыми функциями, в том числи и с асинхронными callback'ами.
  4. Также, упростилась работа с 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.
Вышел Internet Explorer 7.0

Новая версия Internet Explorer, о необходимости которой так долго говорили большевики, все-таки вышла! Ура!

Скачать нужную вам версию можно тут: http://www.microsoft.com/windows/ie/downloads/default.mspx

Внимание - перед установкой нужно удалить предыдущие версии седьмого эксплорера (если конечно они были установлены).

Posted: Oct 19 2006, 04:38 PM by Gollum | with no comments
Filed under: ,