Программная платформа NET Framework

Содержание

Слайд 2

.NET Framework .NET Framework — программная платформа, выпущенная компанией Microsoft в

.NET Framework

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002

году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.
Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle) называемую Eclipse.
Слайд 3

Слайд 4

.NET Framework Хотя .NET является патентованной технологией корпорации Microsoft и официально

.NET Framework

Хотя .NET является патентованной технологией корпорации Microsoft и официально рассчитана

на работу под операционками семейства Microsoft, существуют независимые проекты (Mono и Portable.NET), позволяющие запускать программы .NET на некоторых других операционных системах.
У Microsoft на тот момент было множество причин перехода к новой стратегии. Компания доминировала на рынке операционных систем и веб-браузеров, обладала множеством наработок в области ПО для Интернета, включая порталы MSN и WebTV, а также имела долю в компаниях, занимавшихся предоставлением ПО в прокат через Интернет.
Слайд 5

.NET Framework У корпорации имелось множество различных (и зачастую несовместимых между

.NET Framework

У корпорации имелось множество различных (и зачастую несовместимых между собой)

сред и технологий программирования, поскольку разработка инструментов для программистов была языкоориентированной, то есть для Visual Basic существовал свой набор приложений, а для C++ — свой. Поэтому одной из целей разработки новой платформы было объединение всех наиболее удачных наработок в рамках единой платформы и их унификация. Кроме того, ставилась задача следования всем актуальным тенденциям в области программирования на тот момент.
Слайд 6

.NET Framework Платформа должна была напрямую поддерживать объектно-ориентированность, безопасность типов, сборку

.NET Framework

Платформа должна была напрямую поддерживать объектно-ориентированность, безопасность типов, сборку мусора

и структурную обработку исключений. Корпорации необходимо было предоставить свой ответ набиравшей популярность платформе Java от Sun Microsystems Eclipse.
О разработке технологии было объявлено 13.1.2000, Билл Гейтс объявил о передаче поста главы Microsoft Стиву Балмеру и была озвучена новая стратегия. Она должна объединить в 1 существующие и будущие разработки Microsoft для предоставления возможности пользователям работать в Интернете с беспроводных устройств, как со стационарных ПК.
Слайд 7

.NET Framework Для этого Microsoft рассчитывала значительно изменить Windows-платформу. Первым шагом

.NET Framework

Для этого Microsoft рассчитывала значительно изменить Windows-платформу. Первым шагом к

новой версии платформы стала Windows 2000, в рамках которой была представлена последняя на тот момент схема трёхуровневой модели программирования, впервые представленная на Windows NT 4.0.
На тот момент данная схема состояла из: клиентской части (Windows- или веб-приложение), среднего уровня на компонентах COM+ и базы данных (SQL Server).
XML был выбран потому, что являлся развитием языка разметки HTML, ставшего основным языком разметки в Интернете, а кроме того он предоставлял удобный способ описания данных.
Слайд 8

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

.NET Framework

В модели каждая часть трёхзвенной структуры (клиентское приложение, промежуточный слой

и база данных) должна была взаимодействовать с остальными при помощи XML-пакетов. Для упрощения разработки кода с использованием XML предполагалось, что новая версия Visual Studio будет генерировать XML-код, освобождая разработчиков от необходимости ручного написания XML-кода.
Слайд 9

.NET Framework Планировалось, что разработчики смогут писать веб-сайт для электронной коммерции

.NET Framework

Планировалось, что разработчики смогут писать веб-сайт для электронной коммерции целиком

на новой версии Visual Basic, а благодаря тому, что обмен информацией будет происходить при помощи XML, разработчики смогут создавать клиентские приложения, функционирующие на Linux, Solaris и Mac OS. То есть, для того, чтобы приложение или операционная система могли взаимодействовать друг с другом нужна была лишь поддержка стандарта с их стороны (хитро придумано!!!).
Для демонстрации замысла Microsoft запустила веб-сайт Passport, зайдя на который, пользователь мог бесплатно завести себе электронный кошелёк (eWallet), упрощавший процесс совершения покупок в интернет-магазинах.
Слайд 10

Базовые принципы проектирования Основной идеей при разработке .NET Framework являлось: 1.

Базовые принципы проектирования

Основной идеей при разработке .NET Framework являлось:
1. обеспечение свободы

разработчика за счёт предоставления ему возможности создавать приложения различных типов, способные выполняться на различных типах устройств и в различных средах.
2. ориентация на системы, работающие под управлением семейства операционных систем Microsoft Windows.
Слайд 11

Среды разработки, поддерживающие .NET: Microsoft Visual Studio (C#, Visual Basic .NET,

Среды разработки, поддерживающие .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 также можно разрабатывать в текстовом редакторе, просто вызывая компилятор из командной строки.
Слайд 12

Языки программирования в .NET Одной из основных идей Microsoft .NET является

Языки программирования в .NET

Одной из основных идей Microsoft .NET является совместимость

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

Поддержка языков программирования Языки, поставляемые вместе с Microsoft Visual Studio: C#

Поддержка языков программирования

Языки, поставляемые вместе с Microsoft Visual Studio:
C#
J# — последний

раз был включён в Visual Studio 2005
VB .NET
JScript .NET
C++/CLI — новая версия Managed C++
F# — член семейства языков программирования ML, включён в Visual Studio 2010
Слайд 14

Поддержка языков программирования Не встроенные, но активно поддерживаемые: Ada (A#) COBOL

Поддержка языков программирования

Не встроенные, но активно поддерживаемые:
Ada (A#)
COBOL
Delphi: Delphi 8, Delphi

2005—2010, Delphi XE
FORTRAN
IronRuby — реализация языка Ruby
IronPython — реализация языка Python
Lisp
Perl
PHP
PascalABC.NET
Prolog
Smalltalk
Слайд 15

Критика 1. Менее рациональное использование ресурсов системы по сравнению с другими

Критика

1. Менее рациональное использование ресурсов системы по сравнению с другими технологиями.
2.

Управляемый CIL-байткод, не подвергшийся обфускации, легко может быть декомпилирован в сравнении с естественным кодом, что может привести к потере коммерческой тайны или дать возможность обхода механизмов контроля соблюдения лицензионных соглашений.
3. Новые версии платформы (от 3.5) не предустанавливаются в версии Windows, предшествовавшие выходу Windows 7, что вынуждает пользователей тратить значительное время на их установку.
Слайд 16

Критика 4. Поддержка стандартов, фактически ограничивающих кросс-платформенную реализацию .NET Framework, в

Критика

4. Поддержка стандартов, фактически ограничивающих кросс-платформенную реализацию .NET Framework, в результате

чего полноценная реализация платформы присутствует лишь для Windows. Частично подобная труднопереносимость компенсируется разработкой нескольких версий платформы для мобильных устройств, а также урезанными версиями .NET Framework для других операционных систем. Однако, несмотря на близость стандартов, принятых при разработке этих версий, конечные реализации полной совместимостью не обладают.
Слайд 17

Mono Mono — проект по созданию полноценного воплощения системы .NET Framework

Mono

Mono — проект по созданию полноценного воплощения системы .NET Framework на

базе свободного программного обеспечения. Основной разработчик проекта — компания Xamarin, ранее Novell. После заключения Microsoft договорённости с Novell, платформа Mono была официально признана реализацией .NET на Unix-подобных операционных системах: Linux, Mac OS X и других. (Хотя Mono успешно работает и под Microsoft Windows).