02.07.2009

Тонкие методы оптимизации JPEG

By Sergey Chikuyonok
Оригинал статьи на Smashingmagazine


Восьми-пиксельная сетка

Как вы уже знаете, JPEG изображение состоит из серии 8-ми пиксельных блоков, которые можно увидеть, если установить параметр JPEG Quality в значение Low.



32×32 pixels, Quality: 10 (in Photoshop), 396 bytes.


Оба белых квадрата имеют одинаковый размер: 8х8 пикселей. Несмотря на то, что Quality выставлен Low, нижний правый квадрат выглядит смазанным и нечетким, в то же время верхний-левый квадрат имеет четкие и чистые границы. Как такое произошло? Чтоб бы овтетить на это, нужно взглянуть на изображение в сетке:



Как видите, верхний левый квадрат сглажен по сетке, что и обеспечивает резкость


После сохранения, изображение делится на 8ми пиксельные блоки, которые оптимизируются независимо. Поскольку нижний правый квадрат не сглажен по сетке, то оптимизатор подбирает усредненное значение цветового индекса межда черным и белым (в JPEG каждый 8х8 блок преобразуется в синусоидную волну). Это объясняет смазанность. Многие утилиты для оптимизации JPEG имеют функцию, которая называется Selective Optimization.


Этот метод особо полезен при сохранении квадратных объектов. Посмотрим, как это работает на практике.



13.51 KB.



12.65 KB.


В первом примере изображение микроволновки спозиционированно случайным образом. Второй пример при сохранение был сглажен по 8ми пиксельной сетке. Установки Quality имеют значение 55 в обоих случаях. Давайте взглянем на этот пример более приближенно. Красная линия отмечает край сетки.



Как видно, мы сумели сэкономить 1 kb данных просто сгладив изображение по сетке. Так же, изображение стало более чистым.


Продолжение следует...

14.06.2009

10 функций, которые "были" неисполнимыми в IE6

Автор: Gopal Raju

1. Закругленные и изогнутые углы

Как вы уже знаете, все современные браузеры поддерживают border radius. Но изогнутый угол невозможно отобразить в ИЕ6. Не так давно я обнаружил htc файл, специально разработанный для ИЕ6 Remiz'ом с сайта HTMLRemix.com, который решает данную проблему. 


Прежде всего. Для использования htc нужно добавить поддержку MIME типа для .htc на сервере. Это важно.Сделайте следующее:

  1. Войдите в CPanel и кликните на линк MIME Types (у российских хостинг компаний редко бывает CPanel)
  2. В MIME Types добавьте text/x-component
  3. В extentions добавьте htc
  4. Перезапустите Apache

Все, что вам останется сделать в дальнейшем, это загрузить htc с HTMLremix и включить следующий код в ваш CSS

  1.  
  2. .div_class_name {
  3. behavior:url(border-radius.htc);
  4. }
  5.  

Альтернативное решение jQuery jQuery Corner - кроссбраузерный плагин, который создает закругленный угол


2. Популярный способ решения отображения прозрачности PNG

Загрузите скрипт PNG Transparency и впишите следующий код в CSS:

  1.  
  2. .class_name{
  3. _background:none;
  4. filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='image_name.png',
  5. sizingMethod='scale');}


3. Opacity
  1.  
  2. .opacity_div {
  3. filter: alpha(opacity = 50);
  4. }

4. Fixed position

