
1 Django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。Django与其他框架比较,它有个比较独特的特性,支持orm,将数据库的 *** 作封装成为python,对于需要适用多种数据库的应用来说是个比较好的特性。不过这种特性,已经有其他库完成了,sqlalchemy
2Flask
Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。Flask使用BSD授权。
Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Flask很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask框架学会以后,可以考虑学习插件的使用。例如使用WTForm+Flask-WTForm来验证表单数据,用SQLAlchemy+Flask-SQLAlchemy来对你的数据库进行控制。
3Tornado
Tornado是一种Web服务器软件的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。
得利于其非阻塞的方式和对epoll的运用,Tornado每秒可以处理数以千计的连接,因此Tornado是实时Web服务的一个理想框架。不过现在与众多的框架比较,Tornado已经被抛在了后面,Django已经超过了它,更不说其他框架了,只能说Tornado使用纯python开发的性能还是不能与其他框架借助于cython开发的性能相比。
4webpy
webpy是一个Python的web框架,它简单而且功能强大。webpy是公开的,无论用于什么用途都是没有限制的。而且相当的小巧,应当归属于轻量级的web框架。但这并不影响webpy的强大,而且使用起来很简单、很直接。在实际应用上,webpy更多的是学术上的价值,因为你可以看到更多web应用的底层,这在当今“抽象得很好”的web框架上是学不到的:)
5Aio>
高性能异步web框架,既有客户端的也有服务端的,还支持web-socket
6Sanic
与flask类似,并支持异步
7Vibora
旨在成为最快的pythonweb框架。vibora的高性能依赖于cython实现的uvloop异步框架及cython实现的>
8Bottle
Bottle是一个简单高效的遵循WSGI的微型pythonWeb框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。
9Falcon
Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。
10weppy
性能优于flask的一个全栈web框架
文件存储:Hadoop HDFS、Tachyon、KFS离线计算:Hadoop MapReduce、Spark流式、实时计算:Storm、Spark Streaming、S4、HeronK-V、NOSQL数据库:HBase、Redis、MongoDB资源管理:YARN、Mesos日志收集:Flume、Scribe、Logstash、Kibana消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid分布式协调服务:Zookeeper集群管理与监控:Ambari、Ganglia、Nagios、ClouderaKurento和Jitsi是基于WebRTC的开源媒体服务器开发的两大开源框架,乍看到这两个项目,很难知道他们有什么具体区别,本文对这两个框架进行点对点的比较。如果你仅仅想获得一个简单的类似“项目中应该用Kurento”或者“Jitsi解决所有问题”的结论,无疑这篇文章很难帮助到你。Kurento和Jitsi的选择往往取决与你的项目目标。由于这个问题很多人在不同的场合问过我,所以我觉得有必要分享下我的观点。现在,我来解释下我是如何区分这两个项目的。
Jitsi是一个SFU开源框架,由Atlassian维护,被集成到HipChat中。Github上的介绍如下:
Kurento是一个媒体服务框架,由Kurento Technologies维护。借助Kurento, 你可以构建任何类型的后端媒体处理功能:SFU,MCU,recording,transcoding,gateway等等。这是优势,也是劣势。
如果你能够在实践中使用它,那么这就是优势。但这总是需要比其他目标简单、聚焦的框架付出更多的工作。有很多软件供应商可以帮助你定制和集成Kurento到你的项目中,其中一个就是项目的实际作者和维护者。
哪个好?
这两个框架都非常流行,每个都有超过10年的实际使用和产品验证。因此,从中选择一个并不总是那么容易。如果你只是需要单纯的XMPP的SFU,那么请使用Jitsi如果你的需求比较复杂,需要做很多集成,那么最好还是使用Kurento。
原文阅读
大数据:hadoop,hive,spark,hbase
JAVAweb开发:spring,springboot,springcloud,mybatis
分布式协调服务:zoomkepper
数据库:MySQL,Mariadb,redis
分布式文件系统:fastdfs
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由OP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。
背景:
RodJohnson在2002年编著的《ExpertoneononeJ2EEdesignanddevelopment》一书中,对JavaEE系统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新
SpringLogo
之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破JavaEE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了10正式版。同年他又推出了一部堪称经典的力作《Expertone-on-oneJ2EEDevelopmentwithoutEJB》,该书在Java世界掀起了轩然大波,不断改变着Java开发者程序设计和开发的思考方式。在该书中,作者根据自己多年丰富的实践经验,对EJB的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。至此一战功成,RodJohnson成为一个改变Java世界的大师级人物。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现WriteOnce及RunAnywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务、事务处理等。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)