Discussion: I will look at the application prospects of Microsoft. NET in various sub-Technical Fields
Jin xuliang
Released in 2002. NET 1.0, after eight years of development ,. NET has grown to 4.0, and has become a huge and complex software development and operation platform. Its architecture is increasingly complex, and its application fields are constantly expanding, it has embraced a "Bunch" of sub-technical fields. In. NET 4.0 is about to be released. NET technology, to see which technologies are very popular, and which are attacked in the Cold palace, and then guess. which of the following technologies may be "favored" in NET 4.0 is interesting.
1. Desktop Application Development Technology (Windows Form and WPF ).
In. in the field of NET desktop application development, Windows Form is a "predecessor", which is much more efficient than the previous ancestor MFC, therefore, Windows Form becomes. NET desktop mainstream technology, and there are a large number of a variety of 3rd-side controls, its functions can be described as everything, easy to use.
The problem with Windows Form is that it takes a lot of effort to make a "distinctive" interface.
The WPF in. NET 3.0 is much better than Windows Form in interface design and user experience, such as its powerful data binding, animation, dependency attributes, and routing event mechanisms. However, performance is the biggest headache for WPF. In addition, in scenarios requiring rapid prototyping, WPF is not as convenient as Windows Form.
. NET 4.0, WPF has a great improvement in performance, which is very obvious in Visual Studio 2010 developed by WPF, visual Studio 2010 CTP and BETA1 can only be described with the word "miserable". BETA2 has a strong personality, however, it is still not a "crash" or "death" trick. However, in the current RC version, I think its experience has exceeded that of VS 2008.
I think,WPFReplacing Windows Form is inevitable..
2. Data Access Technology
(1) ADO. NET. This is needless to say. It is used too much in actual development, and facts prove its success.
(2) LINQ.
This is also a big field, and the best one in it isLINQ to ObjectI liked it.
LINQ to XMLIt frees programmers from the code and completes most of the XML access functions, so that everyone is very happy to have the opportunity to interact with the original. NET ".
LINQ to DataSet. As a supplement to ADO. NET technology, this is an insignificant small entity that can be used or directly ignored during development.
LINQ to SQLAnd ADO. NETEntity Framework.These two technical features overlap, and it is basically doubtful that one of them is "not necessary". Therefore, there are rumors that "LINQ to SQL is dead. Of course, Microsoft said later that it would continue to develop a later version of The LINQ to SQL statement, and the debate subsided.
However, I personally think it is more appropriate to use the ADO. NET Entity Framework in actual development. Some functions of LINQ to SQL are available, and they are more flexible to use. What is rare is that they are not much more complicated to use than that of LINQ to SQL.
The ADO. NET Entity Framework extends to other technical fields and is an important basic data access technology.
Therefore,ADO. NETEntity Framework vs LINQ to SQL, The former wins.
(3) WCF Data Service.
This is a very noteworthy technology, originally called ADO. NET Data Service, which embodies the idea of "Data is a Service" and allows Data to be directly obtained through HTTP requests. It designs a set of URI modes, it provides projection, selection, and paging functions, making it easy and flexible to use.
I think that in the distributed system era where SOA is widely used, the WCF Data Service should be applied.
However, this technical problem lies in performance. Because data needs to go through the Internet, if the network speed is slow, the user experience of applications built based on this technology will be "terrible ". In addition, the security of Internet services is critical. To ensure the security of Application Data built based on the WCF Data Service technology, developers will surely have to worry about it.
(4) Wcf ria Service.
This technology is inseparable from Silverlight. I have not yet systematically understood this technical field and will not comment on it.
3. Web Development Technology
In this field, Web forms in ASP. NET are well-deserved mainstream. After years of development, Web Form has become highly mature. The AJAX components added to VS 2008, such as ScriptManger and UpdataPanel, are combined with a bunch of AJAX-applied controls to make Web forms even more powerful. Developing Web websites based on this mature technology gives users and development enterprises peace of mind.
Since. NET 3.5 SP1, there have been some new things in the Web field.
(1) ASP. NET MVC. The MVC design model has a long history and has many mature frameworks. on the "official" platform of NET, it is a new "member" and is not mature. I think its application prospects should be further discussed. I don't know if there are any projects developed based on this technology in the industry. If you have any project experience in this area, please share your thoughts.
(2) ASP. NET Dynamic Data. This is a cool-looking technology. When you use it to create a website, Visual Studio 2010 will help you create a DynamicData folder with dozens of template files in it, and build a website's "scaffold" without coding, you can generate a full-featured "CRUD" data-driven website.
It has a good design philosophy: the bottom layer uses the ADO. NET Entity Framework or the LINQ to SQL to construct a data model. by extracting the metadata in the data model, it dynamically selects an appropriate template to generate a webpage. This avoids the need to design different web pages for each data access task in a real project, and this technology provides many ways to allow you to customize your website.
I was very excited when I first got in touch. This is a good thing! But then I changed my mind that the problem with this technology was that it was too "Automated" and needed to accommodate dozens of files so that it could communicate with the existing ASP.. NET website integration is inconvenient and difficult to configure.
I personally think,In the existing. NET Web development technology application status quo, any one with the existing ASP. NET websites (using Web Form + AJAX as the main technology) to integrate troublesome technologies, it is difficult to have a bright future.Unfortunately, ASP. NET Dynamic Data is an example of ASP. net mvc has the same problem, but there is no ASP. NET Dynamic Data is serious, and ASP. net mvc Architecture is clear and easy to maintain.
(3) Silverlight. This is actually another technology representative of the Web application architecture. its foothold is that the full use of the client's computing resources can greatly reduce the dependence on the server, and it is easy to build a good user experience, I personally think it is quite promising. It is a technology that requires attention.
4 plug-in technology
. NET 4.0 introduces a"Managed Extensibility Framework(MEF)", I strongly recommend it here!
By simply attaching "[Import]" and "[Export]" to the Code, MEF can clearly indicate the relationship between "service consumption" and "service provision" between components, at the underlying layer, MEF uses reflection to dynamically complete component identification and assembly. This simplifies the development of plug-in-based application systems. Cool technology!
In addition, please forget the"MAF(Managed Add-in Framework)", MAF introduced a complex communication pipeline architecture between the host and the plug-in, just to create a simple SayHello host and plug-in, you must also create up to 8 projects!
The most terrible thing is that MAF designers "think too much", design complex interfaces and class inheritance systems, and choose to let the plug-ins run in different application domains than the host, this makes communication between the plug-in and the host complex. I personally think that these are really not a good design decision.
I guess,MAFWill be "endless".
5. WCF and. NET Remoting
In fact, this is a question that does not need to be discussed. What should I do with Remoting with WCF? Because the former embraces all the functions of the latter and provides more.
The problem with WCF is that Microsoft tries to use a framework to solve all the problems, so its architecture is very complicated. Anyone who wants to explore its underlying operating mechanism, be prepared and patient.
We can see the penetration of WCF into other fields, such as the previous WCF Data Service and Workflow Service (publish a Workflow as a WCF Service ), it seems that Microsoft has moved "Bao" to WCF,Microsoft has the urge to transform it into a WCF Service.
Therefore, WCF is a technology that has to be learned and mastered.
6. multithreading and parallel computing
I have already written many articles about parallel computing. In the multi-core era, I think that in. NET parallel computing, the parallel job library and parallel LINQ will get a lot of applications.
7. Workflow
I think Microsoft screwed up this technology. The workflow was introduced from. NET 3.0 to. NET 3.5, which has been well-developed and has some practical applications. However. NET 4.0 is a different product. Compared with WF3.5, WF4 is simply another product. In addition, compared with BETA1 of WF4 and BETA2, WF4 has made great changes to the object model, I haven't looked at WF4 in the RC version. I don't know what changes have to be made. Should it be changed ?!
For such a "Chameleon", who will use it.
8. Functional Programming Language F #
Functional programming is very interesting. In VS 2010, F # became a formal member of. NET. F # many features, such as immutable data structures, Declarative Programming styles, powerful type inference, and expressions, it makes programmers accustomed to the object-oriented style feel novel.
I personally think that F # will be highly efficient if used to develop multi-threaded parallel computing programs, and functional programming will also make it better in scientific computing. But it is used to develop MIS systems such as CRUD, at least for now.
9 cloud computing
Visual Studio 2010 integrates a cloud computing Development Project template.
Cloud computing is an endless topic. Microsoft has invested heavily in this field. It has carefully created the Azure cloud computing platform. The best way to learn about Azure is to read "david chappell"'s article "introducing windows azure", which can be found on the Microsoft website.
Although I personally agree that cloud computing is a major development direction, this technology is a bright landscape in China,For viewing only. Because there is no mature cloud computing platform in China, and Microsoft's Azure is not yet available to purchase cloud computing services in mainland China, coupled with China's special national conditions, everything is just a castle in the air.
Cloud computing is actually used in China. Please wait.
10 Summary
What I know above. NET technology once again, because I am not working in the industry, plus. the NET field itself is huge and limited by the individual's ability. Therefore, this article cannot escape the dilemma of "Talking on paper" and "leaving nothing to worry.
If there is any error in this article, please correct me.