Статья только в электронной версии журнала

Статья только в электронной версии журнала

EWEEK LABS // ТЕХНИЧЕСКИЙ АНАЛИЗ

Новая платформа корпорации Microsoft упрощает разработку и развертывание приложений

Хотя Windows и обладает солидным набором служб, облегчающих разработку приложений, признать его достаточным никак нельзя. И вот создатель Windows, корпорация Microsoft, предпринимает новую попытку сделать труд рядового разработчика ПО менее утомительным и более производительным - на сей раз в рамках инициативы “точка Net”, которая строится на новых представлениях рынка о том, какими свойствами должны обладать средства разработки ПО.

Требование высокой “чистой” производительности прикладного кода отступает перед субъективными впечатлениями о скорости работы приложения: ведь пользователь в основном тратит время на работу с сетевыми объектами и файлами, а также манипуляции с ГИП. Компактный и быстрый исполняемый код, бывший в свое время визитной карточкой компиляторов Watcom C++, теперь менее важен для программистов, чем возможности инструмента разработки, упрощающие доступ к системным ресурсам.

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

“По ту сторону сцены” как наследство решений, обеспечивавших максимальную производительность на медленных ПК с ограниченным объемом ОЗУ, сохраняется эффективный, но недружественный по отношению к пользователю инструментарий программирования: язык Си++ остается родным для большинства программных проектов для Windows, несмотря на отсутствие в нем защиты от смешения несовместимых типов данных или от ошибок в управлении системной памятью.

Провозглашенная Microsoft платформа .Net должна снять с плеч разработчиков наиболее чреватые ошибками задачи контроля типов данных и управления памятью. Решение этих задач предполагается автоматизировать и переложить на среду исполнения .Net-программ, к которой непременно обращается любое приложение, содержащее “управляемый код” (“managed code”). В целом все это будет происходить так, как происходит на платформе Java фирмы Sun Microsystems.

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

Компиляторы, генерирующие код для .Net, будут встраивать в исполняемые файлы так называемые метаданные, используемые во время исполнения кода и описывающие способ взаимодействия программы с другими ресурсами.

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

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

Когда миллионы разработчиков ПО имеют возможность единообразно использовать сервисы, наподобие тех, что предлагает инфраструктура .Net, то каждный доллар, вложенный в расширение этой инфраструктуры, стоит миллионов долларов, вложенных в увеличение функциональности конкретных приложений. Именно это преимущество подтолкнуло разработчиков к переходу на Windows в 1990-х; .Net обладает им даже в большей степени, что может обеспечить присоединение к лагерю Microsoft толп разработчиков, но уже в начале 2000-х.

В то же время .Net усилит конкурентное давление на сторонников других платформ, пытающихся бороться с Microsoft за любовь создателей прикладного ПО.

С редактором технологического раздела Питером Коффи можно связаться по адресу: peter_coffee@ziffdavis.com.      

Что .Net предлагает разработчикам

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

Исключение ряда распространенных ошибок: верификация типов данных, автоматическое управление памятью и другими ресурсами - все эти преимущества, характерные сегодня для системы программирования Java, станут доступны для всех языков, поддерживаемых на платформе .Net.

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

Версия для печати