Why am I opposed to using JS technology frameworks similar to ext in actual projects?

Source: Internet
Author: User

 

The latest project is being implemented. I am a new employee in the project team. I am not familiar with the business. The first phase of the project was delivered on July 6, June 1, the coding and testing time in the implementation plan is only one month, and the general functional modules are about 30.

At present, nine of the entire project team are developing basic business modules, and the company's original business developers are basically scattered.

 

In the technical framework of Project software implementation, the project manager proposes to use dojo to present the presentation layer.

Java background processing is integrated using the SSI framework. I mainly undertake the establishment of the core architecture or the design of a business system. For dojo, I know that it is basically 0, but I have read the introduction and demo in general, the general feeling is that it is similar to ext's Js technical framework. Other people in the project, except the project manager, have never used it, but do not specifically describe it in any project. For SSI technology, the overall familiarity is 70%.

 

I am very worried about the use of the front-end dojo presentation. After many times and the Project Manager is always fruitless, the degree of determination is rare. I firmly oppose the use of dojo for the following reasons:

1. The overall project team has started from scratch on dojo, And the development progress and steps of getting started must be greatly delayed in the early stage;

2. the project code + debugging takes only one month, and the current system is V1.0, which is also the key to long-term customer capture. If the customer cannot have a basic satisfaction with the current version, in the later stages, the second phase and other basic components were instant drinks;

3. similar to ext, dojo, and other JS technical frameworks, it seems convenient and suitable for the outside world. However, if you really want to use them well in the project, you must have the necessary conditions, I 'd like to sell a token first. I will go to the specific analysis below;

4. if ext and other frameworks are introduced, the tight coupling between each component and its kernel will inevitably lead to poor scalability and maintainability. If you cannot understand the internal principles in detail, this will inevitably lead to significant investment in the development process and system maintainability;

5. The customer's personalized requirements cannot be quickly responded and modified at all. The root of the problem is to thoroughly understand the kernel of the framework;

6. js debugging and Bug Locating and tracking are cumbersome, and software developers feel the same. According to the JS debugger and bug location of IE, Visual Studio can complete one-step debugging of Js;

7. although ext and other frameworks are open-source, their JS Code is obfuscated. I have looked for many JS client tools, but basically the result is only about 80%, it is not an overnight task to understand;

8. If there is a compatibility problem with the browser version, it will be disastrous, not to mention anything else. The compatibility of different versions of Internet Explorer is hard to meet;

 

Based on the above reasons, I have come to the conclusion that we should not confuse your mind and programming ideas with its varied demos. If we say that a web program can be compiled through a component combination, I advise you not to think about it. If this is the case, the high school, secondary school, or non-graduate school can also produce good programs. Many people may disagree with me that many technical experts are originally high school students and middle school students, but I would like to ask, there are several such people in Beijing, Shanghai, Guangzhou, in Shenzhen, where software is relatively intensive, several companies are looking for software engineers to require a high school or secondary school degree.

 

Back to our project team, why have the project manager insisted on using dojo? In the process of communicating with him, I came to the following conclusion:

1. his understanding of web programs is simply a layman, because he always assumes that using components such as Dojo to combine a basic page can better unify the overall system style, during the development process, you only need to define the interface or method in the day after tomorrow through the data format required by the component to complete the compilation of the module, but he ignored one point, if programmers rely solely on the APIS provided in the JS framework to guide your backend to complete data combination, I would like to ask, do web programs all reside in page development? So why do we need solutions such as spring, hibernate, structs, and ibatis to store data and perform logical judgment, just embed <= %> <%> in JSP to save Dao/service/Action, IOC, and AOP?

 

2. due to the great changes in the company's staff this year, the current project team members are basically new personnel groups, including project managers, the success or failure of the current project or the effect of implementation is the process that the company affirmed for all the project team members, so he hopes to use something of his own to prove himself, but now the biggest bottleneck is that he is also a layman for dojo, sadly.

 

My foreseeable project development process

 

Huge obstacles to the entire project team during the coding process:

If you are ready to write code later in the existing mode, the progress will inevitably be seriously lagging behind. This is an ideal situation. If you encounter an associated JS syntax error, it will be a cup of cake;

 

Maintainability after project launch:

Even if the project is successfully launched, we are likely to be overwhelmed by customers' personalized needs. The huge modification tasks will not be met. Of course, it is also an ideal solution to make modifications;

 

Continuous overtime during coding:

Due to the early familiarity process and step, the development progress will inevitably lag behind. The final result is the programmer's home cooking-overtime ....

 

Project Final result:

If the current JS framework is well integrated with the day after tomorrow, the project team members will be able to get started quickly. After working overtime, the project will be launched compact, and we will be successful; if many changes are involved or some JS file errors occur, and the customer's personalization needs to be frequent, it may end up failing, the new people in the entire project team will inevitably stay in the trial period or be eliminated...

 

With regard to the above issues, I have made negotiations with the project manager many times, and the results have all been unsuccessful, helpless .........

 

 

I sold a token above. In what cases do I use ext and other JS framework technologies for system development? I come to the following:

1. People with sufficient internal force and energy are responsible for in-depth understanding and use of the entire JS framework;

2. Excellent JS debugging technology;

3. with good JS optimization capabilities, we all know that there are many data loading methods (XML, JSON, and file) in Ext. If it is used in the system, only one mode is required. Otherwise, you need to block or cut it down to reduce the JS file size to speed up service loading;

4. the project team has excellent artists. Similarly, there are many types of skin styles in ext, and only one of them is used in the system. The optimization of style files also needs to be completed by the artist, to reduce the size of the Style File;

5. the last point is not limited to the use of the JS framework. A strict discussion and technical review are required to use any technical framework in system development to fully and comprehensively test its stability and efficiency, use Data to speak, instead of being limited to seeing that ext encapsulates a tree/datawindow and so on: nice-looking, easy to use. If so, your project needs to be on thin ice during the opening process-you do not know where the real traps are, and you do not know how to properly escape the predicament.

 

(I used to be a project manager, so I can think of these problems. Of course, my understanding may be superficial. please correct me if there is anything wrong with it)

I wrote about it. I went out to play today. I am very tired. I have to take a rest. I want to write more about it next time .........

 

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.