I have sent several ASP.NET Core articles in succession.If you have received any inquiries from the parties:
"Oh, my mother, is Microsoft pushing something new?"
"Is WebForm finished?"
"My ASP.NET MVC hasn't started playing yet, don't you have to learn?"
Simply answer the above questions:
Yes,ASP.NET CoreIt is the next generation of ASP.NET, which can be implemented across platforms and is expected to be the mainstream of the future. It's a new thing that was launched two years ago, but it's okay to do the information and learn new things all day long. If you have experienced the front-end framework "spark-fire life cycle", this is nothing.
As for WebForm, it should not be a problem to fight for another ten or twenty years. Large enterprises or organizations seek stability and innovation, the system is more complex and complex, and the innovation speed is slower. However, it can be expected that resources will not be expanded and development, and relevant job opportunities are destined to be less and less, because no newcomers are investing in this piece. The field will evolve into a scene where the left-behind old birds are quick to write or have little or no bosses to fight for their maintenance. (Supplementary reference:The prime minister is getting windy! Talking about the change of ASP.NET 5)
If you are learning or are learning ASP.NET MVC 5, please continue to learn and learn, and most of the relevant knowledge and skills can be used in ASP.NET Core. If the enterprise does not have strong cross-platform requirements, ASP.NET MVC 5's Windows and third-party library support is more complete and mature, stability and technical resources are better than ASP.NET Core, which is still in its infancy, and it is still good to develop the website at this stage. Choice (based onOfficial documentsASP.NET and ASP.NET Core are alternatives that developers can choose to use according to their needs.
Back to the topic, if ASP.NET MVC 5 is still the main force of active service, then ASP.NET Core value learning? See that I recently wrote a lot of ASP.NET Core notes, and of course I voted for it. My personal opinion is as follows:
Twenty years of Coding life, C# is the most mature and most convenient programming language I have ever used, with the strongest Visual Studio IDE on the surface, it's just like a mud. Unfortunately, it was sealed in Windows in the early years, missing the opportunity to compete with Java for mainstream development language overlord, until .NET Core finally officially cross-platform, although it was more than ten years late, but I finally waited.
What are the benefits of cross-platform? There is a choice to be cool!
According to NetcraftstatisticsIn 2018, the number of web servers used by the world's top 1 million websites in July was 35.2%, nginx was 24.9% (the market share continued to expand), and Microsoft accounted for 9.4%. Each operating system and website server has its own advantages and disadvantages in terms of cost, performance, stability, and management convenience. As a web developer, ASP.NET Core can be used with Apache, Nginx, and IIS, evenDropped to NAS DockerRunning also, you don't have to fight the client for the operating system to fight the server for the host of the website. (Mystery: How often have you been beaten before?)
Imagine that the boss who reported that the website would use the Linux host, VPS or Cloud to run, the rent was saved half, and the boss was happy to raise your salary.
ASP.NET Core uses the lightweight Kestrel Web Server to handle core HTTP communications (and even switch to a more performance-oriented server to tune extreme situations), typically complementing Reverse Proxy Servers such as Nginx, Apache, and IIS. Security, load balancing, static content caching, compression, HTTP authentication, and more. ASP.NET is limited to IIS, feature-rich but cumbersome, in some reviews (1 2The performance number (RPS, Request Per Second) of ASP.NET Core is at least 3-4 times that of ASP.NET on IIS.
Of course, purely using Kestrel compared to IIS, how much compared with the "hand running vs armed running", the gap between the actual situation Kestrel and the reverse proxy server should be reduced, but it is undeniable, when you do not want to squeeze out Performance, ASP.NET Core is better than the peak.
Trend trend trend
ASP.NET MVC 5 is still the mainstream option on the console, but without any surprise, ASP.NET Core will be king. Give two clues:
The next generation of ASP.NET MVC 5 is not ASP.NET MVC 6, but ASP.NET Core 1.0, a very confusing naming, but Scott did their best.ASP.NET MVC NuGet PackageThe latest version is 5.2.6; ASP.NET Core has jumped from 1.0 to 2.1 in the past two years, and 3.0 is expected to release the preview in the second half of this year and the official version in 2019, in a period of rapid adolescence.
The official document mentions that EF6 is still a supported product and will see bug fixes and minor improvements in the future. EF Core's API is similar to EF6, but the core has been rewritten so it does not inherit all the features of EF6, and its maturity is not as good as EF6, but in the future it will add some new features that EF6 does not have (alternative key, batch update, LINQ query mixed client) And database side operations).
It is inferred that Microsoft will continue to support ASP.NET / EF6, but new features will appear in ASP.NET Core and EF Core.
Long live Open Source
.NET Core / ASP.NET Core is completely open source, and every member of the development community can report problems, provide suggestions, help fix bugs, add new features, and make the platform closer to their needs. Even if the opinion is not accepted at the end, there is still a big move. If you use it, you will change it to cool. The limit of your skill is the limit of system function and performance: P (呃, so you can’t tell the boss later, "This is the platform limit." The way" … Orz)
Summary My opinion: If you plan to eat by ASP.NET in the next five to ten years, ASP.NET MVC must learn, and the job of writing WebForm will become very rare. With MVC skills, you have the money to grab the rice with the young guys. A high percentage of MVC knowledge is still being used to move to ASP.NET Core, and it is right to invest without hesitation.
As for ASP.NET Core, I personally think that although 3.0 is just around the corner, its stability and maturity still need more practical verification, and the third-party component support has not been fully followed up, it is necessary to carry out large-scale commercial transfer. The risks of investigation, but time will eliminate these doubts. I suggest that you can get in touch early and try to practice on small new projects. It should be a good entry angle. Now accumulate strength, and the future market acceptance will become higher, which will help to provide competitiveness. It is advisable to invest early.