写点什么

SapphireSteel Software 推出可视化 Rails 工作台

  • 2008-04-28
  • 本文字数:2983 字

    阅读完需:约 10 分钟

SapphireSteel Software 近日发布了其旗下产品 Ruby in Steel 1.2 的更新,这一 Ruby 开发环境包括了新的可视化 Rails 工作台。Ruby in Steel 是一个应用于 Visual Studio 2005/2008 的 Ruby 开发环境完整扩展。在 Ruby in Steel 安装完成之后,开发人员可以使用许多特性,包括:

  • 通过拖拽进行的可视化 Rails 页面设计
  • 智能提示和自动完成
  • 集成于 Visual Studio 内的调试
  • Ruby on Rails 支持
  • 完整的特性列表

并且支持许多 Ruby 运行时:

  • 标准 Ruby 1.8.6
  • JRuby
  • IronRuby

InfoQ 最近有机会访问了 SapphireSteel Software 的共同创立者之一——Huw Collingbourne。双方就 SapphireSteel Software 这一核心产品的里程碑发布进行了交流。

Rob Bazinet (RB): 可否为我们介绍一下你本人以及如何开始创立并运营这个公司的情况吧?

Huw Collingbourne (HC): SapphireSteel Software 由 Dermot Hogan 和我在 2006 年初建立,致力于开发最好的 Ruby and Rails IDE。我们评估了一些可能的平台,然后很快得出结论,那就是对于我们所希望的高度集成且可视化的 IDE 来说,Visual Studio 提供了最好的工具集。

Dermot 和我都已经有很长时间的专业程序员经历—— 不过好像除此一点之外,我们俩还是差别蛮大的。Dermot 之前一直在以一个高级开发人员的身份为许多跨国银行开发实时交易系统。我想你可以猜到他的专长 在于解决复杂技术问题并优化程序的运行速度——这些技能对于开发我们的 Ruby 智能提示和自动完成功能,以及高速的‘Cylon’Ruby 调试器。和他不 同,我更愿意做一些不那么底层和艰深的工作。我已经用过许多语言,从 Java 和 C#到 Smalltalk,当然还有 Ruby。我在英国为 PC Plus 撰写了十年 Delphi 方面的专栏文章。我猜你可能会觉得我真正的爱好是探索更好的可用性。如果一个软件使用起来不是方便和令人愉快,那么即便它 速度再快,看起来再用心良苦也是徒劳的!

RB: 可视化 Rails 工作台是什么形式的呢?它是被整合在 Visual Studio 2005/2008 中,还是作为独立的应用程序存在呢?

HC: 可视化 Rails 工作台是一个 Ruby On Rails 全页面设计环境。它不是一个独立的产品。它被紧密集成在最新(1.2)的 Ruby In Steel 开发者版本中。

自从我开始使用 Rails,我发现模板系统总是特别难以掌握。这是因为在你设计网页的时候无法看到程序运行之后网页的最终 效果。另一方面,你必须同时编辑多个内嵌 Ruby 代码的 HTML 片段文件(Layouts, Views 和 Partials)。这对程序员来说是可以的,但是对于希望使用类似于 Dreamweaver 的可视化工具建造像素级别精确度设计的 web 设 计人员来说,这种模板系统显然是不够好的。

这里的问题是如何让人们可以在设计时看到完整的网页。第一步是提供一种方式可以将多个 Rails 模板文件合并成一个页面。一 旦完成这个操作,你接下来就需要处理内嵌的 Ruby 代码,将这些代码转换成 HTML 标签。Rails 模板中的 Ruby 片段定义了各种可视化的以及数据绑定 控件,例如文本框和日期选择器。可视化 Rails 工作台可以作为 Ruby 模板和 HTML 页面之间双向转换的桥梁。

最终的目标是建立一个由多个 ERb 模板复合而成的 HTML 页面,然后将这个页面导出给第三方的 web 设计工具,比如 Dreamweaver。当这步完成,它允许在 Dreamweaver 中修改这个设计,而后结果重新导入到可视化 Rails 工作台中,这个结果将被重新分 解为果个 Rails 格式的模板。

