When the company chose spring + hibernate + webwork2 as the company's development framework three years ago, one of our project managers raised a lot of concerns and a lot of arguments took a lot of time. However, after having experienced a maintenance nightmare, the Project Manager can also use an automatic generation tool to generate Dao. Code Now he can use one person to maintain all the projects of a customer.
Below are some of our thoughts on choosing a framework, hoping to inspire readers.
1) First, let's look at the effect on maintenance.
In fact, there are a lot of arguments that are meaningless. For example, without a big premise, it is only a waste of time to argue about UNIX and windows. Similarly, a website can use more than 10 Technologies, A company (especially a small company) should adopt a framework that best suits the requirements of its customers as its primary development platform, which should be easy to train new users and maintain.
2) Select a balance point between closed and open
Too open and flexible will lead to a relatively high learning curve, so it is better for others to directly use native tools; being too closed is more secure for the company (for example, some company's components only have binary code and instructions), but it is not good for the future of developers. If the staff cannot stay, in the end, it will slow down the company's competitiveness.
3) continuous accumulation and continuity are normal.
When we were training new users, we stressed that although we had stood on the shoulders of others using a framework, it was still a starting point rather than an end point! When a framework is initially used, it will certainly find that many functional frameworks required by customers cannot be provided. So gradually accumulate components through the project. Do not always copy and paste components for development. So that every developer has the opportunity to become a contributor to the framework and Component Library. Such a cultural atmosphere cannot be copied by other companies.
Llano's three versions are integrated as follows:
Llano for Java
Extjs/JSON-lib/spring/hibernate/sitemesh/freemarker/log4j/JUnit
Llano for. NET 2.0
Extjs/JSON. Net/nhib.pdf/log4net/nuunit
Llano for. Net 3.5
Extjs/JSON. Net/LINQ/log4net
In fact, there are still many good frameworks, such as Teddy's nbear and Pisces's kanas. net. What should we choose mainly depends on the number of user groups and the learning curve of the team. We chose Hibernate and only used less than 10% of the functions. The main consideration is to keep the adaptation time in Java and C # programming switching as short as possible.
Alex 7-10