网页设计优秀案例Python中所有的网站开发库(Web框架)学习参考

用了2周的时间整理了Python中所有的网站开发库(下文简称:Web框架),供各位学习参考。

Q:Web框架到底是哪个?

A:Web框架主要用于网站开发。开发者在基于Web框架实现自己的业务逻辑。Web框架实现了这些用途,为推动业务逻辑提供了一套通用办法。

Q:Web框架有哪些作用?

A:使用Web框架,很多的业务逻辑外的用途不应该自己再去建立,而是使用框架已有的用途就可以。Web框架使得在进行网站开发的之后,减少了工作量。

Q:我们为什么要使用Web框架?

A:Web框架主要用于网站开发,可以推动数据的交互和业务用途的健全。使用Web框架进行网站开发的之后,在进行数据缓存、数据库访问、数据安全校验等方面,不应该自己再从新实现,而是将业务逻辑相关的代码写入框架就可以。

库排序是根据使用数量和文档的活跃度为参考进行的,建议你们使用排名靠前的框架,因为他们的文档更齐全,技术积累要更多,社区更繁盛,能受到更好的支持,这样在遭遇自己能够缓解的难题,可以更快更高效的找到解答的方案。

1.Django框架

官网:

优点:是一个高层次PythonWeb开发框架,特点是研发快速、代码较少、可扩展性强。Django采用MTV(Model、Template、View)建模组织资源,框架功能丰富,模板扩展选择最多。对于专业人员来说,Django是当之无愧的Python排名第一的Web开发框架。

缺点:包括一些轻量级应用不应该的用途模块,不如Flask轻便。过度封装很多类和技巧,直接使用非常简洁,但改动起来非常困难。相比于C,C++性能,Djang性能下降。模板实现了代码和风格完全分离,不允许模板里出现Python代码,灵活度不够。另外学习曲线也相对陡峭。

2.Flask框架

官网:

优点:Flask是一个PythonWeb开发的微框架,严格来说,它仅提供Web服务器支持,不提供后端开发支持。然而,Flask非常轻量、非常简洁,基于它建立Web平台都以分钟来计时,特别适合小微原型平台的研发。花少时间、产生可用系统,是相当便宜的选择。

缺点:对于大型网站开发,需要设计路由映射的规则,否则造成代码混乱。对新手来说,容易使用低品质的代码构建“不良的web应用程序”。

3.Pyramid框架

官网:

优点:是一个扩展性很强且灵活的PythonWeb开发框架。上手非常易于,比较合适中等规模且边开发边设计的画面。Pyramid不提供绝对严苛的框架定义,根据意愿可以扩充开发,对高阶程序员非常友好。

缺点:国内顶尖度不高,高级用法应该通过阅读源代码获得灵感。默认使用Chameleon模板,灵活度没有作为一个要素。

4.web.py框架

官网:

优点:正如其名,web.py是一个引入Python作为研发语言的Web框架,简单且强大。俄罗斯排名第一的Yandex搜索引擎基于这个框架研发,GuidovanRossum认为这是最好的PythonWeb框架,还必须说别的吗?有事实作证、有大牛认可,用上去吧!

缺点:Web.py并未像其它框架一样维持与Python3兼容性的最新状况。这除了意味着缺少对异步语法的支持,还意味着缺乏对已抨击的函数的错误。此外,目前尚不知道维护者能否有计划在Python2到达其支持生命周期结束后维持Web.py的最新状态。

5.Tornado框架

官网:

优点:Tornado是一个基于异步网络功能库的Web开发框架,因此,它能支持几万个开放连接,Web服务高效稳定。可见,Tornado适合高并发场景下的Web平台,开发过程必须采取Tornado提供的框架,灵活性较好,确定场景后再考量使用不迟。

缺点:Tornado5.0改进了与Python的本机异步功能的集成。因此不再支持Python3.3,并且Python3.5用户需要使用Python3.5.2或更高版本。Tornado6.0将必须Python3.5及更高版本,并将完全抛弃Python2支持。

6.TurboGears框架

官网:

优点:TurboGears最新版本试图解决TurboGears最初版本、Django、Rails等框架缺陷,它支持多数据库、JavaScript软件集、多种数据交换格式等,当然,它研发更加高效,扩展性很强。试问它与Django哪个更好?还真不好说,Django社区更为活跃或许更重要。

缺点:TurboGears的一些特点包含管理用途较为基础,较少的第三方应用程序或者只有高级的文档。TurboGears的一个重大挑战是它的压倒性。因为它风格的其它模块都提供无限的灵活性,当企图决定哪些路径来完成一个任务时它是极其复杂的。