RB: 使用可视化 Rails 工作台,我可以创建什么类型的应用呢?

HC: 它可以被用来创建 Rails1.2 和 2.0 的 web 页面。本质上讲,任何 一个需要漂亮界面的 Ruby 应用都可以用这个工作台来进行设计。我需要澄清一点,可视化的 Rails 工作台不需要任何特殊的依赖。它不需要任何已定义的模 板引擎或者类库。一旦你完成你应用的设计,它会被保存为 100% 标准的 ERb 文件。

RB: 我能像在 Visual Studio 里那样,通过一个可视化设计器创建视图吗?

HC: 当然可以。你可以使用可视化编辑器来将控件拖放到 web 页面中,并用鼠标 移动或改变它们的大小。你可以用 Properties 面板来添加或改变颜色,加入文字。你可以关联样式表并在完成后马上看到样式的变化。你在一个标准网页 中所能做得一切,现在也可以在 Rails 的 web 页面中做了,因为它们都已经被加入到了工作台中。在你完成你的设计后,所得结果会被自动分离并转译为 Rails 格式的 ERb 模板。

RB: 可视化 Rails 工作台最厉害的地方在哪里?

HC: 关键词是“可视化”。它可以让你在设计时通过 Visual Studio 所习惯的拖拽工具来编写完全的 HTML 页面。对于 Ruby On Rails 来说,这是以前从没有过的。

RB: 我是否还能运行所有的命令(create model, controller, etc,)?我对 Rails 的命令行很熟悉。

HC: Ruby In Steel 有众多内建的 Rails 工具。我们有众多可以用来运行‘generate’脚本和 Rake 任务的面板,例如你将喜欢的脚本保存到列表,然后再需 要用到它们的时候从中挑选。当一个脚本完成时,任何新生成的文件都会自动地被加入到解决方案浏览器中,这样如果你不想看到它们,你就不会看到。另一方面, 如果你确实想使用命令行,我们也有一个能弹出命令行窗口的工具,以你在解决方案浏览器中所选择的路径作为初始位置。

RB: 可视化 Rails 工作台是否为部署提供帮助?如果是这样,它会部署到什么样类型的 web 服务器环境中?

HC: 我们并没有任何内建的部署工具。我们现在的关注点完全在于为开发过程提供 辅助。我们为使用 Mongrel、WEBrick 或 LightTPD 进行本地部署提供了支持。不过,用户最终还是可以自由的选择任何标准的服务器环境。正 如我之前所说,可视化 Rails 工作台所生成的代码是完全“常规的”Rails 模板。当你部署应用时,你并不需要上传任何附加文件——没有任何多余到模 板、工具或代码库。我们的一个基本设计目标在于让可视化 Rails 工作台能够无缝的地与普通 Rails 模板互操作。在设计结束时,,甚至没有人需要知道应 用并不完全由代码构成——如果不考虑这一应用似乎显得很美观!

RB: 我如何设定我想要使用的运行时:IronRuby、Ruby (MRI)、Rubinius 还有 JRuby?

HC: 目前我们已经为 MRI、JRuby 和 IronRuby 提供了内建支持。你 也可以使用 Rubinius,但我们现在还没有 Rubinius 专用的工具支持。MRI 一直是我们默认的配置项,我们最近也已经为 JRuby 增加了专门的 支持。这使得用户可以在 Visual Studio 内置的 console 中运行 JRuby,同时也能使用我们 JRuby 版本的‘JCylon’来快速 debugger 来调试程序。

我们计划最终提供对 IronRuby 的完全支持。不过现在 IronRuby 本身的开发还尚在 alpha 阶段——而且我们的 IronRuby 支持也应该被称为 alpha 版。即便如此,现在我们已经有了很强大的 IronRuby 代码编辑器和可视化表单设计器。我们会随着 IronRuby 自身的发展不断增加新的特性。

RB: 那么我能否在 Ruby in Steel 1.2 中使用 NET 平台上目前可用的各种测试工具?

