Пятница, 17.05.2024
Ourspace.ucoz.com
Меню сайта
Наш опрос
Оцініть мій сайт
Всего ответов: 0
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

21:48
.NET Framework
.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.

Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).

Хотя .NET является патентованной технологией корпорации Microsoft и официально рассчитана на работу под операционными системами семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы .NET на некоторых других операционных системах.

Разработка платформы началась в 1999 году. Официально о разработке новой технологии было объявлено 13 января 2000 года, в день, когда Билл Гейтс официально объявил о передаче поста главы Microsoft Стиву Балмеру. В этот день руководством корпорации была озвучена новая стратегия компании, получившая название Next Generation Windows Services (NGWS, «новое поколение служб Windows»). Новая стратегия должна была объединить в единый набор существующие и будущие разработки Microsoft для предоставления возможности пользователям работать со Всемирной паутиной с беспроводных устройств, обладающих доступом в Интернет, как со стационарных компьютеров.

Во время проходящей в тот день пресс-конференции Балмер заявил, что, несмотря на огромные возможности домашних компьютеров, корпорация считает важным обеспечение гарантированной работы служб нового поколения и на устройствах, отличных от ПК. Что касается Гейтса, то аналитик компании Patricia Seybold Group Энн Томас Мейнс, проанализировав его слова, заявила о том, что компании будет полезен отход от ориентации исключительно на стационарные компьютеры и переход к разработке под мобильные устройства. По её оценке, Гейтс провозгласил курс на переход к новой эре работы с компьютером, которая не будет жёстко привязана к Windows.

Ввиду небольшой мощности источников питания мобильных устройств хранение и передача приложений должна осуществляться серверами, тогда как на тот момент практически вся пользовательская информация и ПО хранились на стационарных компьютерах локально. Тогда идея перехода к «сервероцентрической» модели имела крепкую поддержку среди руководителей крупнейших IT-компаний. Так, например, Скотт МакНилли, глава Sun Microsystems, объявил о приобретении компании офисного ПО, конкурировавшего с Microsoft Office, для перехода к сервер-клиентскому ПО.

У Microsoft на тот момент было множество причин перехода к новой стратегии. Компания доминировала на рынке операционных систем и веб-браузеров, обладала множеством наработок в области ПО для Интернета, включая порталы MSN и WebTV, а также имела долю в компаниях, занимавшихся предоставлением ПО в прокат через Интернет[3]. Кроме того, как позднее вспоминал Андерс Хейлсберг, у корпорации имелось множество различных (и зачастую несовместимых между собой) сред и технологий программирования, поскольку разработка инструментов для программистов была языкоориентированной, то есть для Visual Basic существовал свой набор приложений, а для C++ — свой. Поэтому одной из целей разработки новой платформы было объединение всех наиболее удачных наработок в рамках единой платформы и их унификация. Кроме того, ставилась задача следования всем актуальным тенденциям в области программирования на тот момент. Так, например, новая платформа должна была напрямую поддерживать объектно-ориентированность, безопасность типов, сборку мусора и структурную обработку исключений. Кроме того, корпорации необходимо было предоставить свой ответ набиравшей популярность платформе Java от Sun Microsystems.

Согласно озвученным на тот момент планам, в них входила разработка новой версии операционной системы, а также новой версии среды разработки для программистов, которая была бы предназначена для разработки веб-ориентированных приложений. Кроме того, переведён на новую платформу должен был быть и Microsoft Office. Пол Моритц, вице-президент Microsoft, в качестве одной из будущих служб новой стратегии привёл в пример службу Passport, представлявшую собой электронный бумажник, позволяющий пользователям, зарегистрировавшись однажды, совершать онлайн-покупки без необходимости ввода на различных сайтах номеров кредитных карт и персональных данных. Тогда же, на конференции, Балмер привёл пример реализации новой стратегии, которая позволит пациентам решать множество их проблем через Интернет, начиная с чтения своей медицинской карты и заканчивая оплатой счетов от врачей за медицинские услуги.

По словам Моритца, основой для новой стратегии компании послужила разработка Windows DNA 2000, представленная в сентябре 1999 года. Windows DNA 2000 объединила в себе новую версию СУБД SQL Server и новые программные инструменты для облегчения разработки веб-приложений.

