HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

David Pollak 谈 lift 框架和 Scala 语言

  • 2008-03-12
  • 本文字数:1466 字

    阅读完需:约 5 分钟

昨天 David Pollak 宣布 lift 的 0.6 版发布了

lift 是一个用于开发 Web 应用的表达力强大而优美的框架。lift 强调安全性、可维护性、可伸缩性和性能,同时使开发者达到高水平的生产效率。

lift 0.6 带来了以下刺激的新鲜的增强的新特性:

  • 支持 Scala 2.7.0(这意味着你可以使用 Eclipse 来开发 lift 应用) - lift 核心类的本地化(谢谢 Marius)
    - 增强了重定向的支持
    - 支持 Cookie(而不是使用基础的 Servlet cookie 支持)
    - 增强了 Prepared Statements
    - 显著增强了对 JSON 的支持和客户端 HTML 生成
    - 提高了测试和文档(谢谢 Eric)

InfoQ 询问了 David 关于他开发lift的动机以及到目前为止他使用 Scala 的经验。

你可以给我们介绍一些导致你开发lift的背景经验么?

我做了 18 个月的 Rails 开发和 10 年的 Java 开发。Rails 对于 Web 开发来说是一个新颖的视角……对于普通任务,Rails 是“最便捷”(short path) 的方式。它很伟大。但是,我发现 Ruby 的动态类型导致了许多错误,并且导致需要 95% 的测试覆盖率来保证可靠的部署。不幸的是,为了达到 95% 的测试覆盖率,我的代码数量(包括测试)激增到接近 Java 代码数量的水平。而且,因为 Rails 在开发、测试和部署的时候“总是改变事物”(Rails 动态改变它的方法),即使有出色的测试覆盖,还是经常出现部署事故。上述情况再加上 MRI Ruby 实现的缓慢和不稳定以及开发社区的漠不关心,我决定“另寻出路”。我无意中碰到了 Scala 然后立刻认识到它就是我正在寻找的语言。Scala 拥有所有我喜欢的 Ruby 的语言特征和所有我喜欢的 Java 的语言特征。对我来说,这是一个“把你的花生酱放进我的巧克力”的时刻。

什么因素使得 Scala 成为构建一个 Web 框架的伟大环境?

句法。性能。稳定性。一个仅当你需要的时候才出现的优秀的类型系统。闭包。模式匹配。内建的 XML 语言支持(XML literals)。Actor[译注:Scala 的基本并发构造]。很难说什么是决定性因素。

lift与 Rails 以及 Seaside 或者其他 Java 框架例如 Structs 或者 Spring 的区别是什么?

像 Rails 一样容易而简明。 像 Seaside 和 Wicket 一样安全而正式。

类型安全但不像 Struts 一样冗长。

支持允许多人合作的“实时”应用。

所以,你可以飞快地构建巨强大的应用(就像 Rails),但是你不必把所有的状态一股脑地扔进一个关系数据库中。状态是“活的”而不是冻干的,这使得写从前端访问数据库表的应用非常地不同以往。

你可以描述一下你在生产环境中部署lift的经验么?你看到的性能如何?

我对 lift 应用做了许多基准性能测试。lift 的渲染管道简明扼要,而且 lift 在标准的 web 容器中运行。这意味着你可以得到与良好开发的 J2EE 应用相同的性能。对于数据库无关的页面,lift 的渲染时间通常低于 1 秒。对于需要访问数据库的页面,页面渲染时间与数据库访问相关。在一个 Amazon EC2 实例上(1.7Ghz Intel 处理器,2GB 内存),我可以支撑每秒 500+ 的页面访问,其中 50% 的页面要访问数据库,而且 MySQL 实例与 Web 应用运行在相同的服务器上。

你如何看待 lift与现存的 Java 应用配合工作,或者在混合语言环境(例如 JRuby)中工作?

