Current Software Technology Route

Source: Internet
Author: User
Tags dotnet

I. Software Development Technology

1) server side

In the past five years, Java has remained mainstream, not only because of its popularity and legacy system problems, but also because almost all Microsoft companies have invested in Java, in addition, open-source is a force that cannot be ignored: apart from the Java open-source framework, some Linux are also driving the popularization of Java Enterprise Applications (do not forget that DOTNET can only run on Windows Server)

DOTNET has its own advantages, but it cannot reach an average with Java within five years, not only because of the advantages of Java popularity, but also because of the open-source community's promotion of Java, not only are other large companies investing in Java, but the nature of many companies determines DOTNET's exit, such as the Telecom, financial, and e-government industries, it is impossible to use DOTNET.

Python and Ruby are not yet the start, but they are very competitive. However, for the above reasons, they still cannot become the mainstream.

In Java server-side technology, there are two clear routes: high-end commercial routes: ejb3 and j2ee5.0; low-end open-source routes: Hibernate and spring. The two routes also overlap. For example, the open source struts is almost the J2EE Web layer standard, and the Open Source hibernate lays the foundation for ejb3. However, the route is not based on technical differences, but on commercial operations. Companies that focus on technical support and commercial services will choose the former, while companies that focus on cost control and freedom of choice will choose the latter.

The commercial route technical solution is ejb3 + struts;
The technical solution of the open-source route is spring + hibernate + Struts/webwork.

Struts is a very successful open-source framework, and its position cannot be shaken in a short period of time. javaeye has a mission to shake struts's position in the Java Web field and drive it down to the throne, add webwork to the upper position!

Jstl is a good commercial web layer technology, but there is a big gap with flexible template languages such as freemarker. JSF is basically nothing promising. Commercial web layer technology has never been well applied, which also leads to the upper level of struts.

I am very optimistic about ejb3 in terms of the service layer and persistence layer framework on the server end. I don't have to talk about the reason. in commercial terms, multinational companies also need such a product to sell, to replace the bad ejb2. In the open-source solution, spring + hibenrate is an open-source alternative to a good commercial solution. They do not directly compete, but are complementary. Here, JDO is rather embarrassing: JDO is a commercial product (currently there is no good open-source implementation), so open-source applications will not be interested in it, JDO does not have an isolated environment like the EJB container, which makes the business solution not interested in it. However, with JDO, I think it is very advantageous for ejb3 to form a good competitive environment for hibernate.

2) Client technology

Specifically, it is an RIA application. Although I made positive comments on XAML, I think I have made some mistakes in the previous conclusions. After this time, I think that, after years, XAML may not be a very successful solution. Principle 2:

1. XAML brings more serious security problems than ActiveX.
In essence, XAML is a local application.ProgramAlthough it is said that it can be run in IE browser, ie is just a piece of cake, and The XAML application has full access to local resources (even if the IE limit is useless, the IE limit will be lost, in that case, functions will not come more than JavaScript; if there is no limit, you can do whatever you want), so as long as IE has the ability to run XAML, hackers can easily intrude into the website through IE. This only requires users to access a malicious webpage without knowing it! You must select either to prohibit ie from running the XAML or to be attacked at any time.

2. The XAML application is essentially an RIA application, so a large number of RPC calls are required.
Currently, XAML uses XML Web Services for communication, which is an inefficient RPC. In the current XAML case, I have not noticed the RPC field. In fact, based on my current RIA experience, RPC is definitely not a simple task. There are many issues to consider, in addition, you need to make comprehensive considerations on the client and server side, especially the design of the domain object model on the server side. We know that DOTNET has not started in O/R Mapping.

In the current phase, there are two most practical solutions available:

1. Ajax
In fact, it is JS Asynchronous interaction based on XMLHTTP, which has been around for many years. Recently, with the launch of Google applications and Sun blueprint, it has become very popular. I had a negative attitude towards this thing, but then changed. One premise of my previous negative attitude is that XMLHTTP lacks a mature component library! But I didn't expect that XMLHTTP has sprung up since the second half of last year. The biggest benefit of Ajax applications is to make full use of existing resources. I think it should be the first choice for Ria applications.

2. Flash
Flash has obvious advantages, including powerful as support, powerful component visualization design, powerful interaction capabilities, and dazzling user experience. Flash remoting is also very mature. The disadvantage of Flash is that although flash is embedded into a webpage, it has no data interaction capability with the webpage. Another disadvantage of Flash is that flash is not suitable for processing a large amount of text content (HTML is the most suitable ). Some people are beginning to abuse flash.

Therefore, the better method may be mixed. Generally, complicated interactions are handed over to Ajax, which is complicated and even required to be dragged and handed over to flash.

Summary:

In the software development field, the server-side technology Java is the mainstream. There are two technical routes: ejb3 and spring + hibernate. In addition, ibatis also has a place. The client technology is Ajax and flash.

Ii. Database Technology

Basically, the structure will not change much. Oracle is still high, and SQL Server is further encroaching on the territory of other databases on the NT platform. In terms of open source, MySQL will stand out from each other, but there is a huge gap between open source databases and commercial databases in many aspects. This also makes the status of commercial databases irreplaceable. I will pay more attention to Oracle and MySQL databases. Object-Oriented Databases still do not have any improvement.

Iii. Desktop Programming Technology

I still believe that for desktop applications, localCodeSo I always think that the efficiency of a thing like XAML is really a problem. Longhorn must be mature and not the first version. The current desktop application development technology is still the first to adopt Delphi, But I think python is a rising star, and it is very likely to replace Delphi in the future.

Related Article

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.