什么类型的Web应用程序是Scala的Lift框架的最佳选择?

时间:2010-04-04 04:58:19

标签: scala lift

什么样的应用程序是Scala电梯网络框架的最佳选择。

我的要求:

  1. 易于开发和维护
  2. 准备用于生产目的。即良好的在线社区,定期补丁以及安全和性能修复等更新。
  3. 框架应该存活几年。我不想在1年后没有更新/补丁的框架中编写应用程序。
  4. 具有良好的UI模板引擎
  5. 与Java的互操作(Scala满足了这个要求。为了完整起见,这里只提一下)
  6. 良好的组件导向开发。
  7. 开发所需的时间应与Web应用程序的复杂性成比例。
  8. 不应该完全基于配置。我讨厌代码自动为我生成并在引擎盖下做各种各样的魔术。这是一个调试噩梦。
  9. 开发Web应用程序所需的提升知识量应与Web应用程序的复杂性成比例。也就是说我不应该花费10个多小时来学习Lift来开发一个简单的TODO应用程序。 (我了解数据库,Scala)
  10. Lift是否满足这些要求?

5 个答案:

答案 0 :(得分:8)

好吧,您可以浏览一下您构建Ajax To Do应用程序的Lift getting started指南; - )

电梯已经存在了3年半。谷歌集团拥有近2,000名员工。每月有40个提交者,其中10个以上提交。我们每月关闭40到80张门票,每月发布一次里程碑版本。像FourSquare,Xerox和Novell这样的公司都有基于Lift的硬核应用程序。

答案 1 :(得分:4)

恕我直言,电梯符合这些要求。不过对#4不太确定,另一方面,它有很好的后端集合可以与其他服务进行交互。

我认为这主要取决于复杂性。 Lift以自己的方式做事,你可以很容易地做到,或者你可能不会。我需要花一天的时间来编写TODO应用程序 - 并且一定要使用liftweb group,因为Stack Overflow上的Lifters并不多 - 看看会怎么样。我想你能够对它发表意见 - 只是一天。

答案 2 :(得分:4)

答案 3 :(得分:2)

我认为您也应该在电梯邮件列表中发布此信息: http://groups.google.com/group/liftweb

答案 4 :(得分:1)

阅读seventhings.liftweb.net并浏览Lift in Action的前两章后,Lift的最佳点是,具有高级客户端功能的复杂的基于HTML页面的应用程序(如Facebook和Twitter)

比较单页ajax" webapp"应用程序(like a calendar或大多数anything built with ExtJS)提供高级客户端功能与纯javascript和ajax中间层服务,但编程模型是javascript,html被抽象掉。比较传统的HTML"网站"基于wiki或博客的应用程序 - 想想twitter bootstrap + jquery - 不需要高级客户端功能。

单页网页应用程序和基于页面的网站我认为除非你有经验丰富的人才,否则会比使用Lift更复杂。纪律严明的团队。这可能与产品成熟度和团队规模相关 - Facebook和Twitter是极其庞大的应用程序,拥有数百个交互团队和强大的工程领导力。

我认为,当他们所需要的只是简单的HTML模板和简单的ajax端点时,一小群人仍在探索和形成各种应用程序应该如何构建的意见可能会被Lift误导为更复杂的解决方案。 / p>