How to select a suitable Web development framework for your project? -Php Tutorial

Source: Internet
Author: User
How to select a suitable Web development framework for your project?

How to select a suitable web development framework for your project? First of all, for a software development start-up company, this is more like a business choice than just a technical choice, time, manpower, material resources, and other expenses must be fully considered. Once the company's scale reaches the capital limit, the available space will be larger, or even the migration or re-architecture will be possible. Ramigbtech, author of the original article, summarized the following 10 points for reference. The translation is as follows:

1. Syntax

A language with an elegant syntax can undoubtedly make programming work more comfortable, but sometimes we are easily blinded by the appearance. if you decide by intuition, "this is text ". split (''). reverse. join ('') "". join ("This istext ". split ('') [:-1]) is better or worse, so this is only the appearance Association. In fact, we should focus on whether it has limitations or whether the syntax is cumbersome, we ourselves or our team will be grateful for the original choice to complete equivalent work with less code.

2. Functions and body types

Do we need to write complex regular queries for routes? Does a route contain a built-in DSL? Do we need to use ORM? Maybe we want to have more other features. We recommend that you select a lightweight framework to start with. in the future, we will be able to contribute to it.

3. document resources

A framework with rich documentation resources can be used with less effort. For example, when I was learning CodeIgniter, I didn't have to look around for answers like a headless fly. the tutorials and examples I provided were very careful. Relatively speaking, I had a hard time learning ExpressJS.

4. automatic code generation

The automatic code generation function in the framework usually saves us a lot of time. we only need to process controllers/classes and hand over other repetitive coding work to the framework, although sometimes you cannot customize it freely, it is of positive significance to quickly develop a running prototype.

5. modularization

Django is amazing in terms of module/Apps processing. it not only makes code reuse simple, but also helps us cultivate good modular thinking. When we no longer need the X module, we only need to remove it and rebuild the code.

6. Infrastructure

Whether it is LAMP, MEAN stack, or Rails/Unicorn, the most important thing is whether we have a good understanding of this architecture and whether we have the maintenance capability of related components. If the front-end and back-end of the application are related to Javascript, using the MEAN stack architecture is a good choice.

7. community and update speed

Is the community related to the framework active? Are there any technical experts? Will the official StackOverflow often help you solve technical problems? Finding the perfect answer to these questions is difficult, but most of the time the numbers are the most authentic. Date or engagement/post popularity are good metrics. In addition, the patch update speed is also critical, and the emphasis on security and vulnerabilities can be said to be far-fetched.

8. major changes

Just recently, many programmers were shocked and frustrated when they heard the major change of Angular 2.0. although it will be completed later in 2015, the thought of the code that worked so hard will become a thing of the past, how can this problem be solved? Another example is the Yii Framework. the release of the new version 2.0 means that the previous version is completely rewritten.

9. Deployment and dependency

Is it easy to deploy? Can it be extended easily? How much time does it take to learn about deployment tools? Although tools such as Docker can help us answer the above questions, it is necessary to extract time to think about this problem.

10. Manpower

Can we quickly find the corresponding development talents? Is the framework to be used popular in our region? Even though training is part of management, time and money for start-ups have to be carefully calculated.

Conclusion:

For medium-sized websites, I will select Django. If I cannot determine the size of the website and how much development effort will be invested, I will select Rails. If I don't want the frontend and backend jobs to be too open, I will choose MEAN stack.

Free download lamp Brothers original php video tutorial CD/detailed php Essentials edition, details consulting official website Customer Service: Baidu lamp brothers


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.