7.CherryPy框架

官网:

优点:CherryPy能够让开发者根据其它面向对象程序相同的设计方式研发Web平台,进而采取最少的代码、最简单的方法。CherryPy已经开发了10年之久,稳定性较差,非常合适小体量Web平台和单纯的Python程序员。感得到了哪些?Python大有称霸江湖之势!拭目以待。

缺点:只包括为web页面提供服务所需的少量内容外,它需要尽可能地让人觉得它不像“web框架”,而是像任何其它种类的Python应用程序一样。CherryPy包含的位用作低级构建块。包括会话标识符和cookie处理,但不包括HTML模板。像Bottle一样,CherryPy提供了一种将路由映射到磁盘上的目录以供静态文件服务的方式。

8.Falcon框架

官网:

优点:Falcon是一个支持大体量微服务API或联通App后端响应的Web开发框架,它完全基于Python并提供了相当高的性能、可靠性和可扩展性。Falcon定位独特且传统鲜明,对于App开发者,后端平台打造不妨考虑Falcon,十之八九是不会后悔的。

缺点:Falcon缺点是其打包模块有点太少,有路由,中间件,钩子,除此此外就不提供其它功能了(裸壳)。额外其他用途,比如验证等都必须研发人员来开发扩充。因为其设计中就假定用于形成RESTAPI。

9.Asgineer框架

官网:

优点:Asgineer是一种编写异步Web应用程序的软件,使用尽可能少的抽象,同时依然提供友好的API。只需几分钟就能阅读手册和参考资料!在Uvicorn上运行Asgineer时,它是只用的最快的Web框架之一。它支持http长轮询、服务器端事件(SSE)和websockets。并且带有以正确(且迅速)的方法为资产提供服务的实用程序。

缺点:中文文档匮乏。

10.Bottle框架

官网:

优点:Bottle是一个用于Python的迅速、简单和轻量级的WSGI微型网络框架。它成为单个文件组件分发,除了Python标准库之外没有任何依赖项。支持干净和动态的URL。快速和Pythonic内置模板引擎网页设计优秀案例,支持mako、jinja2和cheetah模板。方便地访问表单数据、文件上传、cookie、标题和其它与HTTP相关的元数据。

缺点:Bottle极简主义的一个后果是有些功能根本就不存在。不支持表单验证,包括CSRF保护等功能。如果要建立支持高度用户交互的Web应用程序,则必须自己添加他们。

11.Emmett框架

官网:

优点:编写优雅的代码,专注于您的产品,你必须把更多的时间花在你的产品而不是底层框架上。Emmett是发明家的框架,因为它致力简化您的研发过程,其语法简单、易于学习和理解。不要在路由器和不舒服的方式之间浪费时间:每次为应用程序写下路由时,一切都知道地展现在您的眼前。

缺点:中文文档匮乏。

12.apidaora框架

官网:

优点:使用类别注释将请求/响应声明为数据类和字典,使用jsondaora验证输入数据,最快的pythonapi框架之一,可以在任何asgi服务器上运行。

缺点:中文文档匮乏。

13.Quixote框架

官网:

优点:Quixote是一个使用Python编写基于Web的应用程序的框架。它的目标是按此排序实现灵活性和高性能。Quixote应用程序的构架往往类似于特色应用程序。格式化网页的逻辑由Python类和变量构成。Quixote不强行分离表示逻辑和“后端”逻辑。相反,我们鼓励您使用特色科技。例如,一种缓解方案是将表示逻辑放到其自己的子包中。

缺点:虽然Quixote得到切实维护,但公布频率较低。最近研发的重点是恢复错误、提高标准合规性和提高Quixote的灵活性。

14.reahl框架

官网:

优点:reahl是一个可以让开发者完全用Python语言编写Web应用的开放框架,采用Python作为唯一开发语言是其最大传统。此外,reahl提供了非常清晰且简明的研发组建,对于开发通常用途性Web平台足够清晰且可行。

缺点:提供抽象术语时,无法把握一些更高级的客户界面效果,目前不允许使用Sass构建Bootstrap的更改版本,并支持更高级的用户界面方式

15.hug框架

官网:

优点:Hug是一个Python3API开发框架。它的设计使硬件项目师可以一次研发API,然后在必须时再使用它。Hug框架通过提供各类接口来简化API开发。这就是为什么该框架被称为Python3中最快的框架之一的主要因素。

缺点:它使用当时的WSGI标准,这是一个同步框架,所以它不能处理像WebSockets和其它异步请求,不管怎样说,它依然有相当好的性能体现。

