На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Программирование » Общее в программировании

Немного о.NET

Что заставляет разработчиков программного обеспечения постоянно усложнять себе жизнь? Требования заказчиков? Пожалуй, отчасти... Однако, вряд ли в этом всё дело. Ф. Брукс в своей книге "Mythical man-month", говоря о "радостях профессии" заметил, что "в-третьих, это очарование создания сложных головоломных объектов, состоящих из взаимодействующих движущихся частей и наблюдения за их работой, круг за кругом демонстирующей результаты изначально заложенных принципов. Компьютер с работающей на нём программой обладает доведённым до высшего предела очарованием игорного или музыкального автомата". И ведь это правда! Некоторые из нас помнят, как лет семь назад в популярном тогда толстом еженедельнике PC World был напечатан статистический отчёт об итогах исследования на тему перспектив тех или иных языков программирования. В нём было кое-что удивительное. Нет, не результаты - никто и не сомневался, что С++ наберёт наибольшее число баллов - но их интерпретация! Тайные мотивы, заставляющие разработчиков выбрать именно C++. Весьма большое специалистов-практиков по этому языку заявили, что C++ - это их выбор, поскольку он сложен для изучения. Вот это действительно впечатляет! C++ на самом деле непрост, если мы не говорим о т.н. "университетском курсе". Люди, которым есть на что потратить свою жизнь, тратят её на постижение сложности! Если выразить словами то же самое, что я сказал выше, но короче, то можно сказать, что цельная технология притягивает специалиста так же, как сметана - кота. Решусь даже высказаться в том акцепте, что чем технология сложнее, тем больше её притягательность. А чем ещё можно объяснить, что там много людей уже высказывают свой пиетет .NET? Поскольку релиза ещё нет, то начать изучение .NET сейчас - очень умная мысль!

"Поехали!" (Обзор платформы со ссылками на MS)

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

Как мне кажется, ясней всего о том, что такое.NET сказано на посвящённой этой технологии странице корпорации. Несомненно, изменений очень много, они касаются практически всех аспектов функционирования распределённых систем (будем надеяться, что не только под Windows). Однако главное, что изменилось в разработке под Windows -осуществился переход от плоского API к истинно объектной инфраструктуре. Вообще же - .NET это, как и не название какой-то частной технологии, а скорее долгожданный ответ на Java от Sun. Такой "большой идеи" Microsoft не выдвигала, пожалуй, со времён изобретения лозунга

В обыденном понимании - .NET это общее название для семейства технологий, разработанных для тесного взаимодействия друг с другом (это, конечно, не значит, что они не могут использоваться по отдельности, но их совместное использование обещает небывалую эффективность). Итак, посмотрим, "что там внутри, с той стороны", не копая слишком глубоко (мало места и времени, да к тому же нет желания конкурировать с MSDN-online), но и не сообщая никому не интересных глупостей (никто не будет читать). Это будет такой: лёгкий вводный курс:)

Некоторые факты

  1. .NET - название инициативы Microsoft, сутью которой является переход от приложений в традиционном смысле к Web-сервисам на базе XML. Очевидно, этим преследуется несколько целей:
    • предоставить разработчикам и партнёрам максимально открытую архитектуру, ставшую к тому же стандартом отрасли
    • дать новый импульс развитию COM (это должно случиться непременно, поскольку переход от плоской модели к объектной и "выпуклой" совершён)
    • перевести деловых пользователей с устаревшей платформы 9x на Windows XP
  2. Одно из основных понятий новой платформы - это .NET experience. Думаю, что дословный, буквальный перевод словосочетания бессмысленен, но эта концепция важна (хотя бы в силу того, что присутствует в каждом документе, посвящённом .NET). "Опыт Сети" - это сложное словосочетание для простой вещи: "пользователь может получать и обрабатывать информацию с любого устройства, находящегося в его распоряжении" [1]. С примером того, что же такое .NET experience можно ознакомиться здесь. Да и вообще прочтите внимательно этот документ, если он Вам незнаком.
  3. .NET - это не просто "программная среда". И даже не столько она. .NET - это сложная, как говаривали раньше - программно-аппаратная -  система, в которой всякий пользователь будет обеспечиваться "широким спектром услуг" [2] благодаря т.н. "умным устройствам"; по старой традиции я называю их "приборчиками". Ничего особенного они из себя не представляют, но при развёртывании решений на базе .NET они станут очень важной частью инфраструктуры обработки информации.
  4. Словно желая раздразнить гусей, Microsoft выдвинула инициативу "Hailstorm". Некоторые считают, что это важнейшая часть .NET. Давайте и мы посмотрим, что принесёт нам этот "Ливень": HailStorm - это набор XML-сервисов,:в настоящее время включающих в себя многое. Казалось бы - ничего особенного? Уже и так у каждого из нас есть свой электронный адрес, мы пользуемся GRPS, знаем немало, одним словом, но дело в том, что предлагается некое централизованное хранилище (возможно физически - рапределённое, даже скорее всего так, но централизация здесь логическая), в котором всё это будет храниться и с которым мы будем взаимодействовать. Не берусь судить, насколько хороша эта идея. Несомненно, что-то в ней есть, но мысль о том, что (гипотетически) кто-то может узнать, что (предположим) вчера я встречался с нашим Президентом, а завтра встречаюсь с бен Ладеном не очень мне нравится. Впрочем: будем считать это развратом ума.
  5. Windows XP. Когда я работал даже с первой бетой - восторгам не было предела. Не только "красиво" (что, согласитесь, немаловажно, когда пялишься в "телевизор" по 14 часов в день), но и "удобно" и "многообещающе". Если у Вас уще не установлена beta 2 - найдите, пожалуйста, время установить её (естественно, легально! Например, см. здесь.)

