Understanding. NET 2015

Source: Internet
Author: User
Tags dotnet

After I followed the build last year, I sent an article exciting times for. NET and since then I have been honored to be able to work with. NET team, which includes the runtime, the framework, the language, and the compiler. Although my focus has shifted more to the internal community last year, I have spent some time helping with the internal meetings of the OPS as a companion. NET Foundation made some progress and learned a lot about the open source community and learned all of our. NET Foundation projects. Good, happy is I also married, this is a turning point in my life. I have become a "pioneer" or a "bridge" from a community "missionary". I really like Alex Hillman's motto: Tummler.

Now that we're in the build, I'm even more excited about the progress we've made, especially about. NET platform itself, there is also the way the team open source. Now there's a lot about. NET move, so I think I've written a high-level "architectural" blog to help people understand the parts and how to participate in those projects. In other words, this will be a great place to start learning. NET 2015. At least that's what I want to see!

. NET 2015–10,000 Feet View

At a very high level, this is the main part outline that falls under the umbrella of. NET 2015.

The important thing is that we need to be aware that there are three main. NET core investment, which is sufficient to influence the development of major components.

. NET innovation (. NET innovation) – Bringing platform drive and innovation (Translator Note: This innovation is not the same as creation). We will make each layer more modern (the translator notes: is more scientific, practical, popular), which includes languages, compilers, base class libraries, application models, runtimes, and tools.

Open Source – The engineering process is introduced into an open environment, developed with the help of the community, to breed a vibrant ecosystem.

Cross Platform – expand. NET to Linux and Mac platforms, because our consumers are increasingly working in a variety of environments.

Main components of. NET 2015

Frameworks and runtimes (frame and runtime)

. The NET Framework is a managed executable environment that provides many services for applications that need to run. It has two main parts: the Common language Runtime (CLR), which is the executable engine used to process the running app; NET Framework class library, which provides a tested and reusable code to be invoked by developers in their own software.

The. NET Framework 4.6 builds on 4.5.2 and adds new APIs, improves event tracking, and fixes n multiple bugs. This is the latest version of the complete. NET Framework that we know so far. The. NET Frameworks 4.6 will be directly included in Windows 10 and pushed to Windows Update for older systems (Vista and above). See:. NET Framework Review

. NET Core 5 is a comprehensive goal, and the modular framework can be used by a wide range of application models and platforms, as well as open source, modular and localized, and supported by Microsoft for Windows, Linux and Mac OS X systems. There is a set of refactoring that contains the base Class library (COREFX) and runtime (CORECLR), and (CORECLR) contains a new JIT compiler ("RyuJIT"), A. NET garbage collector, native interaction, and many others. NET run-time component. Today,. NET Core is built and running on Windows. Over the next few months, we're going to be adding some platform-specific components to Linux and MAC implementations. Look: Introducing. NET Core and CoreCLR are now Open Source.

If you just look at one of the links in this article, be sure to look at this introducing. NET Core. Immo will explain in great detail why we need it and how to adapt it.

Compilers (compiler)

The. NET Compiler Platform (. NET platform compiler) ("Roslyn") opens the C # source code and the visual Basic compiler, which is rich in many analysis API codes. This makes it possible to build code analysis tools by using the same APIs that are used with VS (translator Note: This is cool!) )。 Roslyn generates a platform-independent intermediate language (IL) and is used when building. NET 2015, with the framework and core. In the release version, an entire. NET framework will be compiled with Roslyn. The key language of VB and C # Innovation place is no exception. Look: Roslyn on GitHub. The F # language and compilers are equally innovative. See F # on GitHub.

"RyuJIT" in the x64 bit. NET is the new default (JIT) compiler. At run time, the JIT compiler uses the Il language to first compile for a particular schema machine. For desktop and server scenarios, RyuJIT is significantly modified to reduce startup time compared to the previous x64-bit JIT compiler. It also includes support for SIMD (single instruction, multi-data), which allows parallel mathematical operations on the values in the collection. This can greatly increase the computational speed for some applications that rely on vector operations (translator Note: Software such as MATLAB is a vectorization program). Look: The next-generation JIT compiler for. NET

. NET Native (native) compiling C # into machine-code form will make its performance comparable to C + +, so developers will benefit from the strong productivity, affinity, and performance of native code generated by the. NET Framework. As an example, apps are based on. NET development will be compiled into intermediate language (IL). At run time, the (JIT) compiler turns it into machine code. In contrast,. NET Native is a pre-compiler that compiles apps directly into machine code and spends only a small amount of CLR uptime. By compiling on the. NET native, apps on the popular Microsoft Store will start fast 60% faster and use less of their memory. Popular Microsoft apps will run on. NET Native (ARM, x86, x64). See: Compiling Apps with. NET Native

App Models (app model)

The application model extends the common libraries for. NET Framework 4.6 and. NET Core 5. Windows forms, WPF, ASP. NET Web Forms, MVC 5, and so on. The application models you know today will be part of the. Web Framework 4.6, and there are new features that will meet you, too, thanks to innovation in the language and Roslyn Compilers and Ryujit. There will be a lot of changes in. NET 4.6 as a whole. Look: ASP. Overview–what about Web Forms?, the roadmap for WPF and. NET Framework Review

Slightly disclosed, there will be new application models that are specifically designed to carry in optimization. NET Core 5.

