`
lance4t
  • 浏览: 12636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

David Pollak谈lift框架和Scala语言

阅读更多
David Pollak谈lift框架和Scala语言

作者 Gavin Terrill 译者 曹云飞 发布于 2008年3月12日 下午9时15分

昨天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容器。"它就是可以工作"让我松了一大口气。
分享到:
评论

相关推荐

    Programming-in-Scala-2nd.pdf

    language to two individuals: David Pollak, creator of the Lift web frame- work, and Steve Jenson, a former colleague at Twitter and generally brilliant programmer. Following David and Steve, I arrived...

    Simply_Lift.pdf

    Lift是一个用Scala编写的现代Web框架,它结合了函数式编程的优点和面向对象的优势,为开发者提供了一个灵活、高效且易于使用的平台来构建复杂的Web应用。这份文档由David Pollak编写,并于2011年9月8日发布。 #### ...

    基于纯verilogFPGA的双线性差值视频缩放 功能:利用双线性差值算法,pc端HDMI输入视频缩小或放大,然后再通过HDMI输出显示,可以任意缩放 缩放模块仅含有ddr ip,手写了 ram,f

    基于纯verilogFPGA的双线性差值视频缩放 功能:利用双线性差值算法,pc端HDMI输入视频缩小或放大,然后再通过HDMI输出显示,可以任意缩放。 缩放模块仅含有ddr ip,手写了 ram,fifo 代码,可以较为轻松地移植到其他平台。 硬件平台:易灵思 ti60f225 EDA平台:efinity

    【java毕业设计】智慧社区智慧社区管理员密码修改与重置系统(源代码+论文+PPT模板).zip

    zip里包含源码+论文+PPT,有java环境就可以运行起来 ,功能说明: 文档开篇阐述了随着计算机技术、通信技术和网络技术的快速发展,智慧社区门户网站的建设成为了可能,并被视为21世纪信息产业的主要发展方向之一 强调了网络信息管理技术、数字化处理技术和数字式信息资源建设在国际竞争中的重要性。 指出了智慧社区门户网站系统的编程语言为Java,数据库为MYSQL,并实现了新闻资讯、社区共享、在线影院等功能。 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。

    基于51单片机的一个智能密码锁设计.7z

    基于51单片机的一个智能密码锁设计.7z

    《STM32单片机+2x180-SG90+2x360-SG90+OLED屏幕》源代码

    《基于STM32的舵机控制系统设计》毕业设计项目 1.STM32单片机+2x180_SG90+2x360_SG90+OLED屏幕 2.OLED屏幕显示舵机的方向、速度、角度各项数据 3.按键1:控制180度舵机正向转动角度      4.按键2:控制180度舵机反向转动角度 5.按键3:控制360度舵机正向转动并且控制舵机速度      6.按键4:控制360度舵机反向转动并且控制舵机速度 7.代码里面含有注释 8.硬件实物接上线就能直接运行

    pyside6-qml-modern-uiapp

    Pyside6+Qml+QtCreator做的桌面app

    基于深度堆叠卷积神经网络的图像融合详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 基于深度堆叠卷积神经网络的图像融合详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    基于卷积神经网络的语音识别声学模型的研究详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 基于卷积神经网络的语音识别声学模型的研究详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    IndexOutOfBoundsException(解决方案).md

    IndexOutOfBoundsException(解决方案)

    Mini-Imagenet数据集文件

    Mini-Imagenet数据集文件

    时间转换工具(BD时、GPS时、UTC时、北京时间相互转换,可计算日期)

    时间转换工具(BD时、GPS时、UTC时、北京时间相互转换,可计算日期)

    基于CNN神经网络实现的正方教务系统的验证码识别资料齐全+高分项目+文档+源码.zip

    【资源说明】 基于CNN神经网络实现的正方教务系统的验证码识别资料齐全+高分项目+文档+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    西北工业大学 人工智能程序设计 Python NOJ程序源代码.zip

    西北工业大学 人工智能程序设计 Python NOJ程序源代码.zip

    车辆、飞机、船检测12-YOLO(v5至v11)、COCO、CreateML、TFRecord、VOC数据集合集.rar

    车辆、飞机、船检测12-YOLO(v5至v11)、COCO、CreateML、TFRecord、VOC数据集合集.rar对象检测分配-V2 2024-03-10 7:04 pm ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括2992张图像。 以可可格式注释船舶飞机。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 没有应用图像增强技术。

    基于SpringBoot2/3+Sa-Token+Mybatis-Plus和Vue3+Ant Design Vue+Uni-App+Uni-UI,并以高质量代码为核心,简洁、高效、安全的快速开发平台

    SmartAdmin以「高质量代码」为核心,「简洁、高效、安全」的快速开发平台;基于SpringBoot2/3+Sa-Token+Mybatis-Plus和Vue3 +Ant Design Vue+UniApp (提供JavaScript和TypeScript双版本、Java8和java17双版本);满足三级等保、网络安全、数据安全等功能要求。并重磅开源千余家企业在使用的《高质量代码规范》等

    计算机语言学中并查集数据结构的C++实现

    欢迎下载

    jsp基于WEB操作系统课程教学网站的设计与实现(源代码+论文)(2024i6).7z

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;

    基于常规波束形成的时间窗方法以及基于卷积神经网络的时间窗方法水下目标方位估计算法详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 基于常规波束形成的时间窗方法以及基于卷积神经网络的时间窗方法水下目标方位估计算法详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    html+css网页设计 美食 蛋糕美食7个页面

    预览地址:https://blog.csdn.net/qq_42431718/article/details/144633992 html+css网页设计 美食 蛋糕美食7个页面

Global site tag (gtag.js) - Google Analytics