.NET для разработчика

.NET концептуально состоит из трёх элементов:

  • Платформа Microsoft .NET
  • Продукты и сервисы .NET, поставляемые компанией Microsoft
  • Продукты и сервисы .NET других поставщиков

.NET Framework

Для разработчика наибольший интерес представляют несомненно "инфраструктура .NET" (.NET Framework) и Visual Studio .NET. Более того, без "этих двоих" в настоящее время невозможна никакая разработка для .NET. Инфраструктура .NET, как часть .NET platform является окружением для создания, развёртывания и выполнения приложений и сервисов .NET и состоит из трёх основных частей:

  • Common Language Runtime. Это концепция и механизм, посредством которых код, написанный на каком-то частном языке - VB.NET, VC++.NET, C# и т.д., компилируется в "native-код", а затем исполняется в системе, для которой разрабатывался. Это достигается применением COM, которая уже в настоящее время позволяет организовывать коммуникации между программами, написанными на разных языках.
  • Framework Classes. Всё, к чему только можно получить какой-то доступ и хоть как-то воспользоваться  - всё находится в этих классах.Иерархия, просто поражающая воображение! Вот, например, кусочек иерархии (на самом деле ничтожный) System.CodeDOM
  • ASP .NET - это унифицированная платформа разработки приложения для интернета, предоставляющая разработчикам возможности по созданию программных Web-ориантированных систем масштаба предприятия. Можно было бы ожидать, что как в случае с InterDev 6.0 здесь мы имеем дело с простым переименованием, но ASP .NET - больше, чем просто следующая версия ASP, несмотря на то, что синтаксис остался в большей степени неизменным. ASP .NET является полноценным .NET окружением, а это значит, что теперь для создания "активных серверных страниц" можно использовать любые языки, входящие в Visual Studio .NET Теперь можно забыть о более чем слабой типизации ASP, небезопасных приведениях типа и проч. в том духе.

Продукты

Из продуктов Microsoft, поставляемых в качестве кирпичей .NET и интересующих нас, как разработчиков, безусловный интерес представляет Visual Studio .NET. Хотя бы потому, что в самом ближайшем будущем надо будет использовать именно его. Впервые мне удалось попробовать эту замечательную систему в начале мая и с тех пор я нахожусь под впечатлением этого необыкновенного продукта. Изменений так много, они так глубоки, что здесь, в этой статье я смогу коснуться их только вскользь, слегка: Это просто надо видеть!

Visual Studio .NET. Что нового?

Во-первых, появилась мощнейшая интегрированная в оболочку VS утилита, называемая Server Explorer (SE). Даже трудно себе представить, о чём надо спросить SE, чтобы он не выдал в ответ порцию информации: Серверы приложений, очереди сообщений, системные и журналы: Всё это теперь можно узнавать, не вставая со своего рабочего места и не связываясь ни с какими администраторами (ну, разве что для получения прав доступа). Я был поражён удобством SE, когда пришлось активно интересоваться содержимым очередей на одном из серверов. Мне было рассказано всё: кто отправил то или иное сообщение, когда, было ли затребовано подтверждение, в какие очереди помещаются уведомления: Всё это сделано просто, очевидно и так, что привыкаешь раз и навсегда.

Во-вторых, весьма впечатляющий интерактивный подсказчик. Контекстная помощь теперь предлагается самой средой разработки. Производится анализ кода, которые пишется в конкретный момент времени и предлагается целый список тем помощи, которым можно тут же воспользоваться. Такое ощущение, что после каждого набранного символа кто-то невидимый нажимает CTRL+F1. Можно отключить, но - приятно!

В-третьих, "наконец-то, наконец-то!" Единая среда разработки для всех проектов. Visual Basic, Visual C++ и проч. с соответствующими суффиксами - теперь в одной упряжке. Было не то, чтобы трудно переключаться из VB IDE в MSDEV, но утомительно: Какие-то кнопки работали по-другому, что-то было не совсем привычно: Конечно, и MSVS98 можно настроить как-угодно, но: теперь и настраивать ничего не надо.

Изменений много, а я наверняка что-то забыл: Загляните сюда (июль-август 2001) и восполните пробелы. А ещё - не поленитесь, заимейте Visual Studio beta 2 (естественно, легально, что Вы спрашиваете?!) и попробуйте всё сами.

Заключение:

Мне самому трудно сказать, о чём эта статья. Она не в состоянии никого ввести в новый удивительный, полный невероятных перспектив мир технологии .NET - ей не хватает глубины и чёткости формулировок. Она также не является картой движения во стране .NET - дорожные указатели ещё не установлены. Наверно, это просто восторг от новой сложности, которой надо овладеть в самые короткие сроки, чтобы снова начать скучать от обыденности написания Manageable Classes и создания брокерских приложений для мобильников.


[1] - Сейчас, когда я пишу эти строки, у меня дежа-вю. Где-то я уже слышал про "тостеры, подключённые к интернету"...:)

[2] - Просто клише на клише:)

Юрий Кулешов
Софтерра

Другие разделы
C, C++
Java
PHP
VBasic, VBS
Delphi и Pascal
Новое в разделе
Базы данных
Общие вопросы
Теория программирования и алгоритмы
JavaScript и DHTML
Perl
Python
Active Server Pages
Программирование под Windows
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100