Tag Archives: веб

IE9 станет еще быстрее

«- Какие основные цели стоят перед командой при разработке новой версии Internet Explorer?

- Самые большие цели – это производительность и новые стандарты. Новые – не потому что просто новые, а те, которые люди хотят видеть во всех платформах. У нас уже есть многое из HTML5, многое из CSS3, есть SVG.

 

 

- Каким образом в новой версии достигается это ускорение? В частности, графики.

- Производительность – это довольно многомерная вещь. Есть много вещей, которые участвуют в процессе от обращения к проводу до того момента, когда пиксели загорятся на мониторе. И в этом процессе есть несколько вещей, которые мы переделываем очень серьёзно. У нас есть новый движок JavaScript, который работает намного быстрее, чем предыдущий. Он написан совсем с нуля с учётом того, как сейчас используется JavaScript. Мы учли и новые подходы к программированию и существование новых многоядерных процессоров. Есть новая графическая система, которая использует ресурсы видеокарты. Кто-то пробовал превью и обнаружил ускорение в сто раз между Chrome и IE9 на некоторых тестируемых вещах, связанных с большим количеством графики. Есть и другие серьёзные улучшения.

 

 

- Хотелось бы узнать технические подробности. Как именно достигнуто ускорение JavaScript?

- Не знаю, насколько технически глубоко рассказывать, я не читаю каждую строчку кода, но ключевая вещь, которую делает наш движок JavaScript – это компиляция. Важно также решение, когда нужно и когда не нужно компилировать. Бывает так, что если скрипт исполняет каждую строчку по разу, то компилировать будет бесполезно и медленно. Есть другая важная вещь – компиляция происходит в фоновом процессе, обычно на другом ядре. То линейное время, которое требовалось скрипту, раньше не только становится меньше, но исчезает.

 

 

- Давайте поговорим о новых возможностях. В IE9 будет поддерживаться тег video и кодек H.264. Почему именно этот кодек?

- Это хороший стандарт – этого достаточно.

- Mozilla, к примеру, агитирует за поддержку Theora.

- Я знаю, почему Mozilla агитирует за Theora. У них нет кода для поддержки H.264. Если бы им кто-нибудь дал бесплатно код, они бы были совершенно счастливы.

 

 

… В тот момент шестой IE имел 95 процентов рынка, мы решили, что идти за революционерами – глупо, менять браузер, которым все пользуются – тоже глупо, поэтому мы перестали этим заниматься лет на пять или шесть. Там была цепь неправильных решений – я не буду их защищать, но это остаётся фактом – мы не занимались браузером очень долго. Если чем-то не заниматься очень долго, то конкуренты могут чего-нибудь достичь.»

 

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

Сам я в основном пользуюсь IE8, и для некоторых вещей – Firefox. Firefox использую только из-за наличия к нему некоторых важных для моей работы плагинов.

 

Павел Сурменок

Красноярск, 17 апреля 2010, утро

 

Серебряный свет Microsoft

В предыдущей заметке я писал о Rich Internet Applications. Существует несколько технологий, реализующих эту концепцию. Наиболее передовой и функциональной я, не без оснований, считаю технологию Microsoft Silverlight.

Ранее Microsoft публиковала другую технологию того же класса – это Microsoft ASP .NET AJAX Extensions, кодовое имя Atlas. Это решение основано на концепции AJAX. Вдаваться в технические подробности я не буду, но суть в том, что клиентская часть программы реализуется на основе уже имеющихся инструментов разработки веб-сайтов: HTML, JavaScript, XML, DOM. Эти инструменты существенно ограничены в возможностях, что не мудрено, ибо делались они лет десять назад и тогда такое их применение не предполагалось. Кроме того, они еще и по-разному работают в разных браузерах. Поэтому для правильной работы приложения приходится тестировать и отлаживать его на огромном количестве различных браузеров, различных их версий, различных ОС, различных конфигураций ПО.

Microsoft Silverlight работает несколько иначе. Фактически устанавливается плагин к браузеру пользователя. Клиентская часть программ разрабатывается на обычных языках программирования, вроде C# или Visual Basic и компилируется в единую сборку, которая выполняется компьютером клиента как обычное Windows-приложение, но не требует установки и запускается в браузере.

Приложения Silverlight на данный можно запускать на операционных системах Windows 2000 и выше (XP, 2k3, Vista, 7, 2k8), MacOS 10.4 и выше, в браузерах Internet Explorer версии 6 и выше, Firefox 1.5 и выше, Safari 3.1.

В ближайшем будущем планируется добавить поддержку Opera, мобильных устройств на основе Windows Mobile и Symbian и некоторых других платформ.

Silverlight содержит средства для создания мультимедийных приложений. Это проигрывание видео и музыки, трёхмерная графика с аппаратным ускорением.

Большое внимание уделено разработке графического интерфейса приложений. Разработчикам доступны основные визуальные компоненты, включая такие сложные как Grid’ы. В последней версии Silverlight ребята из Microsoft добавили даже поддержку Multitouch-интерфейса, что по достоинству оценят владельцы нетбуков.

 

Если Macromedia Flash изначально рассчитан на создание мультиков и простеньких игрушек, то на Microsoft Silverlight вполне можно разрабатывать серьезные бизнес-решения. Так, например, московская компания BB Software завершает разработку системы электронного документооборота на основе Microsoft Silverlight 2.0. Посмотреть на то, как это работает, можно здесь: http://213.79.102.127:8090/ (логиньтесь под учетной записью «Администратор Системы Оперативного Управления», пароль «1»).

 

P.S. Это кросспост моей заметки в блоге проекта интерактивной системы самоподготовки, обучения и тестирования.

 

