![]() |
![]() |
Введение
Разработчик
приложений, решивший воспользоваться услугами Visual Studio.Net 7.0, получает
в свое распоряжение достаточно много новых технологий и инструментов, которые
позволяют ему быстро и эффективно создавать обычные Windows-приложения, которые
теперь принято называть настольными — desktop applications, а также web-приложения
и web-услуги (Web Services). Компания Microsoft добавила в арсенал программиста
новый язык С# (произносится «Си шарп»), который, как обещают специалисты, способен
в несколько раз ускорить цикл разработки сложных проектов.
Главной новостью,
которая должна привлечь ваше внимание, является то, что Visual C++, Visual Basic
и С# используют одну и ту же среду разработки IDE (Integrated Development Environment),
что дает возможность создавать комплексные проекты с использованием разных языков
(mixed-language solutions). Многоязыковая среда разработки .Net (.Net Framework)
представляет собой сумму трех составляющих:
Первая составляющая
— библиотека времени исполнения (Common Language Runtime, сокращенно CLR), функционирует
как на этапе выполнения, так и на этапе разработки. Во время выполнения кода
она следит за динамикой многопотоковых приложений, обеспечивает взаимосвязь
процессов, поддерживает их безопасность, автоматизирует процедуры выделения
и освобождения памяти. На этапе разработки CLR автоматизирует типовые задачи,
решаемые программистом, значительно упрощая использование новых технологий.
Особо отмечаются преимущества, получаемые при создании компонентов стандарта
COM (Component Object Model, сокращенно COM — Модель многокомпонентных объектов).
Вторая составляющая
(Unified Programming Classes) предоставляет разработчику унифицированную, объектно-ориентированную,
расширяемую библиотеку классов, которая совместно с другими ресурсами является
частью программируемого интерфейса приложений API (Application Programming Interface).
Она объединяет элементы MFC (Microsoft Foundation Classes), WFC (Windows Foundation
Classes) и часть API, используемую Visual Basic.
Третья составляющая
(ASP.Net) представляет собой надстройку на.д классами, которая дает возможность
пользоваться объектно-ориентированной технологией при разработке типовых элементов
HTML-интерфейса. Фактически выполняемые на стороне сервера, эти элементы проецируют
функции пользовательского интерфейса в виде HTML-кода. Однако при разработке
сервера имеется возможность использовать мощный аппарат, предоставляемый объектной
моделью программирования. Результат — резкое упрощение процесса построения web-приложений.
В дополнение к этому ASP.Net поддерживает достаточно новую концепцию или модель
разработки программ. Вы, наверное, слышали о ней, как о технологии «тонкого»
клиента. Основная суть этой модели — предоставление кода пользователю не в виде
инсталлируемого продукта, а в виде временной услуги (service).
Код, который создан на основе среды разработки .Net Framework, носит название управляемого кода {managed code) в отличие от обычного, неуправляемого кода (unmanaged code). В режиме .Net компиляторы рассмотренных языков производят метаданные (metadata), которые сопровождают сам код. Это означает, что они генерируют дополнительную информацию, описывающую типы данных, объекты и ссылки. Библиотека времени исполнения (Common Language Runtime) использует метаданные для поиска и загрузки объектов, запуска функций, передачи параметров, размещения объектов в памяти.
Важной функцией, которую выполняет библиотека времени исполнения, является автоматическое освобождение памяти, занимаемой объектами, которые более не используются. Это нововведение призвано повысить надежность как отдельных компонентов, так и всего разрабатываемого приложения. Данные, время жизни которых управляется таким образом, называются управляемыми данными (managed data). Если ваш код является управляемым (managed code), то вы можете пользоваться управляемыми данными, но можете и не использовать их. Более того, вы можете и не знать, являются ли ваши данные управляемыми.
Общая библиотека времени исполнения (CLR) упрощает создание приложений и их составляющих, которые разработаны на разных языках и настроены (target) на использование CLR. Эти модули могут быть интегрированы в одном проекте и взаимодействовать между собой так, как будто они были созданы на одном языке. Например, вы можете декларировать класс, а затем создать производный от него класс уже на другом языке. Можно и просто пользоваться методами класса в рамках модуля, написанного на другом языке. Такая интеграция стала возможной потому, что компиляторы и инструменты разных языков пользуются общей системой типов, определенной в CLR, а также новыми правилами игры, принятыми при ее разработке.
![]() |
![]() |