HC: 我们尚未开拓特定于.NET 测试工具的使用。随着 IronRuby 日益临近推出,我们会认真的考虑这一问题。

RB: 听起来很棒,非常感谢今天抽出时间接受我们的访问。

关于 Ruby in Steel 的信息可以参见 SapphireSteel Software 的 web 站点,该站点同时提供 Ruby in Steel 1.2 手册。Huw 同时维护着一个非常活跃的博客,经常发布各种关于产品的更新信息以及使用该软件的各种有用小技巧。

查看英文原文: Visual Rails Workbench available now from SapphireSteel Software

2008-04-28 04:42953
用户头像

发布了 24 篇内容, 共 31738 次阅读, 收获喜欢 0 次。

关注

评论

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

申请鲲鹏920测试机试水+编译nginx

草宝虫

nginx 鲲鹏920 centos7 armv8

求稳不得

孙苏勇

职业 发展 职场

微服务架构深度解析与最佳实践 - 第六部分

kimmking

微服务 最佳实践 深度解析 高可用

2019 年

贾献华

2020 2019 总结 日历 计划

凡事必先骑上虎背

Steve

学习 态度 方法论

一文讲清楚 MySQL 事务隔离级别和实现原理,开发人员必备知识点

古时的风筝

MySQL 数据库 事务隔离级别 mysql事务 数据库事务

越是困难,越是要做有分析判断能力的人

霍太稳@极客邦科技

创业 团队管理 个人成长

微服务架构深度解析与最佳实践-第二部分

kimmking

微服务 最佳实践 深度解析 高可用

微服务架构深度解析与最佳实践 - 第三部分

kimmking

微服务 最佳实践 深度解析 高可用

程序员职业生涯的八点感想

池建强

程序员 职业

归去来兮:递归

曲镇

算法

聊聊:Python

谢烟客

Python 人工智能 编程

【译】Rust 开发者的2019

WasmEdge

程序员 rust

你不是迷茫,只是缺乏目标

Steve

学习 身心健康 方法 自我管理

数据分析师应该了解的数据湖

数据社

大数据 数据仓库 数据湖 数据分析

微服务架构深度解析与最佳实践 - 第七部分

kimmking

微服务 最佳实践 深度解析 高可用

两边夹的应用二

孙苏勇

算法 两边夹 重排序 函数式接口 Lambda

黄金思维圈,养成透过现象看本质的能力

非著名程序员

读书笔记 程序员 程序人生 提升认知

微服务架构深度解析与最佳实践(全篇汇总)

kimmking

微服务 最佳实践 深度解析 高可用

微服务架构深度解析与最佳实践-第一部分

kimmking

微服务 最佳实践 深度解析 高可用

两边夹的应用

孙苏勇

算法 积水问题 两边夹

浅谈数据中台

数据社

大数据 数据中台 数据仓库

亚马逊云 AWS LightSail 搭建高性能 LNMP 环境并安全部署 Wordpress

SnowHide雪诺海德

nginx Wordpress 部署 SELinux 安全上下文配置 亚马逊云 AWS Lightsail 安全

最近看了两本书:The Rules of Life 和 Make Big Happen

霍太稳@极客邦科技

创业 团队管理 自我管理

一个独立开发者,他是如何做到月入 20 万的?

非著名程序员

程序员 独立开发者 副业赚钱 开发者 程序人生

阿里笔记之数据模型

迹_Jason

大数据

小程序的当下和未来可能 | GMTC.2019深圳站演讲文稿

崔红保

小程序 uni-app

平均响应1000ms到200ms,PHP和Go那家强?

拖地先生

php 架构 性能优化 后台开发 运维

微服务架构深度解析与最佳实践 - 第四部分

kimmking

微服务 最佳实践 深度解析 高可用

微服务架构深度解析与最佳实践 - 第五部分

kimmking

微服务 最佳实践 深度解析 高可用

一个运营经理人的工作两周年总结

霍太稳@极客邦科技

高效工作 身心健康 项目管理 自我管理

SapphireSteel Software推出可视化Rails工作台_.NET_Robert Bazinet_InfoQ精选文章