写点什么

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

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

关注

评论

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

当一只「无头苍蝇」又何妨?

非著名程序员

读书笔记 提升认知 个人提升 8月日更

Linux 环境如何使用 kill 命令优雅停止 Java 服务

陈皮的JavaLib

Java Linux 面试 springboot 8月日更

Linux之at命令

入门小站

Linux

读书日送书丨关于音视频技术你需要知道的二三事

RTE开发者社区

人工智能

Nacos注册中心之概要设计

捉虫大师

微服务 nacos 服务发现

【网络安全】渗透工程师面试题总结大全

网络安全学海

面试 网络安全 信息安全 渗透测试 漏洞

阿里人,五年心血汇聚而成这份Spring Cloud Alibaba开发手册

Java架构师迁哥

为了进阿里,我通宵达旦三个月,学了这些技术点(附Java思维导图)

Java 编程 架构 面试 架构师

等待时间的忍受度

箭上有毒

8月日更

【翻译】数据包的旅程 - 主机之间通信

luojiahu

计算机网络 OSI模型

IDEA下载及新建第一个Java项目(Helloworld)

Bob

8月日更

Kong-To-APISIX:减轻你的迁移压力

API7.ai 技术团队

开源 网关 kong APISIX

「SQL数据分析系列」16. 分析函数

Databri_AI

sql 函数 分析

Dremio 推出在 AWS 云上运行的数据湖服务

水滴

数据湖 8月日更 Dremio

前端之数据结构(一)

Augus

数据结构 8月日更

数据缓存历险记(二)--被过期键经理上了一课

卢卡多多

redis Redis键过期监听 8月日更

使用 Sequelize 快速构建 PostgreSQL 数据的 CRUD 操作

devpoint

node.js postgresql API 8月日更

小技巧 | Get 到一个 Web 自动化方案,绝了!

星安果

chrome 自动化 Web 插件 chrome扩展

试错,然后成长

escray

学习 极客时间 朱赟的技术管理课 8月日更

面试官:JVM的运行时数据区了解不?

程序员阿杜

Java JVM JVM、 8月日更

NLP随笔(四)

毛显新

自然语言处理 神经网络 深度学习

藏在煤箱中的文明:一个会说话的箱子能告诉我们什么?

脑极体

Vue进阶(五):与 Vuex 的第一次接触

No Silver Bullet

Vue vuex 8月日更

【Vue2.x 源码学习】第二十五篇 - 数组依赖收集的原理

Brave

源码 vue2 8月日更

Error SHA256 mismatch

一个大红包

8月日更

Gin 介绍

xcbeyond

Go 语言 gin 8月日更

趁着课余时间学点Python(三)变量,基本数据类型,运算符

ベ布小禅

8月日更

【前端 · 面试 】HTTP 总结(四)—— HTTP 状态码

编程三昧

面试 大前端 HTTP 8月日更

SpringBoot 整合 Drools

LeifChen

drools springboot 规则引擎 8月日更 业务规则

刷完这套200+大厂Java真题手册,成功拿到阿里,京东,美团的offer

Java 编程 架构 面试 架构师

【设计模式】单例模式

Andy阿辉

编程 程序员 后端 设计模式 8月日更

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