Павел Сурменок

Красноярск, 25 сентября 2009, вечер

 

Интернет-приложения становятся богаче

Традиционно программное обеспечение принято делить на два класса, согласно логике взаимодействия пользователя с программой. Это «толстые клиенты», или обычные приложения с графическим интерфейсом (в ОС Windows еще называют Windows-приложениями). И это «тонкие клиенты», или обычные веб-приложения.

Windows-приложения позволяют реализовать навороченный интерфейс пользователя. Они работают быстрее, и позволяют пользователям более удобно и быстро работать с программой. Однако есть у этих приложений и существенные недостатки. Так, необходимо устанавливать ПО на каждое рабочее место, в дальнейшем обновлять на этих компьютерах ПО, при необходимости устанвливать пакеты исправлений и т.п.  Представьте себе, что с программой в вашей компании должно работать 50 пользователей, которые к тому же работают в разных офисах, а-то и в разных городах, и на каждый из этих 50 компьютеров нужно отдельно устанавливать саму программу, и раз в несколько недель/месяцев устанавливать обновления и исправления. А еще часто бывает, что на разных компьютерах разное «железо» и разные конфигурации программ, и на разных компьютерах программа работает по-разному. Просто ужас для системного администратора :)

Web-приложения лишены этих недостатков. Для работы с Web-приложением не нужно ничего устанавливать на компьютеры работников. Достаточно чтобы компьютер был подключен к интернету (или корпоративной локальной сети). Само программное обеспечение устанавливается централизованно на сервере. Соответственно и все обновления, исправления, дополнение устанавливаются на сервере. Это существенно упрощает сопровождение программы, уменьшает проблемы системного администратора организации и конечных пользователей. Но за это приходится платить менее удобным интерфейсом программ. Фактически компьютер пользователя только отображает информацию, формируемую на сервере, никакого программного кода компьютер клиента не выполняет. Для получения отклика на действие пользователя компьютер отправляет запрос к серверу. Информация передается по локальной сети либо через интернет, а это занимает некоторое время, иногда немаленькое. Поэтому веб-приложения работают более медленно и не позволяют некоторых вещей, которые можно реализовать в Windows-приложении.

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

Основоположником этой идеи можно считать компанию Microsoft, которая в 1998 году ввела понятие “Remote Scripting”. Позже идею развили другие разработчики. Один из наиболее устоявшихся терминов, “Rich Internet Application” (RIA), ввела в 2002 году компания Macromedia.

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

Фактически программный код распределяется между сервером и компьютером пользователя таким образом, чтобы приложение было сбалансировано. На компьютере пользователя формируется графический интерфейс программы, а на сервере производится обработка данных и хранение информации. Это позволяет ускорить отклик программы на действия пользователя, и формировать богатый графический  интерфейс, по функциональности близкий к традиционным Windows-приложениям.

 

Итак, недостатки и преимущества приложений RIA:

 

- RIA-приложения работают несколько медленнее, чем Web-приложения. Впрочем, на современных компьютерах это не важно

- Зависимость от подключения к сети. Чтобы работать с RIA-приложением, компьютер должен быть подключен в интернету (или локальной сети, если сервер установлен в сети предприятия)

 

+ Богатый графический интерфейс

+ Большая интерактивность, по сравнению с Web-приложениями

+ Не нужно устанавливать программу на клиентские компьютеры

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

+ Можно использовать ПО на любом компьютере с подключением к интернету

+ Не важно какая операционная система установлена на компьютере пользователя

+ Не важно географическое расположение пользователя. С RIA-приложением можно работать из любой точки планеты, если есть подключение к интернет

 

Наиболее передовой технологией для разработки RIA-приложений на данный момент можно считать технологию Microsoft Silverlight. На ее основе сейчас разрабатывается ряд внутренних корпоративных продуктов, системы документооборота, системы управления персоналом и др. Кстати говоря, Microsoft Silverlight 3.0 нивелирует некоторые недостатки приложений RIA, описанные выше. Так, Silverlight 3.0 позволяет пользователю продолжить работу с приложением даже при пропадании подключения к интернету. Также в последней версии разработчики Silverlight существенно улучшили быстродействие, и теперь RIA-приложения по производительности идут наравне с обычными Windows-приложениями. Впрочем, об этом поговорим подробней в следующих постах блога.

 

 

P.S. Пост опубликован в рамках инновационного проекта интерактивной системы обучения. Это проект RIA-приложения для образовательных учреждений, позволяющий вывести процесс самоподготовки, обучения и тестирования на качественно новый уровень. Интересная тема?

 

Павел Сурменок

Красноярск, 23 сентября 2009, вечер

 

Обновить железо

Если не рассматривать индустрию компьютерных игр и мультимедиа, то что еще может сегодня заставить рядового пользователя обновить железо?

Это несомненно веб. В последние годы технологии построения веб-приложений стремительно развиваются, появляются новые подходы к разработке. И всё больше мы видим сайты на AJAX, сайты напичканные JavaScript‘ами, Flash-приложения и массу рекламных баннеров на Flash‘е. А последние год-два еще и Microsoft SilverLight на сцену вышел.

Из тех сайтов и веб-приложений, которыми я постоянно пользуюсь, обилием такого интерактива выделяются например сайт биржи ММВБ, Google Analytics

Всё это достаточно медленные вещи. А когда  в браузере открыто еще таких вкладок 15-20, то нагрузка на процессор и память значительная. И дальше, видимо, оно будет всё требовательней к аппаратным ресурсам.

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

 

Павел Сурменок

Красноярск, 1 августа 2009 года, день