2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

工业互联网:加速从“中国制造”迈向“中国智造”

华为云开发者联盟

云计算 工业互联网 华为云 华为云开发者联盟 企业号 5 月 PK 榜

主流框架都用SPI机制,看一下他们的区别和原理

Java你猿哥

ssm 框架 JavaSPI Spring SPI Dubbo SPI

IPRAN网络结构智能优化

鲸品堂

网络 通信 企业号 5 月 PK 榜

CH32V307V-EVT-R1 简单上手入门

繁依Fanyi

嵌入式

利用Python分析快手APP全国大学生用户数据(2022 年初赛第四题 )

繁依Fanyi

大数据

10分钟带你徒手写个Java线程池

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜 Java线程池

MySQL 并行复制方案演进历史及原理分析

Java你猿哥

Java MySQL ssm 并行复制 主从延迟

阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源

Java你猿哥

Java 微服务 算法 JVM 多线程

Python网络爬虫原理及实践 | 京东云技术团队

京东科技开发者

Python 爬虫 python 爬虫 爬虫入门 企业号 5 月 PK 榜

SPFA 算法:实现原理及其应用

繁依Fanyi

算法 SPFA

架构师必备!阿里P8耗时6个月手码架构师进阶笔记真的香

Java你猿哥

架构 前端架构 架构设计 架构师 后端架构

景区共享电动车与校内共享电单车是否可行

共享电单车厂家

共享电动车厂家 景区共享电单车 校内共享电单车 共享电动车投放

从0到1:可自定义数据列的成绩查询小程序开发笔记

CC同学

基于 Rainbond 的混合云管理解决方案

北京好雨科技有限公司

Kubernetes 云原生 rainbond 混合云架构

【OpenAI】私有框架代码生成实践 | 京东云技术团队

京东科技开发者

openai ChatGPT ChatGPT4 企业号 5 月 PK 榜 私有框架

Zero-ETL、大模型和数据工程的未来

Baihai IDP

人工智能 大模型 数据工程 企业号 5 月 PK 榜 LLMs

Redis Set 用了 2 种数据结构来存储,到现在才知道

Java你猿哥

Java ssm sets

多种文件清理:Disk Cleanup Pro 激活版

真大的脸盆

Mac Mac 软件 磁盘清理 清理工具

一条SQL如何被MySQL架构中的各个组件操作执行的

华为云开发者联盟

sql 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

从0开始:活动打卡小程序开发笔记

CC同学

未来市场主流的五大LED显示屏

Dylan

技术 方案 LED显示屏

面向万物智联的应用框架的思考和探索(上)

HarmonyOS开发者

HarmonyOS

字节首次公开!23年Java后端面试上岸手册 ,竟含全套后端面试考点

Java你猿哥

Java 算法 JVM 多线程 java面试

阿里P8撰写1500页程序性能调优笔记:GitHub标星79k

程序知音

Java 性能优化 JVM java架构 Java进阶

数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

MobTech袤博科技

Apache Pulsar 在火山引擎 EMR 的集成与场景

字节跳动数据平台

大数据 开源 云原生 解决方案 企业号 5 月 PK 榜

神秘的IP地址8.8.8.8地址到底是什么?为什么会被用作DNS服务器地址呢?

wljslmz

DNS 三周年连更

你想要的【微前端】都在这里了! | 京东云技术团队

京东科技开发者

前端 微前端 微前端框架 企业号 5 月 PK 榜 mirco

分享:集群吞吐量以1抵5,车企MySQL八大痛点的解决方案

OceanBase 数据库

数据库 oceanbase

如何保证 RabbitMQ 的消息可靠性

小小怪下士

Java 程序员 RabbitMQ 消息中间件

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