写点什么

Python Web 框架 UliWeb 开发进展

  • 2008-08-06
  • 本文字数:1559 字

    阅读完需:约 5 分钟

国产的 Python Web 开发框架 UliWeb 由啄木鸟社区的 Python 开发者 Limodou 发起并创建,项目启动后吸引了不少 Python 开发者的关注和加入。就 UliWeb 的项目发起初衷,Limodou写道

Uliweb 是一个新的 Python Web Framework,它之所以会产生是因为现有的框架多少有些令人不满意的地方,而且许多情况下这些不满意的地方或多或少对于 Web 开发有影响,因此在经 过对不少框架的学习之后,我决定开发一个新的框架,希望可以综合我认为其它框架中尽可能多的优点,同时使这个新的框架尽可能的简单,易于上手和使用。不过 这个框架目前主要还是一个人在做,并且是业余在做,所以在进度上相对要慢一些。

Uliweb 按照 GPL v2 协议开放源代码。Uliweb 并不是一个从头开始的框架,它使用了一些较为成熟的库,如:用来进行命令行、URL 映射、Debug 等核心处理的 Werkzeug ;用来生成和处理请求、响应对象的 webob ;强大的 ORM 库 SqlAlchemy 等等。Uliweb 在开发中还借鉴了象 web2py 的 Template 模板模块, Django 的一些设计思想和成果。就 Uliweb 框架的功能特点,Limodou 介绍道:

Uliweb 是采用类 Django 的 MVT 的模型,整个项目将由若干个相对独立的 app 构成,每个 app 将有自已的配置文件,templates 目 录,static 目录等。URL 可以自动映射也可以手动映射。模板中可以直接嵌入 Python 代码,但是你不需要关心代码的缩近,只要注意在块结束前加上 pass 语句。对数据库的处理使用 ORM 的方式进行处理,同时你还可以直接使用底层的 SQLAlchemy 模块。支持代码和模板中的 i18n 的处理。 Uliweb 还从 Ulipad 中移植了 Plugin 机制,可以方便地在框架中添加用户特殊的处理。通过提供的命令行工具可以执行象启动开发服务器,导出源 代码等操作。现在 Uliweb 可以在 GAE,mod_wsgi,fastcgi,scgi,cgi 等多种环境下部署。

除此之外,Uliweb 框架中包含众多自有的创新,如可用来生成 HTML 代码和对上传的数据进行校验的 Form 处理,包括对模板和页面的 i18n 处理,框架处理代码,从 Ulipad 中移植并进行了改造的插件机制。值得一提的是,Uliweb 框架中将开发自己的 ORM 机制 Uliorm,Uliorm 在 SqlAlchemy 基础之上进行封装,同时参考了 GAE 中 datastore 的代码。在谈到为何要设计自己的 ORM 框架,Limodou 这样回答:

在比较了若干的 Python ORM 模块之后,都不太让人满意。我比较喜欢 Django 的 ORM,不过它不太容易独立使用,并且与它的 Admin 功能绑得过于紧密。 SQLAlchemy 有几种 ORM 的映射方式,但是不太满足 Uliweb 的自动化的需求。其它的象 SQLObject 我不喜欢。web2py 的不好移植, 并且功能相对弱一些。Storm 是 LGPL 的,一旦有修改不方便应用。还有其它一些,不一而足。因此我以 SQLAlchemy 为基础,正在开发新的 Uliorm,一方面做为尝试,另一方面研究如何与框架绑定,这样可以更方便地为 Uliweb 服务。

目前 Uliweb 框架的开发工作正在稳步持续的进展当中,就目前的开发进度和下一步将实现的功能,Limodou 谈到:

目前 Uliweb 已经可以部署并运行在 GAE 环境上,但是由于 GAE 的 Datastore 相对特殊,还没有集成到 Uliorm 中,但框架的其它功能可以正 常使用,如:URL 映射,模板等。Uliweb 目前已经支持多种环境的部署,将继续增加新的部署方式。Uliorm 目前已经支持多对一的关系,下一步将增 加多对多,一对一的关系的处理。对 session, cache 进行进一步完善。继续完善文档,方便用户的开发。

