What are the main differences between the popular web frameworks?

前端 未结 3 659
你的背包
你的背包 2021-02-08 05:44

There are lots of web application frameworks available these days, for pretty much every language out there. In your experience, what are their strengths, weaknesses, and uniqu

3条回答
  •  不思量自难忘°
    2021-02-08 06:18

    I am going to briefly address each area for three popular Python frameworks. This is only based on my personal experiences and observations.

    Development speed and convenience

    For TurboGears, Pylons, and Django, development speed is roughly equal. Being modern frameworks, it's easy to get started on a new site and start throwing together pages. Python is famously fast to develop and debug and I would put any Python framework as having a shorter development time than any other setup I've worked with (including PHP, Perl, Embedded Perl, and C#/ASP.Net).

    Barriers to entry - developer training and infrastructure

    If you know Python and are willing to watch a 20 minute video tutorial, you can create a fairly complete wiki-type site from scratch. Or you can walk through a social-bookmarking site tutorial in 30 minutes (including installation). These are TurboGears examples but the other two frameworks have nearly identical tutorials as well.

    The test/development infrastructure that comes out of the box with these frameworks is generally enough to complete most sites. At any point, you can swap out components to meet your production environment requirements. For example, SQLite is fine for setting up your models and loading test data, but you will want to install MySQL (for example) before going live or storing large amounts of data.

    In all cases, the requirements are very low and dictated entirely by your scalability requirements and not any peculiarities of the framework. If you are comfortable with a certain template language or ORM, it will probably plug right in.

    Lock-in

    This is a generalized problem across all frameworks. When you select a language, you limit your code-reuse options. When you select a templater, you are again locked in (although that's easier to change, in general, than other things). The same goes for your ORM, database, and so on. There is nothing these frameworks do specifically that will help or hinder lock-in.

    Flexibility

    It's all about MVC with these three frameworks. As you said, that's a very different discussion!

    Performance, scalability, and stability

    Well, if you write good code, your site will perform well! Again, this is a problem across all frameworks addressed by different development techniques and is probably way outside the scope of this answer.

提交回复
热议问题