Компоненты

Мифическое приложение «Vista»

Настя и сборник весёлых историй

Настя и сборник весёлых историй
Anonim

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

Пример: Windows Vista и «разрыв приложений». Согласно Evans Data Corporation (EDC) , менее 10 процентов разработчиков пишут для современного уровня техники Microsoft. Большинство (49 процентов) все еще пишут для XP, в то время как небольшой, но растущий, контингент (13 процентов) сосредоточены на Linux. Между тем, многие крупные средства массовой информации продолжают осуждать отсутствие новых приложений Vista. «Это ОС, которых никто не хочет», - говорят они, и разработчики «реагируют соответственно».

Конечно, они ошибаются. Опять же.

[Читать дальше: Наши лучшие трюки, советы и хитрости Windows 10]

Видите ли, нет ничего такого, как приложение Vista. Точно так же, как нет такой вещи, как XP-приложение. Или приложение Windows 2000. Разработчики, которые пишут для Windows, редко ориентируются на определенную версию. Скорее, они выбирают конкретную структуру API - например, MFC / ATL или.Net - и исходят оттуда. Независимо от того, будет ли результирующее приложение работать в данной версии Windows, зависит от того, какие, если таковые имеются, расширения API для конкретных версий, которые разработчик использует в своем проекте.

Для большинства типов приложений это не имеет значения: они используют общий API, что позволяет им запускать любую версию Windows, поддерживающую эту инфраструктуру. И поскольку Microsoft делает хорошую работу по возврату новых фреймворков на свои устаревшие платформы ОС, разработчики редко сталкиваются с выбором между богатыми функциональными возможностями API или широкой установленной базой (заметным исключением являются разработчики видеоигр, для которых использование DirectX 10 означает в соответствии с Vista).

Итак, весь аргумент «разрыва приложений» в Vista - это немного соломенный человек. Реальный вопрос: почему разработчики не используют различные итерации.Net framework? Поскольку все, кто следует за дорожной картой развития Microsoft, подтвердят, что большинство передовых разработок API API происходит внутри.Net. Фактически, когда «эксперты» говорят о новых программных ресурсах в Vista - Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) и т. Д. - они действительно говорят о.Net framework 3.0. И поскольку.NET 3.0 доступен на платформах более низкого уровня (например, в Windows XP), аргумент крутится вокруг вопроса о принятии.NET среди разработчиков - и почему они (до сих пор) избегали этого.

ответ двоякий: во-первых, разработчикам не нравится настраивать API, которые не широко доступны на установленной базе. Несмотря на агрессивную поддержку Microsoft в версиях нижнего уровня, по-прежнему существует большая разница между «доступными» и «доступными после загрузки 20 МБ-плюс сложных библиотек и их установки в разных частях вашей системы». Дело в том, что.Net не поставляется как часть Windows XP, а это означает, что разработчикам необходимо убедить пользователей сначала установить требуемую версию.Net-структуры, прежде чем они смогут установить часть программного обеспечения, а не всегда легко продавать, особенно в заблокированном мире ИТ-инфраструктуры.

Как первая ОС для платформы.NET, установленная по умолчанию, Vista должна была поощрять разработку приложений.NET 3.0. Однако, поскольку он также поддерживает устаревшие приложения Win32, COM, ATL, MFC и down-level.Net, нет реальной нехватки программ Vista. На самом деле, если только вы не получили эту самую последнюю и самую лучшую функциональность WPF / WCF, вам будет немного мотивировать вас, разработчика, сделать переход на.Net 3.0 или даже 2.0. Предполагая, что вы не сталкиваетесь с механизмом управления учетными записями пользователей (UAC), ваше «устаревшее» приложение Windows, вероятно, выглядит и отлично работает под Vista, как есть. Я знаю, потому что это имело место с моим собственным кодом: несколько настроек для размещения UAC (в основном смены некоторых временных файлов от новых защищенных структур каталогов), а мои приложения и службы выполнялись как шары под Vista - так же, как они Windows XP, Server 2003 и Windows 2000. Зачем исправлять его, когда он не сломался?

Вторая причина, по которой разработчики избегают.Net - это то, что он медленный. Многие общие функции просто занимают больше времени в.Net, заставляя разработчиков выбирать между сложностью API и сырой производительностью. Неудивительно, что большинство разработчиков выбирают последнее, поскольку я когда-то был вынужден делать это, когда обнаружил, что эквивалент.NET для Performance Data Helper (PDH) был практически непригодным для выборки данных счетчика производительности Windows в режиме реального времени. В результате я вынужден поддерживать старую (около 1997 года) базовую базу Visual Studio 6, ожидая, что Microsoft окончательно упростит.Net до такой степени, что это жизнеспособная альтернатива. Это старая история и слишком распространена среди разработчиков Windows.

Bottom Line: Когда аналитики (и их сообщники) осуждают отсутствие «приложений Vista», они просто трубят свое невежество.

Я предполагаю, что это Mac: Многие из моих современников оказались в поле искажений реальности, что идея связи между функциональностью API и версией ОС стала принятой частью общепринятой мудрости. Это честная ошибка, приравнивая архаичные ловушки Apple к зависимостям версий от несовершенного, но гораздо более гибкого API-расширения Microsoft.

Слишком много фруктов сделают это для вас.