哪个Python框架最适合构建RESTf

Python是最受好评的编程语言之一。它因为简洁的语法,高效的编程速度,成为了大众的青睐。对于任何初学者来说,python永远都是他们的首选。自年发布以来,Python已经开发了许多框架和类库,这些框架和类库不仅加速了应用程序的开发,而且还提高了科学计算的研发,并且同时增添了许多图形用户界面。

那么在众多pythonweb开发框架中,django和flask绝对是金字塔尖上的两颗明珠。对于Restfulapi的设计和开发,这两个谁更适合一些呢?

Django

Django是一个全能的Web框架,具有BSD许可证,可以作为开放源代码使用,使用它开发人员可以快速开发出一个Web应用程序。它包括多个软件包,用于处理典型通用的Web开发任务,例如身份验证,内容管理,支架,模板,缓存等。django还提供了专门用于开发REST的框架(DRF),它对于RESTAPI开发和部署非常友好。

DjangoRest框架

DRF是一个开源,成熟的Python和Django库,旨在帮助APP开发人员构建复杂的WebAPI。DRF的模块化,灵活和可自定义的体系结构使开发RESTAPI变得异常容易。DRF是一个使用描述视图和API接口之间映射关系的序列化程序。通过划分模型,概括线路等表示形式(例如JSON或XML)来满足特定的API接口。

Django的优点:

开源框架,有丰富的文档支持功能非常强大,提供各个模块解决常用问题强大的路由系统,可以定制优雅的URL提供集成好的简易后台管理Django的缺点:系统紧耦合,想用喜欢的第三方库来代替是比较困难的,使用补丁也不顺畅自带的ORM不如SQLAlchemy强大。模板功能比较弱,不能插入Python代码,要写复杂一点的逻辑需要另外用Python实现Tag或Filter。FlaskFlask是基于Werkzeug(WSGI工具包)和Jinja2(模板引擎)的Python开发人员的微框架。Flask易于设置且易于使用。与其他框架一样,它具有多种现成的功能,例如内置的开发服务器,调试器,单元测试支持,模板,安全cookie和RESTful请求分派。FlaskRestfulFlask-RESTful是Flask的扩展,为构建RESTAPI提供了额外的支持。Flask-Restful是与现有ORM库一起使用的轻量级框架。Flask-RESTful推荐通过最少的配置达到最快的部署。Flask-RESTful具有足智多谋的路由系统,有了它,你可以做任何自定义跳转。Flask-RESTful提供了基于Flask可插拔的视图资源。可插拔视图提供了一种访问HTTP方法的简单方法。RESTful请求解析器旨在提供对(flask.request)请求对象中包含的任何变量的统一而直接的访问。在大多数情况下,应用程序开发人员更喜欢控制渲染响应数据,并且Flask-RESTful提供了一种机制,您可以在其中使用ORM模型甚至自定义类作为渲染对象。关于此框架的另一个有趣的事实是,应用程序开发人员无需担心会暴露任何内部数据结构,因为它采用一种格式并过滤响应对象。因此,当我们查看代码时,很明显哪些数据将用于渲染以及如何格式化它们。Flask框架的的优点非常灵活,代码简洁,核心代码只依赖WerkzeugWSGI工具箱和Jinja2模板引擎扩展时开发,可以非常方便和第三方库进行集成Flask框架的缺点对于新手的学习曲线较高可选择的第三方库优劣不一,导致项目质量不稳定需要开发人员有大量的经验才能开发出有质量保证的程序总结:可以说python的开发者是非常幸福的,因为它们有两个非常好用的框架来进行web开发,然而如何选择却是一个难题,可能这就是幸福的烦恼吧。对于新手来说,推荐使用django来进行开发,因为你会有更丰富的文档帮助,你会轻松实现你想要的功能。对于性能要求较高的web,推荐使用flask,因为它灵活的配置和友好的扩展接口可以让你编写出更高效地程序。当然,仁者见仁智者见智,两者没有孰强孰弱,都是非常棒的框架,如果你有时间的话,两者都可以学习一下,也许你会从此爱上这两个框架。




转载请注明:http://www.aierlanlan.com/grrz/5223.html