Несколько кратких ответов, чтобы вы продолжали:
В частности, если Win32 - это API, написанный на C, что такое .NET? Это API написано также на C?
.NET состоит из нескольких частей. Одна часть называется CLR. Эта часть написана на C ++, C ++ / CLI и некоторой сборке. Это отвечает за запуск приложений .NET. Компилятор Just-In-Time (JIT) является важной частью этого.
Тогда есть включенные библиотеки. Они в основном написаны на C #, но некоторые из них предположительно имеют части, написанные на C ++ / CLI. Вы можете фактически получить исходный код для многих из включенных библиотек.
Работает ли он только на ОС Windows, например на win32?
Также нет, есть порт, который работает в Linux (называется Mono), есть версия, которая работает на WIndows Phone 7, а также есть Silverlight, который также работает на Mac ....
.NET работает поверх Win32 API?
В значительной степени да, хотя в некоторых местах он начинает заменять обычный WinAPI (на одном из этапов Microsoft определенно планировал попробовать .Net-ify большую часть или весь WinAPI). Я бы не стал писать драйверы для него, но вы все равно будете использовать обычный интерфейс C / C ++ для взаимодействия с API ядра.
Библиотеки совершают вызовы для многих различных частей win32 API. Это необходимо для плавного взаимодействия с другими приложениями Windows.
.NET взаимодействует с ... COM-объектами?
Да, с помощью COM-взаимодействия.
.NET работает в песочнице и не разрешает доступ к определенным областям ОС?
Некоторые варианты среды выполнения могут быть помещены в «песочницу» (Silverlight, WPF XBAP). Приложения .Net, обладающие разрешением UnmanagedCode
, также могут вызывать код, написанный на неуправляемом C ++, с полным беспрепятственным доступом к системе (хотя вам все равно придется соблюдать небольшие неприятные вещи, такие как файловые ACL).
Я могу кодировать на разных языках, используя Win32 API, такие как c / c ++, VB, Perl. Какие языки можно кодировать в .NET?
.Net - это библиотека времени выполнения с JIT-компиляцией. Есть много языков, которые вы можете использовать, которые построены поверх фреймворка. JIT-компиляция также не является обязательной - вы все равно можете скомпилировать свои приложения для конкретной архитектуры ЦП.
Я слышал о веб-приложениях, написанных на .NET? Что, как, что? На каком языке это написано? .NET работает поверх IE? Веб-приложения .NET работают в Firefox или Safari (MacOS)?
Эти приложения могут быть написаны на любом языке .Net, хотя практически большинство из них будут использовать C # и VB.Net. Вы, наверное, слышали об ASP? Хорошо, ASP.NET (и его сестра ASP.NET MVC) - это следующее поколение - оно работает на сервере и отображает HTML + javascript, как и многие другие языки на стороне сервера. У вас также есть возможность запуска Silverlight на клиенте, он может запускаться как в браузере, так и вне его. Silverlight определенно работает в Firefox, Safari и Chrome.