воскресенье, 15 февраля 2009 г.

Почему люди пишут апплеты?

Это перевод Why do people write applets? Автор: Ларри Остерман.

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

В общем, все апплеты, похоже, можно грубо разделить на следующие категории:
  • Обновлялки
  • Обработчики области уведомлений
  • Вспомогательные процессы
  • Службы (да, я действительно только что поместил сейчас сервисы в ту же категорию, что и апплеты)
Давайте разберёмся с ними по очереди...

Обновлялки (updaters): я ЛЮБЛЮ обновлялки. Обновлялки - это невероятно круто. ИМХО, я больше доверяю тем приложениям, у которых есть авто-обновлялка, чем тем, у которых её нет (потому что наличие авто-обновлялки является показателем, что автор будет разрабатывать программу и дальше, а также исправлять в ней баги). Однако, слишком много разработчиков делают свои программы так, что их обновлялки работают постоянно, не делая при этом ничего, кроме проверки версий раз в неделю (или в месяц). Другой проблемой с обновлялками является то, что иногда её авторы используют её для заливки на вашу машину совершенно левых программ (например, прямо сейчас я просто выведен из себя обновлялкой iTunes - если вы установите просто Quicktime, обновлялка будет всё время пытаться заставить вас установить Quicktime+iTunes, и похоже нет никакого способа это отключить).

Обработчики области уведомлений (notification area handlers): похоже, что каждое приложение считает своим долгом добавить в системный трей свою иконку. Для меня же функциональность большинства из них равна нулю. Например, мой драйвер видео-карточки поместил туда иконку, с помощью которой можно быстро переключаться между разрешениями экрана, но ведь я практически никогда не меняю разрешение экрана - так зачем же мне ярлык быстрого доступа для этой функциональности? Я не уверен, но думаю, что это влияние брендинга (поскольку в трее появляется иконка, то пользователю сразу становится ясно, что за программа была установлена). Некоторые иконки в трее довольно полезны (так называемая "большая 4-ка" (звук, сеть, батарея ноутбука и часы) в Windows является хорошим примером, так же как и вещи типа статуса RSSBandits), но большинство из них поражают меня своей бесполезностью (поэтому-то я и считаю брендинг истинной причиной для появления этих иконок в трее).

Вспомогательные процессы (helper applications): это такие вещи как "FlashUtil9d.exe" (работающий, кстати, сейчас на моей машине) и другие процессы поддержки (*). Пользователи часто не видят их (поскольку у них нет пользовательского интерфейса), но они, тем не менее, живут на вашей машине. Дома у меня стоит принтер HP 7400, и драйвер принтера запускает два вспомогательных процесса на каждого пользователя (один из которых зависает каждый раз, когда пользователь делает log off (**)).

Службы (services): их можно считать особым классом вспомогательных процессов. Службы имеют некоторые существенные преимущества перед вспомогательными процессами (и некоторые недостатки). Службы управляются централизовано и предоставляют общий интерфейс запуска/останова. Они также могут быть настроены на автоматический запуск при старте системы, иметь строгие зависимости и работать в произвольных пользовательских контекстах (включая контексты с элевацией). С другой стороны, довольно сложно (а в некоторых ситуациях даже невозможно) заставить службу работать в контексте текущего вошедшего в систему пользователя. Я большой поклонник сервисов, но ведь с ними можно и перестараться. В Windows Vista была добавлена пачка новых служб, да и всё больше и больше приложений используют службы, поскольку текущий пользователь всё чаще оказывается не администратором. Примером служебного сервиса может быть служба WHSConnector, которая устанавливается вместе с Windows Home Server (ещё одно из моих любимых приложений).



Я уверен, что есть и другие категории апплетов, но эти 4 группы являются самыми большими.



Завтра: почему же апплеты плохие?

Примечания переводчика:

(*) У меня на домашнем общем компьютере от bluetooth адаптера висит не меньше четырёх процессов (при том, что он вставляется сестрой раз в два месяца, обменяться файлом с телефоном)!

(**) У меня также на рабочей машине стояли драйвера для принтера HP (да, со служебными процессами), которые намертво вешали оболочку при попытке войти через удалённый рабочий стол. Пришлось звонить на работу, чтобы кто-то локально зашёл и убил бы процессы, после чего я смог бы войти!

1 комментарий:

  1. > если вы установите просто Quicktime, обновлялка будет всё время пытаться заставить вас установить Quicktime+iTunes, и похоже нет никакого способа это отключить

    Вот за что я не "навижу" QuickTime(да и иТюнес), - это за огромнейшее количество мусора, появляющегося в автозагрузке после установки QuickTime. Собственно, поэтому я не устанавливаю ничего от Apple.

    С софтом от Нокии похожая ерунда. Установил недавно обновлённый Nokia Suite, так эта хрень мгновенно навесила в автозапуск штуки 4 разных программ. Хорошо, что использую Anvir, который умеет отслеживать появление новых элементов в автозапуске и автоматом удалять "забаненные мной".

    За аналогичное поведение не люблю продукцию VmWare.

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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