ASP. NET 5 is another way to create a modern web application. NET application model. The model was re-established to provide an optimized development framework to support applications that can be deployed in the cloud or used for internal transactions. It is made up of many of the least expensive components, so you can be more resilient when you build a solution. The ASP. NET 5 can be run on either the. NET Framework 4.6 or. NET Core 5. Today, ASP. NET 5 runs on Linux and Mac through the Mono runtime. Someday. NET core supports Linux and Macs, so ASP. NET 5 will be easy to run on those platforms. See: ASP. NET 5 Overview and introducing ASP. 5

Universal Windows Apps (Unified Microsoft Apps) is an app model that allows you to share code (8.1+) between the win Phone and the win app (8.1+) and deploy it in the Microsoft Store. Universal Windows apps will run on. NET Native. See: Building Universal Windows Apps for all Windows devices and getting Started with. NET Native

So what is. NET Core and I'm really wordy?

. NET Core 5 is a comprehensive goal, and the modular framework can be used by a wide range of application models and platforms because of the set of refactoring that includes the base Class library (COREFX) and runtime (CORECLR). The APIs used by the. NET Core base Class Library (BCL) are the same for different application models. APIs do not look the same – they share the same implementation. The main apis/programs and are massively decomposed into modules and are platform independent.

App-local (or, at the same time) deployment is also a key feature of. NET Core. You can choose the package associated with your app to deploy with the app. The modular packages can be obtained through NuGet. This means that your program will be run in isolation and not subject to many machines. NET Framework's full version. Your app can be deployed as beautifully as the x-copy command, without having to break the heart.

At the same time,. NET Core will support Windows, Linux and Mac OS X systems with the help of Microsoft. Today,. NET Core is built and running on windows, but we're adding some platform-specific components to Linux and MAC implementations. And all of them are open source. It is important to ensure that the foundation has won cross-platform and built a stronger ecosystem.

Image

From programming to running programs-. NET Core Development

I think it's always beneficial to understand how work is done in a psychological model/process. Here's what I've done about developing a. NET core application, describing the loop from coding/building/debugging to application deployment and execution. Deployment and execution are not the same on different application models.

You will need to reference quite a few of the BCL and application models that you need to write the code. Roslyn is a compiler that can process your code and generate platform-independent intermediate language (IL). The compilation pipeline aside, provides a rich set of APIs that allow you to do a thorough analysis of your code. If you're using Visual Studio, there are tons of new IDE features waiting for you to better use these APIs to meet your programming production journey.

If you build a universal Windows app, the. NET Native native Toolchain will be responsible for the rest. The reference will be localized to the native image at the same time as your app is built, in the shortest possible runtime. If you are building an ASP. NET 5 app, references and CoreCLR will be deployed to the server as the app is localized. JIT compilation occurs with the start of using RyuJIT.

In addition, ASP. NET 5 allows you to make some changes in your code and then save it, then refresh your browser without having to explicitly rebuild the project. Visual Studio uses Roslyn to support dynamic compilation. You can still have all the structures and use the compiled framework, but the development experience is just like interpreting (it's very frustrating).

Note: If you are developing for the full. NET Framework 4.6, you will still be able to enjoy language innovations as well as Roslyn compilers. Application deployment does not change in the way it works now, it still relies on the full version of the framework installed on the machine, but JIT compilation is--ryujit by the optimized JIT compiler.

What's open now?

Many parts of. NET 2015 are open source and are guided by the. NET Foundation. On these projects, we are actively working with the community on open-door related work.

You can see. NET Foundation for all projects supported by the repos and activity---github:http://dotnet.github.io/

Here is a good place to start with some correspondence. Check out these very detailed readme and the wizards that contribution can provide.

ASP. 5:https://github.com/aspnet/home

. NET Core CLR:HTTPS://GITHUB.COM/DOTNET/CORECLR

. NET Core Framework:https://github.com/dotnet/corefx

Roslyn:https://github.com/dotnet/roslyn

It is worth noting that the complete. NET Framework is "open source." That is to say, we are not contributing anything, and under the protection of the OSI approved License is not completely released, but you can explore the source code here (foreigners speak really tired ...) ): http://referencesource.microsoft.com/

Engineering in the Open

OSS (open source software) is not a novelty for Microsoft, but for. NET runtime and libraries are new concepts. It's a very big project, 15 years old, so many people have been working in the interior for so long, not just porting code, but the open road process. This is time-consuming. That's why the team started off with a small base class library, and it's been releasing more and more stuff, and of course, learning a lot. Those learning and the best implementations have been rippling across the team. We have to learn humility in the contribution list: overwhelming support and contributions so far.

You might think, "I don't have enough time to build my own app today, not to mention CLR code!" "Well said, I and you think together!" You can choose the way you want to participate. You don't need to write code to be a contributor. (but you can) ask a question, evaluate a proposal, and answer a question. Or just a look at it.

You might also think, "I don't want to lose the simplicity, the quality, the support (these traits) I used to be." Don't worry! We are still dedicated to the quality and service of the same previous level. Just think about it, all the work we do is put the project in the Open. (But) every thing we've done internally in order to build high-quality software is still in the same place, under environmental conditions, but now we're all in the open.

I really have a new culture for the team as well. NET of the future is very excited ah.

Enjoy it!

[Update 2/26/2015]– I've noticed that dotnetconf 2015 is coming and you can learn more about it. This is a free virtual meeting initiated by a speaker from the community and product team. Can be viewed in 18, 19th online streaming media (translator note: Pay attention to time difference).

Original address: Http://blogs.msdn.com/b/bethmassi/archive/2015/02/25/understanding-net-2015.aspx

Understanding. NET 2015

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.