速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:5310863
用户头像

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

关注

评论

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

3D模型分割新方法解放双手!不用人工标注,只需一次训练,未标注类别也能识别|港大&字节

Openlab_cosmoplat

模型 开源社区

测试策略与测试手段

测吧(北京)科技有限公司

测试

自学黑客/网络渗透,一般人我劝你还是算了

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

3 天交付新需求?极狐GitLab APP 「极限编程 XP」实践

极狐GitLab

DevOps 敏捷开发 CI/CD 极限编程 极狐GitLab

熟悉的测试用例设计方法都有哪些?

测吧(北京)科技有限公司

测试

裸辞底气!GitHub飙升“java面试笔记2023” 了解下八股文天花板

三十而立

Java 互联网 面试 IT java面试

集成化、小型化、大势所趋,模块电源优势明显

华秋电子

LP流动性挖矿代币分红模式dapp系统开发原理

开发微hkkf5566

EasyExcel 带格式多线程导出百万数据(亲测牛逼)

三十而立

Java 互联网 IT 程序猿

让Web和App无缝链接的移动深度链接方案

MobTech袤博科技

软件测试 | 白盒的测试方法

测吧(北京)科技有限公司

测试

ChatGPT王炸更新!能联网获取新知识,可与5000+个应用交互,网友:太疯狂了

Openlab_cosmoplat

工业互联网 开源社区 智能制造 ChatGPT

数据采集&流批一体化处理使用指南

大河

批处理 ETL 流处理 bboss 流批一体化

EasyExcel 带格式多线程导出百万数据

三十而立

Java 互联网 IT

9000字,通俗易懂的讲解下Java注解

Java你猿哥

Java ssm 实战 Java工程师

对话数十位学术合作代表:如何提升前沿技术在商业领域的落地应用?

阿里技术

前沿技术

分享:ODC 如何精准展现 SQL 执行的耗时?

OceanBase 数据库

数据库 oceanbase

谈谈低代码的安全问题,一文全给你解决喽

加入高科技仿生人

软件开发 低代码 信息安全 低代码开发

软件测试/测试开发丨app自动化测试之设备交互API详解

测试人

软件测试 自动化测试 测试开发 appium

Springboot 撞上 NebulaGraph——NGbatis 初体验

NebulaGraph

Java ORM 图数据库

为研发效能度量找到合适的参照系

思码逸研发效能

研发效能 效能度量

面试造火箭?GitHub飙升“2023(Java 岗)面试真题汇总”转载40万

三十而立

Java 互联网 IT java面试

测试同学职场成长的关键要素

老张

团队管理 个人成长

华秋电子受邀参加产业高峰论坛,探讨电子行业新商机

华秋电子

HarmonyOS 联合绿盟发布折叠屏软件规范,携HUAWEI Mate X3带来创新折叠体验

科技汇

软件测试 |全局变量和局部变量有什么区别?

测吧(北京)科技有限公司

测试

开源工具系列6:Grype

HummerCloud

软件缺陷是什么?

测吧(北京)科技有限公司

测试

注意!2023,你需要了解这些IT趋势

引迈信息

人工智能 程序员 网络安全 低代码

4.0 功能抢先看 | 读懂一个项目的研发效能 之 项目交付效率

思码逸研发效能

研发效能

Apache HugeGraph1.0.0 版本正式发布!

百度安全

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