CSS свойство position: fixed; поддерживается всеми браузерами, но только не ИЕ6. У данной проблемы есть следующее решение:

  1. * html .fixed_div{
  2. position: absolute; /* position fixed for IE6 */
  3. top: expression(104+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px');
  4. left: expression(15+((e=document.documentElement.scrollLeft)?e:document.body.scrollLeft)+'px'); }

5. Min-width & Max-width
Min-width
  1.  
  2. .div_class_name{
  3. width: expression(document.body.clientWidth < 1000? "1000px" : "auto");
  4. }
Max-width
  1.  
  2. .div_class_name{
  3. width: expression(document.body.clientWidth > 1000? "1000px" : "auto");
  4. }

12.05.2009

Основное руководство по .htaccess

Автор: Joseph Pecoraro


Введние


Дайте человеку рыбу и он будет сыт один день. Научите его ловить рыбу, и он будет сыт всегда.
Конфуций

В этой статье я попытаюсь не только показать в примерах директивы .htaccess, но и детальнее объяснить, что происходит. Таким образом, вы сможете понять базовые принципы и расширить собственные примеры или создать новые команды которые будут вам полезны.


Сфокусируемся на Apache 2, однако многое будет применимо к Apache 1.3, и я постараюсь обозначить разницу между ними.


Что такое .htaccess?


.htaccess файлы (или «распределенные файлы конфигурации) позволяют вносить конфигурационные изменения непосредственно в каждую директорию. Файл, включающий одну или более конфигурационных директив, помещается в соответствующую документу директорию. Директивы применяеются ко всей директории и поддиректориям в ней.

Директивы


«Директивы», в терминологии Apache, означают команды в конфигурационных файлах Apache. Они обычно относятся к коротким командам, представляя пары ключевых значений, которые модифицируют предписания Apache. .htaccess позволяет разработчикам выполнять группы таких команд, при этом не требуется прямой доступ к базовому файлу конфигурации Apache (httpd.conf обычно).


Эта функция идеально подходит для хостинговых компаний, осуществляющих общий (распределенный) хостинг. Компания не дает доступ своим пользователям к глобальному файлу конфигурации, который, собственно, и управляет всеми пользователями, имеющими учетные записи на этом сервере. Вместо этого подключается .htaccess, который дает возможность каждому пользователю исполнять его собственные команды в своих директориях. Как вы увидите далее, эта функция так же полезна и для разработчиков.


Следует заметить, что все то, что может быть сделано с помощью .htaccess, так же может быть сделано в httpd.conf. Тем не менее, httpd.conf имеет больший приоритет, и те возможности, которые доступны в httpd, не доступны .htaccess. Фактически, .htaccess должен быть прежде всего активирован в httpd.conf. Исполнение директив .htaccess может быть ограничено определенными «условиями» так, что они могут переписывать лишь некоторые параметры, оставлятя другие неизменными. Это дает системным администраторам более гибкий контроль надо действиями разработчиков, позволяя им работать в своих .htaccess файлах.


Активация .htaccess


.htacces, как правило, активирован по умолчанию. Он активируется командой AllowOverride в файле httpd.conf. Эта команда может быть размещена только внутри раздела . Как правило, httpd определяет DocumentRoot и в большинстве файлов директивы помещены внутрь раздела , относящиеся к определенной директории, включая AllowOverride.


Значение по умолчанию All, следовательно .htaccess файлы активированы. Если значение None, то файлы неактивны. Еще неколько значений определяют некоторые условия, ограничивающие конфигурацию.

  • AuthConfig - разрешение таких команд, как выполнение проверки подлинности.

  • FileInfo - команды, котрые выполняются в установках Headers, Error Documents, Cookies, URL Rewriting и другие.

  • Indexes - Настройка списка основной директории.

  • Limit - контроль доступа к страницам различными способами.

  • Options - то же, что и Indexes, но с дополнительными значениями ExecCGI, FollowSymLinks, Includes и другими.

Полное переопределение настроек .htaccess


Пример, который позволяет полное переопределение настроек .htaccess


  1. # Allow .htaccess files their full power
  2. AllowOverride All

Ограниченное переопределение


Другой пример, который позволяет переопределять только условия Authorization и Indexes.

  1. # Only allow .htaccess files to override Authorization and Indexes
  2. AllowOverride AuthConfig Indexes

Первая строка в обоих примерах - условный комментарий Apache, который начинается с символа #. Условные комментарии типичны для всех файлов конфигурации или языков программирования. Они необязательны к применению, но очень помогают в работе.


Вторая строка - непосредственно сама команда AllowOverride. Это обычный синтаксис команд Apache. После команды следует пробел и вводится значение. Синтаксис выглядет разреженным: будьте очень внимательны


Иногда даже малюсенькая ошибка в httpd.conf или .htaccess приводит к временному отключению сервера и пользователи видят страницу с сообщением - 500 - Internal Server Error.

Уже только по этой причине всегда следует делать резервное архивирование httpd.conf и .htaccess файлов прежде, чем вы начнете вносить в них изменения. Делайте правки небольшими частями, проверяя каждое изменение на работоспособность. Если даже и будет допущена ошибка, то при таком подходе ее очень легко обнаружить.


Если вы не уверены в правильности написания команды, то обратитесь к Apache Directive listing, посмотрите таблицу «Syntax», в которой подробно описан синтаксис для каждой директивы.


Проверка активности .htaccess


Это вполне обычная вещь, потому как ваша хостинг компания не дает вам доступ к httpd.conf.. Итак, как же узнать, включен .htaccess или нет? Не стоит волноваться, потому что .htaccess общая для всех и необходимая функция, которая включена по умолчанию или будет включена, если вы попросите об этом вежливо.


Лучший способ узнать, включен .htaccess или нет - спросить об этом вашу хостинг компанию, а лучше прочтите внимательно хостинг план. Если явно нигде не указано, то стрельнИте на мэйл поддержки в крайнем случае.


Результаты применения .htaccess файла


Перед тем, как вы начнете проделывать всякие крутые штуки при помощи .htaccess, должен вам сказать, что вы получите в результате. Как уже говорилось, вам позволяется изменять настройки директори сервера и всех входящих в нее поддиректорий. Всегда помните, что внесенные изменения затрагивают все поддиректории текущей директории.


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

Это означает несколько вещей. Первое, Apache всегда просматривает .htaccess на каждом запросе, и любые изменения в этом файле вступают в силу незамедлительно. Apache не использует кэширование и сразу же заметит сделанные изменения при следующем запросе. Тем не менее, это так же означает, что сервер будет выполнять излишнюю работу при каждом запросе. К примеру, если пользователь запрашивает /www/supercool/test/index.html , то сервер будет проверять следующие .htaccess файлы:

  1. /www/.htaccess
  2. /www/supercool/.htaccess
  3. /www/supercool/test/.htaccess

Доступ к этим потенциальным файлам (потенциальные потому, что их может и не быть) и их исполнение (если они присутствуют) будет занимать определенное время. Опять же, мой опыт не так заметен и не может перевесить те плюсы и гибкость, которую обеспечивает .htaccess разработчикам.


Тем не менее, если вам очень нужно, то можно отключить .htaccess и вставлять команды непосредственно в .httpd.conf файл.

  1. <Directory /www/supercool/test>
  2. # Put Directives Here
  3. </Directory>

Недостатком такого подхода является то, что вам придеться перезагружать сервер Apache после каждого изменения.


В конце концов, все зависит от ваших личных предпочтений или от того, что позволяет ваш хостер. Использование .htaccess файла делает работу более гибкой, его можно поместить в любое место, изменения вступают в силу немедленно и сервер не требует перезагрузки.


Начнем с простого - Directory Listing - Indexes:


Directory Listing


Прежде чем заняться сложными комплексными функциями, давайте попробуем сначала чтоб-нибудь простое, но полезное, что даст почувствовать причастность к работе с .htaccess. Directory Listing настолько общая функция, что вы, вероятно, много раз с ней сталкивались, просматривая веб-сайты.


Когда пользователь обращается к директории, Apache сначала ищет основной файл, чаще всего это index.html или index.php. Если эти файлы не обнаружены, то он возвращается к mod_autoindex модулю для отображения всего списка файлов и фолдеров в директории. Иногда он включен, иногда отключен, но вы можете также настроить его под свои нужды. Итак, с помощью .htaccess мы сможем легко манипулировать этими списками.


По умолчанию Directory Listings активирован. Допустим, у вас уже есть набор медиа файлов на веб-сервере и вы хотели бы скрыть их, чтоб предотвратить воровство. Это довольно просто сделать. Создайте .htaccess файл в этой директории и впишите в него следующую директиву:

  1. # Disable Directory Listings in this Directory and Subdirectories
  2. # This will hide the files from the public unless they know direct URLs
  3. Options -Indexes

11.05.2009

Прокачай свой FireFox: 12 необходимых расширений для разработчиков и дизайнеров

Scellie


FireFox - это более чем браузер. Это тулбокс, который только и ждет, чтобы быть заполненным инструментами.


Первая партия включает в себя 12 наиболее используемых расширений Firefox для веб-разрабочиков и дизайнеров фрилансеров.


  1. FireFTP
    Мощный FTP клиент в одной закладке, в то время, как вы работаете с другой. Иногда простейшее решение оказывается наиболее полезным. (пока еще нет поддержки SFTP)
  2. ColorZilla
    Это расширение позволяет брать цвета из веб, вставлять HEX код в другие программы, делать масштабирование на страницах, измерять расстояние и использовать встроенную в браузеры цветовую панель. Рекомендуется для всех веб-дизайнеров.
  3. IE Tab
    Открывает Firefox и IE для тестирования вашей работы в IE или проверки совместимости сайта, который не был оптимизирован под Firefox. IE Tab помещает небольшую иконку с строку состояния, позволяя использовать механизм отображения страниц IE для определенных сайтов.
  4. Firebug
    Необходимый компонент инструментария веб-разработчика. Позволяет просматривать код и структуру проектов - CSS, Javascript или HTML. Firebug управляется через панель или в отдельном окне.
  5. Load Time Analyzer
    Разделяет по времени загрузку изображений, скриптов, стилевых файлов и запросов, а так же выдает результат в виде графика.
  6. Greasemonkey
    Добавляет Javascript на веб-страницу, написанный вами или другим программистом. Greasemonkey помагает раскрыть весь потенциал любого веб-сайта. (Поробуйте использовать в DOM inspector)
  7. Web Developer
    Добавляет комплект пользовательских инструментов и меню в Firefox. Используйте совместно с Firebug.
  8. View Source Chart
    Расцвечивает HTML код. помогает отслеживать иерархию и вложенные объекты.
  9. MeasureIt
    Кликните на иконку, чтобы открыть функции Measureit. Позволяет получать пиксельные значения ширины и высоты объектов страницы при помощи курсора. Ага, теперь нет никакой трудности вставить полученные данные в Photoshop. Утонченный инструмент.
  10. HTML Validator
    Это изящное расширение выдает небольшие ошибки валидации и и предупреждения в строке состояния, которая обновляется вместе с браузером. Может подтверждать HTML, переданный на сервер или после обработки через Ajax.
  11. Window Resizer
    Быстро изменяет размер окна браузера для просмотра вебсайта в разрешениях 640х480, 800х600, 1024х768, 1280х1024 и 1600х1200.
  12. Aardvark
    При движении мыши по странице, элементы будут выделены в красный прямоугольник. В желтом заголовке будут отображены тип элемента, класс или ID. Редактирование или удаление элемента будет доступно через клавиатурные сокращения.

Оригинал статьи - Pimp Your Firefox: 12 Essential Extensions for Web Developers & Designers

Быстро, Хорошо, Дешево: стоимость работы фрилансера

Jacob Cass

Вы когда-нибудь слышали о методе Быстро, Хорошо, Дешево?


Желательно, чтобы клиент выбрал 2 из этих трех слов и вы должны учитывать их при определении стоимости вашей последующей работы, иначе ваша работа / доход / карьера могут пострадать.


Быстро, Хорошо или Дешево - какие два из трех?


Если вы позволите клиентам выбрать Быстро, Хорошо, Дешево, то будете вкалывать с очень маленькой отдачей по оплате. Именно поэтому нужно позволить клиентам выбрать только одну комбинацию из двух слов - хорошо и быстро, хорошо и дешево или быстро и дешево.


Хорошо + Быстро = Дорого


Если клиент хочет качественную, быструю работу, то разумеется, вы можете повысить цену. В этом случае повышение стоимости оправдано тем, что вам придеться отложить другие проекты, остановить оборудование или отложить встречи на более чем 24 часа для выполнения их заказа.


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


Хорошо + Дешево = Медленно


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


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


Быстро + Дешево = Низкое качество


Клиент, желающий, чтобы работа была выполнена быстро и дешево, должен быть готов к тому, что пострадает качество. Мы не можем выполнить работу настолько хорошо, насколько это могло бы быть при достатке времени.


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


Как объяснить клиенту стоимость работы


Сопоставление цены к требованиям клиента - другой немаловажный фактор, который вы должны учитывать в методе Быстро, Хорошо, Дешево. Как объяснить, что быстро и качественно сделанная работа имеет более высокую стоимость? Что вы скажете, если работа была сделана быстро и дешево, но недоувлетворительно?


В зависимости от вашей профессии и взаимотношений с клиентами, способы и подходы различны, но лучший выход из всех ситуаций - быть честным…Если заказчик хочет быстро и дешево, сообщите ему, что результат будет едва ли удовлетворительным.


Как установить цену


Если у вас есть желание получить немного больше информации о том, как формировать свою цену и как устанавливать ценовые методы в своем бизнесе, Freelance Switch написал несколько прекрасных статей на эту тему.


Как вам определить вашу цену? Возвращаться к почасовой оплате или брать в расчет такие вещи, как время, цена, качество? Есть ли у вас различные почасовые ставки для разных проектов?


Jacob Cass - 20 лет, увлеченный графический дизайнер из Сиднея, Австралия. Ведет популярный блог на Just Creative Design, который обеспечивает советами, статьями и ресурсами по дизайну.


Оригинал статьи - Fast, Good, Cheap: Pricing Freelance Work

10.05.2009

Flash против Silverlight: на чем остановиться?

By Muhammad Usama Alam

С выпуском SilverLight 1.0 и его последующих версий среди дизайнеров и разработчиков разгорелась дискуссия относительно того, что же выбрать: Flash или Silverlight? Silverlight испытывает трудности с захватом рынка более развитым Flash. Как бы там ни было, Silverlight удалось сохранить себя, включив некоторые функции, которые дизайнеры и разработчики хотели бы видеть во Flash.



В этой статье мы будем дискутировать о некоторой технической разнице между Flash и Silverlight. Возможно это поможет вам определиться с тем, какая же технология наиболее подходит под ваши задачи.


Анимация

Во Flash применяется модель, базирующаяся на покадровой анимации (frame-based animation model). В покадровой анимации мы создаем объект в каждом кадре для производства анимационной последовательности. Скажем, если вы хотите создать движение на протяжении 3х секунд, вы должны высчитать количество кадров и их положение.



Silverlight основывается на анимационной модели WPF, которая базируется на времени, а не на кадрах. Вы определяете только точку начала и окончания последовательности, при этом уже нет нужды высчитывать кадры и положение объекта в каждом кадре.




Размер файла

Во Flash применяется сжатие данных (compressed format). Сжатию подвергаются и текст и изображение, в результате размер файла относительно мал.


В Silverlight используется формат XAML, сжатие данных при этом не используется и размер файла обычно больше.



Кодирование (Scripting)

ActionScript применяется для программирования объектов Flash. ActionScript является объектно-ориентированным языком программирования с полным набором контроллеров для разработки пользвательских интерфейсов. Он может быть интегрирован с конечными технологиями, использующими другие рабочие среды и языки, такие как PHP, ASP и Ruby on Rails. Они поставляются с огромными, мощными библиотеками классов для разработки он-лайн приложений, основанных на браузерах, а так же для стационарных десктоп приложений.




Для кодирования в Silverlight вы можете выбрать из ряда языков программирования Visual C#.Net и Visual Basic.Net, в том числе клиентские сценарии JavaScript. C# и VB.NET могут использоваться для написания управляемого кода, который исполняется и использует все расширения и возможности Microsoft.NET.




Звук и Видео

Flash поддерживает несколько форматов видео. Текущая версия кодека выдает очень высокое качество, при этом не требователен к ширине канала, что прекрасно сказывается на расходе траффика. Но существует одна проблема: если вы создали котент во Flash, то этот формат уже не может быть использован где либо еще. Оригинальный кодек реализован на разработке Sorenson H.263 с некоторыми изменениями. Компрессия очень близко следует спецификации, но несколько функций было исключено, что очень затрудняет поиск полной спецификации для разработки декодера.


Silverlight следует индустриальному стандарту VC-1 для видео и поддерживается WMV и WMA. Сейчас почти все имеют Windows Movie Maker, но если и нет, то это не большая проблема, потому что Микрософт предоставляет бесплатный SDK декодер для разработки WMV и WMA.



Обработка звука

ActionScript предлагает набор звуковых классов для генерации и управления звуком в клипе (movie clip). Вы можете добавлять звуки из библиотеки клипа и контролировать их звучание. Если при создании нового звукового объекта цель не указывается, то метод управления звука применяется ко всему клипу.


В Silverlight нет собственных API для звука, а так же нет поддержки воспроизведения .wav файлов. .NET имеет очень маленькие возможности для воспроизводства звука



Общедоступность

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


Silverlight 3 первый подключаемый модуль, который обеспечивает контроль над всеми системными цветами, позволяя людям с ограниченными возможностями по зрению вносить изменения, такие как увеличение контрастности для увеличения читаемости. Но эти функции очень далеки от того, что может обеспечить Flash.



Совместимость

Flash поддерживает Windows Vista/XP/2000, Windows Server 2003/2008, Mac OS 10.1/10.5 (PowerPC), Mac OS 10.1/10.5 (Intel), Linux 5, openSUSE 11, Ubuntu 7.10 и Solaris 10.


Silverlight поддерживает только Windows Vista/XP/2000, Windows Server 2003/2008, Windows Mobile 6, Mac OS 10.1/10.5 (PowerPC) and Mac OS 10.1/10.5 (Intel).



Текстовое представление/SEO

Flash отображает шрифты в определенных кривых и плэйер не понимает TTF, следовательно, нет возможности отделить текст от изображения. Как правило, текст, скомпилированный во Flash не дружественен к SEO, тем не менее, Adobe внесла изменения, так что флэш теперь может быть проиндексирован и поисковые системы могут приступить к индексированию. На данный момент, Google является единственной поисковой системой, распознающей Flash файлы. Yahoo и MSN пока что работают над этим.
Более подробно можно ознакомиться:

How to SEO Flash
Google learns to crawl Flash

В приложениях Silverlight пользовательский интерфейс декларирован в XAML и программирован, используя подмножество рабочей среды .NET. XAML может быть использован для разметки векторных изображений и анимации. Текст выделен на веб-сервере в отдельную часть и может быть доступен раздельно. В Silverlight текст доступен для поиска и индексирования, так как он не скомпилирован.



Поддерживаемы форматы изображений

Flash поддерживает почти все форматы изображений

Silverlight в полной мере поддерживает только PNG и JPEG файлы.



Socket Programming

XMLSocket объект осуществляет подключение к клиентскому компьютеру, позволяя запускать Flash плэйер для соединения с компьютером, идентифицированному по IP -адресу или доменному имени.

Используя XMLSocket объект, сервер должен запустить резидентный сервис, который понимает протокол, используемый в XMLSocket объекте. Пртокол следующий:

  • XML сообщения передаются через двунаправленный TCP/IP поток
  • Каждое XML сообщение завершенный XML документ, заканчивающийся нулевым байтом
  • Неограниченное количество XML сообщений может быть передано и принято через одно XMLSocket соединение


Silverlight поддерживает sockets programming посредством пространства имен System.Net.Sockets. Передача данных осуществляется асинхронно туда и обратно через разъем в диапазоне портов от 4502 до 4534. Так же осуществляется поддержка кросс доменных соединений между приложениями Silverlight и любым сервером, обеспечивающим специальные защищенный режим для файлов, размещенных на сервере.



ВЕБ-камеры

Flash поддерживает веб-камеры и микрофоны для прямых видео и звуковых передач, делая использование их очень простым.

Silverlight не поддерживет веб-камеры и микрофоны



Размещение

В пакете Flash размещается только один Shockwave (SWF) файл и все изображения, тексты и анимация собраны в одном файле. Из-за применяемой компрессии и компиляции файл не индексируется и данные не доступны для поиска.


Процесс размещения данных в Silverlight более комплексный; все компоненты должны быть размещены раздельно. Следующие компоненты, как правило, передаются к клиенту по запросу Silverlight:

  • XML файлы
  • DLL файлы (если необходимо)
  • Silverlight.js файл
  • Любой другой Javascript файл
  • Ресурсы (изображения, звук, видео)



Windows приложение

Flash может быть скомпилирован как приложение windows и выполнено как самостоятельный EXE файл, а так же воспризведен соответствующим плэйером Flash.


Silverlight не поддерживает воспроизведение клипа как приложения windows.



Подводя итог

Определние верной технологии для расширенных интернет приложений зачастую достаточно критично и выбор между Flash и Silverlight зависит всецело от ваших потребностей. Если есть вероятность, что некоторые из ваших пользователей будут использовать Linux или Solaris, то вам лучше следовать по пути c Flash. Если вы хотите, чтобы ваш сайт индексировался поисковыми системами, то Silverlight в этом случае может стать лучшим выбором.


Автор оригинального текста Muhammad Usama Alam. Оригинал статьи Flash vs. Silverlight: What Suits Your Needs Best?