首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用ruby的MagLev构建生产web应用程序?

是否可以使用ruby的MagLev构建生产web应用程序?
EN

Stack Overflow用户
提问于 2013-04-17 04:16:06
回答 1查看 906关注 0票数 14

总的来说,我是Rails和ruby的粉丝,可能会着手为金融机构构建企业应用程序。我真的很喜欢磁悬浮的想法,不知道它是否值得考虑。我还没有找到很多关于maglev是否被用于野外生产的信息,更不用说用于高安全目的了。

是否有人使用MagLev成功部署了任务关键型应用程序?如果是这样的话,你能提供关于你的体验的细节,也许还可以给应用程序起个名字?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 10:18:38

TL;DR:我们即将在MagLev上发布一个生产应用程序。你也许应该等等。

我为我的长篇大论道歉;我在这方面有很多不相关的想法,我仍然在尝试联系。

我的团队即将在MagLev上发布第一个生产应用程序。这是一条坎坷的道路,但我们非常有信心,最终它将被证明是正确的决定。我在今年的几个会议上谈到了我们的经验,我很高兴能更详细地谈一谈,但这里有一个(长)概述。

正如你可能已经知道的,GemStone有着悠久而自豪的历史,为金融行业的公司提供支持。我们主要是Ruby商店,我们开发金融应用程序。我们关心我们的数据,所以GemStone对我们来说是一个显而易见的选择。MagLev允许我们使用现有的Ruby知识和大部分代码,并将数据存储在GemStone中。这是(看起来)完美的婚姻。

我们选择从一个小的应用程序开始,它对我们的用户来说是新的,并且是最容易和最低风险的移动。我们选择了发票演示应用程序,它与我们的托管结帐平台绑定在一起。能够简单地持久化对象,而不用担心映射或转换,这使得开发变得非常快速和愉快,我们已经避免了与ORM和持久化相关的许多问题。我们计划继续将我们现有的其他应用程序迁移到MagLev。

也就是说,您可能应该等待,除非以下所有条件都为真:

  1. 你是(或与之共事)对语言及其实现足够熟悉的Ruby专家,可以调查和修复实现细节,其中许多细节都是用Smalltalk编写的。
  2. 你是(或和他一起工作的)开发人员,他们特别了解在Smalltalk中工作的细微差别,但通常是基于映像的环境。
  3. 你可以非常熟悉GemStone/S平台,语言,部署机制和工具。
  4. 如果你遇到困难,你已经准备好放弃一切,用Smalltalk重写你的应用程序。(我承认:我希望MagLev有时会完全失败,只是为了找个借口。)

有一些事情我们在持续的基础上有问题。因为,对我们来说,以上所有这些都是正确的,我们继续这样做。我们经常处理下面的每一个“问题”。有时是每天。

  1. 回溯跟踪本身几乎不可能读取,当您遇到许多异常时,您必须使用GemStone Smalltalk的命令行调试器。这里有一个相当长的学习曲线。
  2. Ruby库的兼容性是...比你预想的要少。基本上,你可以相信大多数用纯Ruby编写的东西都没问题。基本上,任何使用C扩展但没有ffi的扩展都会被淘汰。这是一个令人惊讶的数量。过度使用元编程的库会让MagLev感到困惑。这是Rails领域中的许多事情,
  3. 代码的重载和迁移都是手动的。当您更改磁盘上持久化对象的类定义时,您必须手动管理加载新代码和迁移现有持久化实例。

尽管如此,对我们帮助最大的事情是我和大多数(所有?)在GemStone中了解MagLev的人中的一员。他们对我们来说太棒了。HPI的学生在修复bug和帮助我们解决问题方面也做出了无价的贡献。

关于我的团队,因为我的团队基本上是让这一切成为可能的。我们是四个开发人员。我们每个人都有超过十年的经验(我想我们实际上都超过了12-15岁)。我们中的一些人(至少我)有超过十年的Ruby经验。我们对Smalltalk有不同程度的经验,尽管我们中没有人发布过在它上面赚钱的生产应用程序。我活跃在Ruby和Smalltalk社区(我正在从前者“过渡”到后者)。

我们的经历有点坎坷,但大部分都是愉快的。如果我当时知道我现在知道的,我还会再做一次。我希望我们在这方面的工作将在未来帮助其他人做同样的事情。我认为MagLev在未来是一个有价值的工具。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16046238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档