Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

Цель:

Проведение обобщенного анализа возможностей технологии .NET

Задачи:

1. Проанализировать достоинства и недостатки технологии .NET

2. Дополнить глоссарий терминов.

Содержание темы:

У любого программного продукта есть как достоинства, так и свои недостатки, есть они и у платформы .NET. Их тоже нужно знать.

Достоинства технологии .NET

Мультиязычность. Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Приложения можно писать на любом из нескольких десятков совместимых языков. Это дает полное и абсолютное межъязыковое взаимодействие. Например, на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET. Приложения, написанные на разных языках, могут легко взаимодействовать. Например, серверная часть может быть написана на C#, а клиентская на Visual Basic. В .NET также поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка.

Упрощение разработки. Среда разработки Visual Studio .NET предоставляет очень удобные и мощные средства разработки приложений, например, очень мощный IntelliSense (что-то наподобие помощника в написании кода). Общая среда выполнения для любых приложений

.NET вне зависимости от того, на каких языках они были созданы. И что важно, для всех языков используется один и тот же набор встроенных типов данных. Вся платформа .NET основана на единой объектно-ориентированной модели. Это значит, что все сервисы, интерфейсы и объекты, которые платформа предоставляет разработчику, объединены в единую иерархию классов. Другими словами, все, что может потребоваться при создании приложений под платформу .NET будет всегда под рукой разработчика. Причем, все это сгруппировано очень удобно и интуитивно понятно. Повторное использование кода стало еще удобнее. Это связано с тем, что промежуточный язык MSIL не зависит от языка программирования.

Мощная библиотека классов. Обширная библиотека классов существенно облегчает решение задач, наиболее часто возникающих при создании автономных программ и Web- приложений. Библиотека базовых классов .NET. содержит самые разные средства, которые могут понадобиться при разработке программ, такие как доступ к БД, создание интерфейса,

работа с графикой (GDI+), XML (в том числе XPath, XSLT, XQuery), файловая система, криптография (шифрование, хэширование, цифровые подписи), сеть и многое-многое другое. Эта библиотека насчитывает десятки тысяч классов, готовых к употреблению, которые позволят использовать в своих разработках готовые и отлаженные модули.

Потенциальная кроссплатформенность. Приложение, написанное на любом .NET- совместимом языке является межплатформенным (в идеале). Почему в идеале? Дело в том, что приложение, написанное, скажем, на том же C#, не зависит от платформы, на которой будет выполняться, но зато зависит от наличия платформы .NET. Но согласитесь, что намного легче один раз портировать архитектуру .NET под какую-либо систему, после чего без проблем запускать абсолютно любое .NET приложение. Но в настоящий момент платформа .NET портирована только на семейство операционных систем Windows, в том числе на мобильные системы MS Windows mobile

.NET-приложения первоначально компилируются в так называемый промежуточный код (MSIL – Microsoft Intermediate Language), который никак не зависит от “платформы”, то есть от процессора и операционной системы. А компиляция в машинный код, зависимый от процессора (JIT- компиляция, Just-in-time – компиляция), происходит уже на машине конечного пользователя при первом запуске программы. Это позволяет создавать кроссплатформенные приложения, то есть заставить один и тот же бинарник запуститься и под PC, и под Macintosh.

Справка. Промежуточный язык Microsoft Intermediate Language (MSIL) – это независимый от процессора набор инструкций, поддерживающих все стандартные конструкции и операции современных языков программирования. Он допускает операции с памятью, арифметические и логические операции, обработку исключений, работу с объектами и их свойствами и методами, использование массивов и т. д.

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

В принципе, разработчики могут писать приложения прямо на языке MSIL. Правда, никто не утверждает, что это будет легко, удобно и приятно. Доступность кода MSIL приложения в архитектуре .NET потребовала создания механизмов аутентификации исполняемых файлов.

метаданные, что позволяет им не пользоваться системным реестром Windows. Более того, .NET позволяет разным версиям одного и того же модуля DLL мирно сосуществовать на одном компьютере. Любое .NET приложение является автономным, в том смысле, что не зависит от других программ, в частности от ОС. Установка приложения написанного на одном из .NET языках может быть произведена обычным копированием файлов (исключение составляет создание ярлыков в меня “Пуск” и др. местах)

Упрощение разработки web-приложений (ASP .NET). Теперь разработка web-приложения сравнима с программированием под Windows – визуальный дизайн страниц, система событий и т.д.

Обеспечение взаимодействия приложений. .NET предоставляет на данный момент две технологии взаимодействия приложений: .NET XML Web Services и .NET Remoting. Web Services (уже сейчас очень активно используются на крупных предприятиях). Например, интернет-магазин Ozon предоставляет web-сервис для получения информации о доступных в магазине книгах, что позволяет разработчикам других сайтов наладить получение этой информации и использование ее в своих корыстных целях. Приложение, написанное на любом.NET языке взаимодействует с единой моделью обработки ошибок, что значительно упрощает этот нудный процесс.

Безопасность приложений. Примененная в Microsoft .NET Framework концепция управляемого кода обеспечит надежное и безопасное выполнение программ, а также значительно уменьшит вероятность допущения ошибок в процессе программирования. Приложения .NET используют безопасные типы, что повышает их надежность, совместимость и межплатформенность. NET приложения могут быть сертифицированы на безопасность. Это является особенностью промежуточного кода, в который преобразуются все .NET приложения. В состав платформы .NET входит так называемый “сборщик мусора”, который освобождает ресурсы. Таким образом, приложения защищены от утечки памяти и от необходимости освобождать ресурсы. Это делает программирование более легким и более безопасным. Абсолютно все ошибки обрабатываются механизмом исключительных ситуаций. Это позволяет избежать разногласия, которое иногда возникало при программировании под Win32.

Недостатки технологии .NET

1. Как это часто бывает, за удобство нужно платить скоростью, так и случилось с .NET. Приложения, написанные под платформу .NET работают медленнее, это факт. В некоторых случаях скорость может упасть на 15%, что иногда является неприемлемым (например, при создании 3D приложений). Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время. Разумеется, что приложение компилируется не все сразу, а по частям, равномерно при работе программы.

2. Не на любом языке можно создавать .NET приложения. Дело в том, что первоначально .NET “затачивался” под C/JAVA-подобные языки. Это породило некоторые трудности с созданием

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

3. Необходимо наличие библиотеки FrameWork. Данный недостаток устранен с выходом Windows Vista, т.к. данная библиотека встроена в систему по умолчанию.

Была ли полезна данная статья?
Да
66.13%
Нет
33.87%
Проголосовало: 186

или напишите нам прямо сейчас:

Написать в WhatsApp Написать в Telegram