NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

JVM 之上的 Python Web 框架

  • 2008-01-22
  • 本文字数:2062 字

    阅读完需:约 7 分钟

Python ,是一种面向对象的动态语言,已经出现了很多年。如同 Ian Bicking 所指出的,在 Python 的历史中有很多 web 框架可供选择(例如 Pylons,TurboGears,CherryPy,Zope,Django 等等),这使得开发者难以做出选择,

很久很久(比绝大多数现存的框架要久)以来,人们一直在抱怨在 Python 中 Web 框架太多。

最近 Django 在 Python 和 Java 的世界中风生水起 > Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。

Django 开发了一个快速发展的在线新闻运营网站并且使用了两年,其设计目标是处理两个挑战:一个新闻编辑室的强制交付日期和开发该编辑室的有经验的 Web 开发者的紧迫需求。Django 使你可以快速构建高性能的、优雅的 Web 应用。
Django 非常关注于自动化并且坚持 DRY(不要重复你自己)原则。

在 JVM 方面存在 Jython

由 100% 纯 Java 实现的高级的、动态的、面向对象的语言 Python,与 Java 平台无缝集成。它允许你在任何 Java 平台上运行 Python。

Jython 从 2.1 版本发展到 2.2 用了将近 6 年,但是在最近几个月 Jython 已经经历了两个版本候选以及另一个稳定版本,目前的版本是 2.2.1。Jython 开发人员正在努力工作开发 Jython 2.5,其目标是让 Jython 与 CPython 2.5 同步并提供一个更干净而一致的代码基础。

Jython 2.5 的一个次要目标是力图使得某些 CPython 框架,特别是 Web 框架可以在 Jython 上工作,例如:

  • Django
  • Pylons
  • TurboGears
  • Twisted

InfoQ 最近有幸采访了 Jim Baker,一个 python 传播者与 Django on Jython (DoJ) 的贡献者,以期得知将会发布什么以及何时发布。

Django on Jython 的预期发布日期是什么?

今年。Jython 的下一个版本肯定会出现。请看#2 关于 Jython 的计划。Django 已经可以工作了,只有一些小的变化, 谢谢很多朋友为鉴别(微小的)Jython 的不兼容性所做的很多工作。现在大多数我们已经鉴别的问题实际上仅仅发生在测试中,Django 对于 Python 做了某种假设,而那些假设不适用于 Jython。例如有这样一个假设:哈希算法与字典的实现算法是一样的,因为我们使用 Java 的哈希表 (ConcurrentHashMap),所以这个假设是不成立的。尽管那只是测试过程中的一个极端情况,实际上 Django 并不关心哈希算法,我们仍然 计划通过执行所有的测试来证明没有问题(按需修复问题)。

Django on Jython 需要 ****Jython 的什么版本? > Jython 2.5 —— 相当于 CPython 2.5(或者方便的叫做 Python!)是我们在 Jython 项目中的目标。实际上目前项目进展十分迅速。我们有一个 2.5 的编译器可供实验用途,由于我 们有更多的人来测试这个编译器,它变得越来越健壮了。这个“新编译器”是在一个由我指导的 Google 代码之夏(Google Summer of Code,译者注:Google Summer of Code 是一个年度项目,最初于 2005 年 5 月至 8 月举办,期间 Google 会奖励在夏天成功的完成了一个免费软件 / 开源软件的学生)项目中最早开发的。 (Bruce Eckel 在一篇博文中指出,实际上我们在9 月中旬完成了该项目!)在三月中的 Python 会议上,我们将基于目前的情况设定编译器项目的明确目标。Tobias 和我将在 Python 会议上发表我们的论文“Jython 的一个新编译器”

这个版本是否会有一个简单一些的安装?目前在你的 **博文 **中建议使用补丁,拷贝文件,等等。> 我们会有一个简单的安装!我的报告是为了说明实际上我们已经很接近这个目标。我也期望在主要的 IDE 中,例如 Eclipse 或者 Netbeans 会有插件支持,尽管现在还没有。

