python web 初学入门基础知识了解{浅浅了解五个框架}

Tornado核心模块

前言:

因为上课没有认真听过课,一看课表发现下学期全都是专业课,我就知道我不能再水下去了,从今天开始我就要在csdn上打卡我的自学日记了,可能学艺不精,但是我会努力把我所学知识都做成记录的,希望学有所成。去网页上一搜,发现自己对这些知识好陌生,可能之后还会慢慢回来修改自己的文章吧,可能有一些概念是没有成型的,忘理解!

从概念入手吧!

首先我们了解一下基于python开发的web框架吧,关于这个的框架有很多种,我就挑着简单的框架了解一下 ;Web 开发可以粗略地定义为构建、创建和维护一个网站。Web 开发涉及一个前端,与客户端交互的所有内容,以及一个后端,包含业务逻辑并与数据库交互。前端涉及 html、css、javascript 和由此衍生出的库及框架。后端可以有 Python 语言实现,Python 进行 Web 开发主要是后端开发,而后端语言有很多选择,诸如 Java,GoLang。前端知识是绕不开 html,css,javascript,因此前端知识是必须掌握的,后端这块可以从 Python 入门,熟练之后有余力再深入掌握其他后端语言

那就浅浅先了解5个框架吧

【 Django】

Django 是使用 Python 语言编写的一个广受欢迎且功能完整的服务器端网站框架。Django是一个开放源代码Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 。

Django 介绍 - 学习 Web 开发 | MDN (mozilla.org){这个网站里面关于Django的介绍好全面吖}

Django 简介 | 菜鸟教程 (runoob.com)这里面可以看到关于这个框架的一些学习教程

【Flask】

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

【Sanic】

Sanic 是一个基于 Python 3.5+ 的 web 框架,依托于 uvloop、asyncio 等事件循环和异步并发模块,旨在提供支持异步高并发请求的 web 服务的一个异步框架(异步可以有效的解决 网络 I/O 阻塞,文件 I/O 阻塞);据说Sanic是python里面最强的一个框架,因为其建设速度很快,可以生产环境,在不断的积累中,它的框架也很稳重,文档的可用语言也很多,还有完善的社区指导;它既是一个 web 框架,同时也是一个 web 服务器。

【Twisted】

Twisted是一个用Python语言编写的事件驱动的网络框架,对于追求服务器程序性能的应用,Twisted框架是一个很好的选择。Twisted是一个有着10多年历史的开源事件驱动框架。Twisted支持很多种协议,包括传输层的UDP、TCP、TLS,以及应用层的HTTP、FTP等。对于所有这些协议,Twisted提供了客户端和服务器方面的开发工具。

1.Twisted是一个基于Reactor模式的异步IO网络框架

首先说下什么是Reactor模式。Reactor模式就是利用循环体来等待事件发生,然后处理发生的事件的模式,如上图所示。

Reactor主要有如下两个功能:

  • 监视一系列与你I/O操作相关的文件描述符(description)。监视文件描述符的过程是异步的,也就是说整个循环体是非阻塞的
  • 不停地向你汇报那些准备好的I/O操作的文件描述符。

Twisted就是基于Reactor模式帮我们抽象出了异步编程模型以及各种非阻塞的io模块(tcp、http、ftp等),使我们很方便地进行异步编程。

【Tornado】

 Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的;Tornado是使用Python编写的Web服务器兼Web应用框架,与主流Web服务器框架不同的是,Tornado是异步非阻塞式服务器,得益于非阻塞式和对epoll模型的运用,Tornado是实时Web服务的一个理想框架,它非常适合开发长轮询、WebSocket和需要与每个用户建立持久连接的应用。

Tornado的独特之处在于其所有开发工具能够使用在应用开发的任意阶段以及任何档次的硬件资源上。而且,完整集的Tornado工具可以使开发人员完全不用考虑与目标连接的策略或目标存储区大小。Tornado 结构的专门设计为开发人员和第三方工具厂商提供了一个开放环境。已有部分应用程序接口可以利用并附带参考书目,内容从开发环境接口到连接实现。Tornado包括强大的开发和调试工具,尤其适用于面对大量问题的嵌入式开发人员。这些工具包括C和C++源码级别的调试器,目标和工具管理,系统目标跟踪,内存使用分析和自动配置. 另外,所有工具能很方便地同时运行,很容易增加和交互式开发。

(Tornado核心模块)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值