zoukankan      html  css  js  c++  java
  • bottle flask 框架对比

    Flask:Flask是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功 能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
    bottle:是Python的一个简单、快速和轻量级的WSGI微型Web框架,整个框架只有一个文件模块,除了Python 标准库之外,没有其他依赖项。

    对比几点:

    1. 如果只看 hello world 的 demo,这两个应该没啥区别。 不过如果你愿意,flask 是可以和 django 同规模的框架,不同之处在于 django 是组装好的家具,flask 要你自己拧螺丝。
    2. 说实话,虽然看起来bottle设计的更简洁,但是实际开发的时候,就会觉得flask设计的更贴心,比如url_for,模板里面用config,等等
    3. Bottle作为一个微框架,本身确实有些小型项目的缺点,尝试列举如下:
      • 没有原生支持unicode

    例如route('/

    ')获取的name并不是unicode类型,get和post的参数也默认并非unicode类型,虽然作者后来在0.10版本中给query和forms加入attr方式来解决这个问题,但是还是有所限制

    而flask则是 unicode based,对unicode支持的非常好

      • 影响力小,与其他组件的结合比较差

    一个典型的例子就是wtforms不支持bottle的files字段,而flask虽然也不支持,但是flask的插件flask-wtforms则完美修正了这个问题

      • 功能太基本

    关于这一点,可以说是优点也可以说是缺点。绝对的纯粹看起来是件好事,但是真正开发起来又发现完全不是那么回事,自己要重新开发的轮子实在太多了。比如session的支持

      • bottle由个人开发,有些地方并不那么专业

      反观flask,不能说flask的一切都是好的,但是确实在这几点上要比bottle做的要好一些,而且flask还有一些很实用的功能,比如实时debug,还有一些很实用的函数如url_for,而且flask与django确实有很大的相似性,这对flask本身的成熟度有很大的提高。

    4.当然,实事求是,flask确实在设计上要比bottle复杂了很多,而且依赖了werkzeug,Bottle 自身并没有提供Session的支持,,可以使用beaker中间件或自己实现。

    对比文章 :

    https://codeahoy.com/compare/flask-vs-bottle

    https://www.9spl.com/blog/what-is-unique-flask-compare-microservices-based-frameworks/

    对比django flask 文章:

    https://www.monocubed.com/flask-vs-django/

    https://www.sankalpjonna.com/learn-django/flask-vs-django-in-2021

  • 相关阅读:
    IntelliJ IDEA注册码
    linux中patch命令 -p 选项
    设备文件简介
    《算法导论》——矩阵
    《算法导论》——数论
    linux常用查看硬件设备信息命令(转载)
    netstat和telnet命令在Windows7中的用法(转载)
    c++容器使用总结(转载)
    离散数学——数论算法
    c语言中内存对齐问题
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/15661647.html
Copyright © 2011-2022 走看看