是否 Django 试图成为 Ruby 的 Rails 和 Groovy 的 Grails 那样的东西? > Django 提供了与这些 Web 应用框架类似的功能,而且有一个更健壮的平台。Django 支持多线程,而不象 RoR(Ruby on Rails)那样不支持,这意味着 Django 在 Java 平台上工作不需要使用大量的技巧,例如使用多重类装载器。在数据库方面我们目前支持 PostgreSQL,在 MySQL 方面也完成了一些工作。我帮助编写了 Django 的 Oracle 后端程序。我们还计划支持 Java 数据库 (Derby)。

Jim 还说有一些预先配置好的工具是很有用的,可以更容易的使用 Diango on Jython(DoJ)来实验, > 如果 Django on Jython(DoJ)有这样预先配置好的工具可供使用我会很高兴:Derby + Tomcat。开发者应该可以通过 Eclipse 或者 Netbeans 或者他们选择的某个 IDE 的插件来访问 Derby 和 Tomcat,这意味着开发者可 以直接从 IDE 中配置 Derby 和 Tomcat。工具还提供明显的向其他容器和数据库迁移的方法。也许更重要的是,这样的工具配置允许开发者容易用 DoJ 做实验,这一实验可以是构建一个 Django 应用,或者使用元组空间(tuple space,译者注:是联想存储器的一种实现,为元组提供生成的存储空间, http://c2.com/cgi/wiki?TupleSpace),规则 引擎,PDF 工具,或者其它 Java 平台上可用的重型基础结构。我认为这是 DoJ 为用户提供真正价值之处。

欲得到更多信息请访问下列链接:

查看英文原文: Python Web Framework on the JVM

2008-01-22 19:111645
用户头像

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

关注

评论

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

纯技术改造,技术如何驱动需求,我有话说

一叶而不知秋

项目管理 架构 技术

我使用了哪些生产力工具?

Steve

效率工具 软件 Alfred Notion 推荐

面试官,不要再问我三次握手和四次挥手

猿人谷

面试 TCP 三次握手 四次挥手

Doris 一种实时多维分析的解决方案

迹_Jason

大数据

Linux的proc文件系统编程

韩超

开源这件事儿,越来越“声势浩大”了

赵钰莹

Apache GitHub 阿里巴巴 开源 腾讯

中台之路,从平台到中台的思考与实践(一)

孤岛旭日

架构 中台 企业中台 企业架构

聊聊分心这件事

Jackey

中台之路,从平台到中台的思考与实践(二)

孤岛旭日

架构 中台 企业中台 企业架构

微服务架构深度解析与最佳实践-第一部分

kimmking

微服务 最佳实践 深度解析 高可用

人间至味——苦瓜

三只猫

人生 美食 生活

基于RocketMQ实现分布式事务 - 完整示例

清幽之地

Java 分布式事务 RocketMQ 微服务

百度主任架构师谭待:打造非职权技术管理机制

TGO鲲鹏会

NVidia Docker介绍

薛磊

Docker

Docker Swarm 踩坑

Steve

Docker Docker Swarm 技术 容器 踩坑

从西游到武侠——确定性与不确定性

伯薇

个人成长 管理 确定性 不确定性

苏宁云商向江旭:是时候让技术成为新司机了!

TGO鲲鹏会

字节跳动的增长密码

池建强

字节跳动 张一鸣

ELF文件格式

韩超

服务降级的常见套路

松花皮蛋me

Java

特定系统的Linux的构建

韩超

Gitlab CI/CD 中的 Cache 机制

Chong

DevOps gitlab cicd

自动驾驶复苏在2020

陈思

人工智能 自动驾驶

高手和普通人的差距,不看不知道,一看吓一跳

熊斌

学习

[KubeFlow] MPI-Operator深度解读

薛磊

Docker gpu kubeflow Kubernetes

redis数据结构介绍-第一部分 SDS,链表,字典

Nick

redis 源码 数据结构 源码分析 算法

NVidia-Docker2 性能优化

薛磊

Docker gpu nvidia container

程序员通过哪些方式来赚钱?

一尘观世界

程序员 外包 自由职业 副业 赚钱

Kylin 实时流处理技术探秘.笔记

迹_Jason

大数据

3000w人民币的学费——我的决策反思

孤岛旭日

数据中台 架构 中台 企业中台 企业架构

【JAVA】感受下JDK14的空指针提示

遇见

Java jdk jep

JVM之上的Python Web框架_Java_Craig Wickesser_InfoQ精选文章