Основной идеей при разработке .NET Framework являлось обеспечение свободы разработчика за счёт предоставления ему возможности создавать приложения различных типов, способные выполняться на различных типах устройств и в различных средах.

Вторым принципом стала ориентация на системы, работающие под управлением семейства операционных систем Microsoft Windows.

Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах .NET получается сборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.

Архитектура .NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISO и ECMA. В CLI описаны типы данных .NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое.

Объектные классы .NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).

Среды разработки, поддерживающие .NET:
Microsoft Visual Studio (C#, Visual Basic .NET, Managed C++, F#)
SharpDevelop
MonoDevelop
Embarcadero RAD Studio (Delphi for .NET); ранее Borland Developer Studio (Delphi for .NET, C#)
Zonnon
PascalABC.NET

Приложения .NET также можно разрабатывать в текстовом редакторе, просто вызывая компилятор из командной строки.

Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

Языки, поставляемые вместе с Microsoft Visual Studio:
C#
Visual Basic .NET
JScript .NET
C++/CLI — новая версия Managed C++
F# — член семейства языков программирования ML, включён в VS2010/VS2012/VS2015
J# — последний раз был включён в VS2005

Реализация платформы .NET Framework вызывала и вызывает множество нареканий.
Одним из главных объектов критики является менее рациональное использование ресурсов системы по сравнению с другими технологиями. Так, например, несколько приложений, выполняющихся в управляемой среде, стремятся захватить больше ресурсов, чем приложения того же типа, но обладающие более прямым доступом к ресурсам компьютера.[источник не указан 112 дней]
Недовольство разработчиков вызывает тот факт, что управляемый CIL-байткод, не подвергшийся обфускации, легко может быть декомпилирован в сравнении с естественным кодом, что может привести к потере коммерческой тайны или дать возможность обхода механизмов контроля соблюдения лицензионных соглашений.
С технической точки зрения платформа также подвергалась критике из-за отсутствия поддержки вызовов Streaming SIMD Extensions (SSE) в управляемом коде. В Mono решили эту проблему, добавив поддержку SIMD Extensions версии 2.2 в пространство имён Mono.Simd. В состав .NET Framwework 4.6 входит новый JIT-компилятор RyuJIT, поддерживающий SIMD через пространство имён Microsoft.Bcl.Simd.
Ещё одним поводом для критики является поддержка стандартов, фактически ограничивающих кросс-платформенную реализацию .NET Framework, в результате чего полноценная реализация платформы присутствует лишь для Windows. Частично подобная труднопереносимость компенсируется разработкой нескольких версий платформы для мобильных устройств, а также урезанными версиями .NET Framework для других операционных систем. Однако, несмотря на близость стандартов, принятых при разработке этих версий, конечные реализации полной совместимостью не обладают.
Новые версии платформы (3.5 и далее) вызвали новую волну недовольства тем, что они не предустанавливаются в версии Windows, предшествовавшие выходу Windows 7, что вынуждает пользователей тратить значительное время на их установку.

Mono — проект по созданию полноценного воплощения системы .NET Framework на базе свободного программного обеспечения. Основной разработчик проекта Mono — компания Xamarin, ранее Novell. После заключения Microsoft договорённости с Novell платформа Mono была официально признана реализацией .NET на Unix-подобных операционных системах: Linux, Mac OS X и других. (Хотя Mono успешно работает и под Microsoft Windows). Однако договорённость касается только Novell и клиентов Novell; также технологии ASP.NET, ADO.NET и Windows Forms не были стандартизированы ECMA/ISO, и использование их в Mono находится под угрозой юридических претензий со стороны Microsoft (претензии возможны только в странах, где существуют патенты на программное обеспечение[21]). Mono предоставляет реализацию ASP.NET, ADO.NET и Windows.Forms, но в то же время рекомендует не использовать эти API.
Просмотров: 661 | Добавил: Admin | Теги: .NET Framework | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Корзина
Ваша корзина пуста
Поиск
Календарь
«  Декабрь 2015  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
Ourspace.ucoz.com © 2024