Wikipedysta:Mfloryan/brudnopis/.NET
Z Wikipedii
Spis treści |
[edytuj] terminologia
- platforma programistyczna .NET
- środowisko .NET framework
- Common Language Runtime - wspólne środowisko uruchomieniowe
- Class Libraries - biblioteki klas
- API
- Assembly - komponent .Net
- MSIL - kod pośredni
- CTS - Common Type System - wypólny system typów
[edytuj] źródła
[edytuj] .NET
[edytuj] .NET Framework
- Platforma .NET Framework
- Wprowadzenie
- .NET Framework Fundamentals
- MSDN Mag: Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web
- Środowisko programistyczne .Net
[edytuj] C#
[edytuj] .NET Framework
The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries, and a componentized version of Active Server Pages called ASP.NET.
[edytuj] Architektura
- CLR (ang. Common Language Runtime) odpowiedzialny za lokalizowanie, wczytywanie oraz zarządzanie typami .NET. To trzon całej platformy .NET To do CLR należy zadanie kompilowania i uruchamiania kodu zapisanego językiem kodu pośredniego (CIL).
- CTS (ang. Common Type System) odpowiedzialny za opis wszystkich danych udostępnianych przez środowisko uruchomieniowe.
- CLS (ang. Common Language Specification) to zbiór zasad definiujących podzbiór wspólnych typów precyzujących zgodność kodu binarnego z dostępnymi kompilatorami .NET
[edytuj] CLR
The common language runtime is the execution engine for .NET Framework applications.
It provides a number of services, including the following:
- Code management (loading and execution)
- Application memory isolation
- Verification of type safety
- Conversion of IL to native code
- Access to metadata (enhanced type information)
- Managing memory for managed objects
- Enforcement of code access security
- Exception handling, including cross-language exceptions
- Interoperation between managed code, COM objects, and pre-existing DLLs (unmanaged code and data)
- Automation of object layout
- Support for developer services (profiling, debugging, and so on)
[edytuj] CTS
The common type system is a rich type system, built into the common language runtime, that supports the types and operations found in most programming languages. The common type system supports the complete implementation of a wide range of programming languages.
[edytuj] CLS
Wspólna specyfikacja języka
The Common Language Specification is a set of constructs and constraints that serves as a guide for library writers and compiler writers. It allows libraries to be fully usable from any language supporting the CLS, and for those languages to integrate with each other. The Common Language Specification is a subset of the common type system. The Common Language Specification is also important to application developers who are writing code that will be used by other developers. When developers design publicly accessible APIs following the rules of the CLS, those APIs are easily used from all other programming languages that target the common language runtime.
[edytuj] MSIL
MSIL is the CPU-independent instruction set into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects.
Combined with metadata and the common type system, MSIL allows for true cross-language integration.
Prior to execution, MSIL is converted to machine code. It is not interpreted.
[edytuj] Assembly
podzespoły
An assembly is the primary building block of a .NET Framework application. It is a collection of functionality that is built, versioned, and deployed as a single implementation unit (as one or more files). All managed types and resources are marked either as accessible only within their implementation unit, or as accessible by code outside that unit.
Assemblies are self-describing by means of their manifest, which is an integral part of every assembly. The manifest:
Establishes the assembly identity (in the form of a text name), version, culture, and digital signature (if the assembly is to be shared across applications). Defines what files (by name and file hash) make up the assembly implementation. Specifies the types and resources that make up the assembly, including which are exported from the assembly. Itemizes the compile-time dependencies on other assemblies. Specifies the set of permissions required for the assembly to run properly. This information is used at run time to resolve references, enforce version binding policy, and validate the integrity of loaded assemblies. The runtime can determine and locate the assembly for any running object, since every type is loaded in the context of an assembly. Assemblies are also the unit at which code access security permissions are applied. The identity evidence for each assembly is considered separately when determining what permissions to grant the code it contains.
The self-describing nature of assemblies also helps makes zero-impact install and XCOPY deployment feasible.
[edytuj] Standardy i licencje
W sierpniu 2000 Microsoft, Hewlett-Packard i Intel wspólnie złożyły specyfikację Common Language Infrastructure i języka C# do ECMA jako propozycję standardu. Prace nad nimi odbywały się w ramach komitetu TC39 w podgrupach TG3 i TG2, przy współudziale m.in. IBM i Fujitsu. Zostały one ostatecznie zatwierdzone w grudniu 2001 jako ECMA-334 (CLI) i ECMA-335 (C#), a opis techniczny jako TR/84, a następnie przekazane do akceptacji przez ISO.
W kwietniu 2003 ISO uznało nadesłane standardy, nadając im numery ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) oraz ISO/IEC 23272 (CLI TR), a ECMA przyjęła je jako drugie wydanie swoich standardów.
In August, 2000, Microsoft, Hewlett-Packard, and Intel worked to standardize CLI and the C# programming language. By December, 2001, both were ratified ECMA standards (ECMA 335 and ECMA 334). ISO followed in April, 2003 (ISO/IEC 23271 and ISO/IEC 23270).
While Microsoft and their partners hold patents for CLI and C#, ECMA and ISO requires that all patents essential to implementation be made available under "reasonable and non-discriminatory (RAND) terms." In addition to meeting these terms, the companies have agreed to make the patents available royalty-free.
However, this does not apply for the part of the .NET Framework which is not covered by the ECMA/ISO standard, which includes Windows Forms, ADO.NET, and ASP.NET. Patents that Microsoft holds in these areas may deter non-Microsoft implementations of the full framework.
[edytuj] Wersje
Microsoft rozpoczął pracę nad .NET Framework pod koniec lat 90, pierwotnie pod nazwą Next Generation Windows Services (NGWS). Pod koniec rok 2000 dostępne były pierwsze wersje beta.
Nazwa wersji | numer | Data wydania |
---|---|---|
1.0 Beta 1 | 1.0.????.0 | listopad 2000 |
1.0 Beta 2 | 1.0.2914.0 | 20 czerwca 2001 |
1.0 RTM | 1.0.3705.0 | 5 stycznia 2002 |
1.0 SP1 | 1.0.3705.209 | 19 marca 2002 |
1.0 SP2 | 1.0.3705.288 | 7 sierpnia 2002 |
1.0 SP3 | 1.0.3705.6018 | 25 sierpnia 2004 |
1.1 RTM | 1.1.4322.573 | 1 kwietnia 2003 |
1.1 SP1 | 1.1.4322.2032 | 25 sierpnia 2004 |
1.1 SP1 (wersja dla Windows Server 2003) | 1.1.4322.2300 | 30 marca 2005 |
2.0 RTM | 2.0.50727.42 | 7 listopada 2005 |
3.0 RTM | 3.0.4506.30 | 6 listopada 2006 |
.NET Framework 1.0 - ukazała się 01.2002 (16/01/2002, .NET Framework 1.1 - ukazała się 04.2003 24/04/2003, Official Release. Version 1.1 Release Date: March 30, 2004
[edytuj] .NET Framework 1.0
Jest to pierwsza wersja platformy oficjalnie wydana ??data??
This is the first release of the .NET Framework that was released on February 13, 2002. It is available on its own as a redistributable package or in a software development kit. It is also part of the first release of Microsoft Visual Studio .NET (also known as Visual Studio .NET 2002).
[edytuj] .NET Framework 1.1
Wersja ta jest domyślnie zainstalowana w systemie Windows Server 2003.
[edytuj] najważniejsze zmiany
- Wbudowane wsparcie dla kontrolek ASP.NET w wersji na systemy przenośne. Wcześniej dostępne jako dodatek Microsoft Mobile Internet Toolkit, teraz stanowią integralną część środowiska.
- Zmiany zabezpieczeń. (Umożliwia także stosowanie zabezpieczeń dostępu do kodu, aby dodatkowo zablokować i odizolować aplikacje ASP.NET). Security changes - enable Windows Forms assemblies to execute in a semi-trusted manner from the Internet, and enable Code Access Security in ASP.NET applications.
- Built-in support for ODBC and Oracle databases. Previously available as an add-on for .NET Framework 1.0, now part of the framework.
- .NET Compact Framework - a version of the .NET Framework for small devices.
- Obsługa protokołu IP w wersji 6 (IPv6).
- Liczne zmiany API.
[edytuj] .NET Framework 2.0
Ta wersja dostępna jest dla większości wydań systemów operacyjnych Microsoft Windows (98, 98SE, Millenium, XP, Server 2000 SP3, Server 2003, Vista)
[edytuj] najważniejsze zmiany
[edytuj] .NET Framework 3.0
Microsoft .NET Framework 3.0 (wcześniej znany jako WinFX), stanowi integralną część systemów operacyjnych firmy Microsoft z rodziny Windows Vista oraz Windows Server "Longhorn". Istnieje również wersja dla systemu Windows XP SP2 oraz Windows Server 2005. To wydanie jest de facto rozszerzeniem dotychczasowego .NET Framework 2.0 (bazuje na tej samej wersji 2.0 CLR), gdyż nie wprowadza żadnych poważnych zmian w architekturze systemu, zostało jednak uzupełnione o cztery nowe, ważne elementy:
- Windows Presentation Foundation (WPF, wcześniej znane pod nazwą Avalon) -
a new user interface subsystem and API based on XML and vector graphics, which will make use of 3D computer graphics hardware and Direct3D technologies. See WPF SDK for developer articles and documentation on WPF.
- Windows Communication Foundation (WCF, wcześniej znane pod nazwą Indigo),
suite of .NET technologies for building and running connected systems unifies a broad array of distributed systems capabilities in a composable and extensible architecture to provide secure, reliable, and transacted messaging along with interoperability.
- Windows Workflow Foundation (WF),
Windows Workflow Foundation includes support for both system workflow and human workflow across a wide range of scenarios.
- Windows CardSpace (WCS, wcześniej znane pod nazwą "InfoCard").
Microsoft's technology for managing digital identities.
[edytuj] .NET Framework 3.5
[edytuj] Języki programowania
Language compilers that support the .NET Framework have been announced for the following programming languages:
[edytuj] dostarczane przez Micorosft
- C#
- Visual Basic .NET
- C++/CLI (wcześniej Managed C++, wariant C++)
- J# (wariant języka Java opracowany przez Microsoft)
- JScript .NET (kompilowany wariant języka JScript)
- Windows PowerShell
- IronPython
- F#
[edytuj] pozostałe
[edytuj] Implementacje
Poza podstawową implementacją platformy przygotowywaną przez firmę Microsoft dla systemów operacyjnych z rodziny Windows, która dostępna jest za darmo, istnieją także:
- Mono - projekt Novella na licencji Open Source
- DotGNU Portable.NET - implementacja powstająca w ramach projektu GNU
[edytuj] .NET Compact Framework
[edytuj] .NET
Microsoft .NET - ogólny termin, który odnosi się do całego szeregu różnorodnych technologii i produktów opracowywanych przez firmę Microsoft od końca lat 90-tych. Wspólnym i podstawowym elementem wszystkich rozwiązań wprowadzanych w ramach .NET jest .NET Framework - platforma programistyczna będąca składnikiem współczesnych systemów operacyjnych firmy Microsoft.
[edytuj] Produkty i technologie
Produkty i technologie wprowadzane przez Microsoft w ramach tej rodziny rozwiązań posiadają najczęściej określenie .NET w nazwie. Są to m.in.:
- .NET Framework
- ADO.NET
- ASP.NET
- JScript .NET
- Visual Basic .NET
- C#
- IronPython
- Microsoft Visual Studio
- Microsoft PowerShell
Także inne nowe produkty firmy Microsoft są coraz ściślej integrowane z platformą .NET, są to m.in.:
- Microsoft Windows Vista - system operacyjny
- Microsoft SQL Server 2005 - serwer bazy danych
- Microsoft Office 2007 - pakiet biurowy
- Microsoft Office SharePoint Server 2007
- Microsoft BizTalk Server 2006
Obecnie także produkty innych firm bazujące na platformie .NET często używają tego określenia w swoich nazwach.