How to choose the appropriate web development framework for your project? First of all, for a software development startup, this is more like a business decision than just a technology choice. All expenses such as time, manpower, and material resources must be carefully considered. Once the company scales up and funds are no longer an issue, the options become wider and even migration or re-architecting can be carried out. The original author Ramigbtech summarized the following 10 points for reference. The translation is as follows:
1. Grammar
A language with elegant syntax can undoubtedly make programming work more comfortable, but sometimes we are easily deceived by appearances. If you intuitively believe, "this is text".split(' ' ).reverse.join('') is better or worse than " ".join("This istext".split(' ')[::-1]), then this is just a superficial association, in fact we should be more Whether it is inherently limiting or the syntax is cumbersome, we or our team will be grateful for the choice to do the equivalent work with less code.
2. Function and size
Do we need to write complex regular queries for routing? Does the route have built-in DSL? Do we need to use ORM? Maybe we want to have more features. It is recommended to choose a lighter frame as a starting point, and we can add to it later.
3. Documentation resources
A framework with rich documentation resources is really easy to use and gets twice the result with half the effort. For example, when I was learning CodeIgniter, I didn’t have to look around for answers like a headless fly. The tutorials and supporting examples that came with it were very careful. Relatively speaking, it was more difficult for me to learn ExpressJS.
4. Automatic code generation
The automatic code generation function in the framework can usually save us a lot of time. We only need to handle the controller/class, etc. and leave other repetitive coding work to the framework. Although there are You cannot freely customize it at this time, but it is of positive significance if you want to quickly develop a working prototype.
5. Modularization
Django is amazing at handling modules/Apps. It not only makes code reuse easy, but also helps us develop good modular thinking. When we no longer need the X module, we just need to remove it and refactor the code.
6. Infrastructure
Whether we are using LAMP or MEAN stack, or Rails/Unicorn, etc., the most critical thing is whether we have enough understanding of this architecture and whether we have the ability to maintain related components. If the front-end and back-end of the application are related to Javascript, adopting the MEAN stack architecture is a good choice.
7. Community and update speed
Are the framework-related communities active? Are there any technical experts taking charge? Will officials often go to StackOverflow to help solve technical problems? It can be difficult to find perfect answers to these questions, but most of the time the numbers are the truth. Date or engagement/post popularity are both good metrics. In addition, the speed of patch updates is also very critical. Whether you pay attention to security and vulnerabilities can affect the whole body.
8. Major changes
Just recently, many programmers were shocked and crazy after hearing about the major changes in Angular 2.0. Although it will not be completed until later in 2015, the thought of working hard to do a good job All the codes will become the past tense, so how can we be content with it? Another example is the Yii framework. The launch of the new version 2.0 means a complete rewrite of the previous version.
9. Deployment and dependencies
Is it easy to deploy? Can it be easily expanded? How much time does it take to learn the deployment tools? Although there are tools like Docker that can help us answer the above questions, it is still necessary to take time to think about this issue.
10. Manpower
Can we find the corresponding development talents quickly? Is the framework that will be used popular in our area? Even though training is part of management, for startups, time and money must be carefully managed.
Written at the end:
If it is a medium-sized website, I will choose Django. If I'm not sure yet about the size of my site and how much development effort I'm going to put into it, I'll choose Rails. If I don't want to separate the front-end and back-end work too much, I will choose the MEAN stack.
Get Lamp Brothers’ original PHP video tutorial CD/"Explain PHP in detail" for free. For details, please contact the official website customer service: Baidu Lamp Brothers
|