16.BlackSheep框架

官网:

优点:BlackSheep是一个异步Web框架,用于使用Python创建基于事件的Web应用程序。它的灵感来自Flask、ASP.NETCore和YurySelivanov的工作。

缺点:中文文档匮乏。

17.Index.py框架

官网:

优点:实现了ASGI3接口并使用RadixTree进行路由查找。是最快的Pythonweb框架之一。一切特点都服务于迅速研发高性能的Web服务。大量正确的类别注释,灵活且高效的路由平台,可视化API接口与在线安装,支持Server-sentevents与WebSocket,自带一键部署命令(基于uvicorn与gunicorn),可使用任何可用的ASGI生态。

缺点:Index.py不内置数据库、缓存等其它用途。选择困难者请直接使用Django。

18.Sanic框架

官网:

优点:Sanic是一个Python3.7+web服务器和web框架,它的编写速度迅速。它允许使用Python3.5中添加的async/await语法,这使您的代码无阻塞且迅速。该项目的目标是提供一种简单的方式来推进和运行一个高性能的HTTP服务器,该服务器易于形成、扩展和最后扩展。

缺点:就功能方面Sanic模仿Flask,比如通过共享Blueprints的概念,微小的子应用程序,允许开发人员在更大的应用程序中拆分和组织其代码。对于光光是数据增删改查CRUD应用,Sanic也不是一个好的选择。

19.Starlette框架

官网:

优点:Starlette是一个轻量级的ASGI框架/软件包,非常适合打造性能异步服务,它是制造就绪的,并为您提供下述内容:令人印象深刻的体现。WwbSocket支持。GraphQL支持。进程内后台任务。启动和关闭事件。基于请求建立的测试用户端。CORS、GZip、静态文件、流响应。会话和Cookie支持。100%的测试覆盖率。100%类型注解代码库。零硬依赖。

缺点:Starlette提供了所有基本的Web微框架功能。但是它不提供手动数据验证,序列化或API文档。

20.Fastapi框架

官网:

优点:FastAPI是一个现代、快速(高性能)的Web框架,用于基于标准Python类型提示使用Python3.6+构建API。非常高的性能,与NodeJS和Go相当(感谢Starlette和Pydantic)。可用的最快的Python框架之一。减少至少40%的人为(开发人员)引起的出错。简短,简单,直观,健壮。

缺点:本身不带模板语法,需要安装模板语法

21.Responder框架

官网:

优点:是kennethreitz新开发的一个工程,是一个基于Python的HTTP服务框架。底层用了Starlette的框架网页设计优秀案例,Starlette是一款轻量级的ASGI框架/软件包,可以用Starlette构建高性能的异步IO服务。相对于Starlette,responder对开发者非常友好一点。kennethreitz写了requests号称"HTTPforHumans"非常明白这一点。事实上非常下来,responder也比Starlette优雅很多。

缺点:可能是新项目,打包还不太推进。就现在版本而言,少许代码还不能正常工作。但接口方式尚未定义完毕,期待后面版本会加起来。

22.Molten框架

官网:

优点:Molten是一个最小的、可扩展的、快速的和高效的框架,用于使用Python创建HTTPAPI。计划自动验证请求,代码更易于维护。实例可自动序列化,包含API在现实世界中一般要求的各类用途,广泛使用PEP484类型提示和mypy。

缺点:它没有使用像第三方库(如Pydantic)提供数据验证,序列化和文档,它有自己的库。因此,这些数据类别定义将不太易于重用。依赖注入系统必须对依赖项进行预注册,并且将基于已声明的类别解决依赖问题。因此,不可能声明多个模块来提供一个特定的类别。

23.Clastic框架

官网:

优点:一个功能强大的PythonWeb框架,可简化显式研发实践,同时防止全局状况。Clastic是完全用Python语言编写的,增强可重用性和可测试性,主动URL路由检查,更好地控制应用程序初始化,改进的后面件范例,没有全局状况,ORM用法,更易于的WSGI集成。

缺点:Clastic没有建立全局状况;URL路由规则参数和视图函数签名不匹配,在Clastic中,这种不匹配会在建立应用程序时引起异常。

添加微信

转载原创文章请注明,转载自设计培训_平面设计_品牌设计_美工学习_视觉设计_小白UI设计师,原文地址:http://www.zfbbb.com/?id=5690

上一篇:房屋装修设计图片欣赏三室一厅旧标准设计出了小三房房间设计为什么这么小?(图)

下一篇:网页设计优秀案例 SCRM企业服务为什么需要做客户案例?总结下来大概有三个方面