lift 与现存的 Java 代码配合工作的非常好。lift 的 RabbitMQ 和 XMPP 支持是基于 Java 库的。Scala 可以 100% 无缝的调用 Java 代码。Scala 可以 100% 无缝的实现 Java 接口,继承 Java 类。它就是可以工作。至少有一个 lift 项目,其中 lfit 和 Spring 在同一个 WAR 文件中共存。我的第一个 Scala 应用是一个 Servlet 容器。"它就是可以工作"让我松了一大口气。

查看英文原文: David Pollak on lift and Scala

2008-03-12 21:153495
用户头像

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

关注

评论

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

第三方数据测评对比五大品牌HTTP代理!哪家代理最纯净稳定

Geek_ccdd7f

第三方数据测评对比五大品牌HTTP代理!哪家代理最纯净稳定

Geek_ccdd7f

跨境电商

大咖专场 | KaiwuDB 多模数据库 - 时序性能优化方案

KaiwuDB

KaiwuDB 大咖专场 数据库性能优化

罗拉ROLA-IP代理IP:稳定性、纯净性、响应速度的保证

Geek_ccdd7f

适合小团队协作的app推荐,这8款协同提效工具一定要知道!

彭宏豪95

效率工具 团队协作 在线白板 办公软件 团队协作工具

YashanDB发布会圆满收官,V23.1三大新品引领国产数据库技术与应用突破!

墨天轮

数据库 实时数仓 国产数据库 空间数据库 yashandb

罗拉ROLA-IP代理IP:稳定性、纯净性、响应速度的保证

Geek_ccdd7f

跨境电商

软件测试/测试开发丨接口自动化学习笔记——响应体断言

测试人

软件测试 接口测试

NFT质押挖矿游戏系统开发

薇電13242772558

NFT

OpenGL 坐标系统详解

快乐非自愿限量之名

系统 opengl 坐标

Kurator v0.5.0发布,打造统一的多集群备份与存储体验

华为云开发者联盟

云原生 开发工具 华为云 华为云开发者联盟

风口过后,该重新关注软件内在质量了

neverwinter

程序员 互联网 软件工程 软件质量 软件研发

实例讲解数据库的数据去重

不在线第一只蜗牛

数据库 架构 系统架构 系统

亚马逊云 Lightsail:初创公司的福音

天黑黑

云服务器 亚马逊云 VPS

inBuilder低代码平台新特性推荐-第六期

inBuilder低代码平台

低代码平台

碳管理丨三思全景显示方案助力雄安打造数字化能源管理平台

电子信息发烧客

人工智能:何谓技术

不在线第一只蜗牛

人工智能 AI 人工智能技术

iOS加固原理与常见措施:保护移动应用程序安全的利器

雪奈椰子

十月份 NFT 市场显示复苏迹象,等待进一步的积极发展

Footprint Analytics

区块链游戏 NFT

抓住Base主网空投机会:Bitget钱包详细教程

大瞿科技

Databend Cloud 如何助力 AIGC 初创公司成本下降百倍

Databend

2023年度API安全状况详解

EquatorCoco

安全 信息安全 API 接口

一个java文件的JVM之旅

快乐非自愿限量之名

Java JVM 系统架构

基于亚马逊云服务器+Grafana Loki日志采集方案部署

王坤祥

Grafana Loki 亚马逊云 亚马逊云科技 AWS EC2

Mate Translate for Mac(翻译软件) v8.1.3中文激活版

mac

苹果mac Windows软件 Mate Translate 多语言翻译软件

云端大模型有哪些创新使用场景?一个原型方案

魏临

Android发热监控实践

得物技术

性能优化 发热功耗 App体验 端侧监控

如何使用 GTX750 或 1050 显卡安装 CUDA11+

北桥苏

PyTorch cuda cudnn

植根中国 服务中国 英特尔拥抱AI 加速AI PC落地

E科讯

【云栖2023】林伟:大数据AI一体化的解读

阿里云大数据AI技术

大数据 AI

David Pollak谈lift框架和Scala语言_Java_Gavin Terrill_InfoQ精选文章