基于 Python 的 Web 应用开发正在逐步增多,出现了基于 web.py 开发的 sohu 闪电邮这样的国内大型 Python Web 应用。国产 Web 开发框架 Uliweb 的出现,在为开发者提供另一个选择的同时也无疑增加了国内 Python 社区的活力和信心,期待 Uliweb 日 后的发布将会为 Python 社区增加新的动力,也期待更多感兴趣开发者加入进来,一起推动国产 Web 开发框架 Uliweb 的发展。

2008-08-06 05:5310865
用户头像

发布了 74 篇内容, 共 12.3 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

从Mybatis源码到Spring动态数据源底层原理分析系列二、Mybatis执行器源码分析

Java 程序员 后端

从某度外包逆袭成为阿里架构师,分享我的Java进阶成长笔记

Java 程序员 后端

从腾讯T3-3大佬手上获得的Java架构进阶PDF文档,图文并茂,真香

Java 程序员 后端

你不会仅仅把Redis作为缓存的工具吧?给你一亿个keys,如何高效统计

Java 程序员 后端

使用IDEA的Docker插件部署SpringBoot项目,让我成功在寒冬中站稳脚步

Java 程序员 后端

从一次线下读书会获得的收获,linux使用教程

Java 程序员 后端

CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”

华为云开发者联盟

AI 算力 CANN 昇腾 算力虚拟化

作为java程序员,在金三银四季你遇到过哪些质量很高的java面试?

Java 程序员 后端

你们初刷leetcode时会怀疑自己的智商吗?,java中级面试题下载

Java 程序员 后端

架构实战营-毕业总结

王晓宇

架构实战营

从小公司跳槽到阿里,靠着刷多套面试题,成功拿到蚂蚁金服P7Offer

Java 程序员 后端

优化技术专题-线程间的高性能消息框架-深入浅出Disruptor的使用和原理

Java 程序员 后端

作为分布式服务框架,我用大白话给你解释Zookeeper的选举机制!

Java 程序员 后端

你知道 Java 类是如何被加载的吗?,mybatis从入门到精通pdf百度云

Java 程序员 后端

代码简洁之道--笔记,2021华为Java面试真题

Java 程序员 后端

你知道你和高薪的距离在哪里吗?这份“并发编程笔记,redis分布式锁原理java

Java 程序员 后端

使用 nodejs 中的 http 模块实现几个超实用的工具,实战java虚拟机葛一鸣第二版pdf

Java 程序员 后端

下班约会时来了新需求,咋办?

华为云开发者联盟

ide 开发 代码 华为云 华为云DevStar

优秀如我毅然和女票分手,面试字节跳动技术四面吊打面试官,终获取到Offer

Java 程序员 后端

你曾遇到过哪些大厂的-Java-面试?,mysql入门书籍哪本好

Java 程序员 后端

你遇到过哪些质量很高的 Java 面试?,nginx教程阮一峰

Java 程序员 后端

从腾讯T3-3大佬手上获得的Java架构进阶PDF文档,图文并茂,真香(1)

Java 程序员 后端

使用Hystrix的插件机制,解决在使用线程隔离时,threadlocal的传递问题

Java 程序员 后端

从单体式架构迁移到微服务架构,3年Java开发工程师面试经验分享

Java 程序员 后端

以GraalVM原生镜像的方式运行Spring Boot应用程序,mybatisjoin原理

Java 程序员 后端

优质高效!基于Spring-boot-admin的微服务监控系统实现

Java 程序员 后端

你以为在做的是微服务?不!你只是做了个比单体还糟糕的分布式单体

Java 程序员 后端

你确定你真的理解_双亲委派_了吗?!,阿里内部核心Java进阶手册

Java 程序员 后端

从构建小系统到架构分布式大系统,Spring Boot2的精髓全在这里了

Java 程序员 后端

你技术这么好,总要改变点什么把!(1),2021我的Java大厂面试之旅

Java 程序员 后端

你技术这么好,总要改变点什么把!,java面试项目中你遇到的难题

Java 程序员 后端

Python Web框架UliWeb开发进展_Ruby_高昂_InfoQ精选文章