CS4540 Special Topics in Web Development Introduction to .NET Chengyu Sun California State University, Los Angeles
Libraries Collections of programs that perform specific tasks, e.g. I/O, GUI, network communication, implementations of various data structures and algorithms …
Libraries Cannot Be Shared By Different Languages Java Program C++ Program Python Program Java Libraries C++ Libraries Python Libraries The same functions have to be implemented again and again for different languages Programmers have to re-learn the API of the same functions when they use a different language
The .NET Platform … .NET Programming Languages .NET Platform Visual Basic C# F# Base Class Library (BCL) I/O GUI Networking DB Access Security .NET Platform Common Intermediate Language (CIL) Common Language Runtime (CLS)
… The .NET Platform .NET applications run on Common Language Runtime (like JVM for Java) .NET applications can be written in many different languages Compiled into Common Intermediate Language Share the same Base Class Library Additional cross-language support
Additional .NET Terminology Common Type System (CTS) specifies all possible data types and programming constructs supported by CLR Common Language Specification (CLS) is a subset of CTS that all .NET languages must support
.NET Family of Frameworks
So Which Framework to Use? .NET Core when possible – it's basically a new version of the .NET framework that is open-source, cross-platform, and modular Xamarin for mobile app development .NET Framework for Windows desktop applications that require Windows-specific libraries such as Windows Forms or Window Presentation Foundation (WPF)
.NET 5 …
… .NET 5 Announced in May 2019 To be released in Nov 2020 Based on .NET Core with all the capabilities of .NET and Xamarin/Mono Single framework for all platforms
Readings Pro C# 7: Chapter 1 .NET Core, .NET Framework, Xamarin – The “WHAT and WHEN to use it” Introducing .NET 5