写点什么

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:42928
用户头像

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

关注

评论

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

netty系列之:HashedWheelTimer一种定时器的高效实现

程序那些事

Java Netty 程序那些事 5月月更

工业质检如何以“智”取胜?15分钟上手工业零部件检测全流程方案

百度开发者中心

明明已部署EDR,服务器为什么还是被入侵了?

青藤云安全

安全攻防 网络安全 主机安全

清晰明了!人人都能懂的Python自动发送邮件实战教程

Python全栈库

Python 编程 程序员 面试 全栈开发

漏洞扫描器并非100%靠谱,那么容器镜像安全又当如何保证?

青藤云安全

网络安全 安全管理 漏洞修复

三、云原生安全关键要素

穿过生命散发芬芳

云原生安全 5月月更

一文彻悟容器网络通信

阿里巴巴中间件

阿里云 容器 云原生 中间件

Dubbo3 落地实践及 Mesh 解决方案

阿里巴巴中间件

阿里云 开源 云原生 dubbo 中间件

批量作业调度引擎 TASKCTL 安装与实例部署

敏捷调度TASKCTL

程序员 DevOps 分布式 ETL 自动化运维

vuejs中的mixin混入-局部混入/全局混入

itclanCoder

Vue 前端开发

开源生态在中国:播撒种子,待成雨林

科技热闻

《安全大讲堂》 第十四期|不破不立:软件供应链的威胁与方案

腾讯安全云鼎实验室

供应链 安全大讲堂

国内首个开源物联网边缘工业协议网关软件,Neuron v2.0产品解读

EMQ映云科技

开源 物联网 IoT 5月月更 neuron

DTMO直播预告|Taier1.1新功能详解&控制台介绍

袋鼠云数栈

大数据

Cocos 常用功能介绍

空城机

Cocos 5月月更

时间轮算法

领创集团Advance Intelligence Group

算法 时间轮算法

【LeetCode】后继者Java题解

Albert

LeetCode 5月月更

JAVA OOM异常可观测最佳实践

观测云

可观测性 可观测

SeaTunnel 加入开源之夏!一起来拿奖金

Apache SeaTunnel

Apache 大数据 开源 workflow Seatunnel

Hoo研究院 | 什么是流动性池?(下)流动性池的运作

区块链前沿News

defi 流动性 Hoo

接口测试工具简介!

Liam

测试 自动化测试 测试工具 测试自动化 测试管理工具

这些年,使用缓存踩过的坑

鲸品堂

缓存

Spark离线开发框架设计与实现

百度开发者中心

小白福利!教你用低代码实现一个简单的HarmonyOS页面跳转功能

HarmonyOS开发者

HarmonyOS 低代码开发

vuejs中的普通方法/计算属性computed与监听属性watch四者的比较

itclanCoder

JavaScript Vue 前端开发

毕设不会做,怎么办?

图灵教育

机器学习 深度学习 毕设

FinClip+系列 | VUE前端开发框架核心原理

Speedoooo

Vue 前端框架 移动开发 移动端开发 小程序容器

邀您填写调研问卷 | 2022中国 AIOps 现状调查全面启动!

博睿数据

AIOPS 博睿数据

vuejs中的默认插槽-具名插槽-作用域插槽三者的比较

itclanCoder

JavaScript Vue 前端开发

大咖说*图书分享-Node布道师狼叔|三卷书详解Node.js

大咖说

前端 后端 代码

攻防演练中常见的8种攻击方式及应对指南

青藤云安全

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