阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

关注

评论

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

运维学网络安全还是云计算好?哪个更有前景?

行云管家

云计算 运维 网络安全

leetcode 572. Subtree of Another Tree 另一棵树的子树 (简单)

okokabcd

LeetCode 数据结构与算法

仅靠一文便火爆全网!开源阿里绝密800页JDK源码笔记:霸榜GitHub

Geek_0c76c3

Java 数据库 程序员 架构 开发

计算机网络——媒体接入控制——静态划分信道

StackOverflow

编程 计算机网络 9月月更

计算机网络——点对点协议PPP

StackOverflow

编程 计算机网络 9月月更

AntDB数据库与鼎甲科技完成产品互认证,共筑数据安全防线

亚信AntDB数据库

AntDB AntDB数据库

软件测试 | 测试开发 | InfluxDB 2.0 原理与应用实践

测吧(北京)科技有限公司

测试

元年洞察|数字化转型进程中的创新技术菜谱

元年技术洞察

数据中台 数字化转型 趋势研究

Forrester发布中国数据治理生态报告,亚信科技AntDB数据库等四款数智产品入选

亚信AntDB数据库

AntDB AntDB数据库

边缘计算在视频直播场景的应用与实践

火山引擎边缘云

边缘计算 视频直播 火山引擎边缘计算

一文读懂“云游戏”

Finovy Cloud

人工智能 云渲染 云游戏

架构实战营模块1作业

乖乖IvyShine

用 nodejs 搭建脚手架

coder2028

node.js

软件测试 | 测试开发 | Shell 进程通过 ContentProvider 实现跨进程通信

测吧(北京)科技有限公司

测试

双非二本程序员,年近30,5年间在大厂中横跳,工资翻了三番

程序知音

Java java面试 后端技术 秋招 Java面试八股文

认识 ESP-IDF-v4.3+工程结构(ESP32-C3应用调整示例)

矜辰所致

ESP32-C3 9月月更 ESP-IDF

javascript 高级编程 之 Array 用法总结

hellocoder2029

Vue

数据中台打造企业数据能力组件中心

元年技术洞察

数据中台 SaaS服务应用 PaaS平台化能力

计算机网络——媒体接入控制的基本概念

StackOverflow

编程 计算机网络 9月月更

软件测试 | 测试开发 | Golang死信队列的使用

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 利用 rpush 和 blpop 实现 Redis 消息队列

测吧(北京)科技有限公司

测试

医疗卫生机构应该多久进行一次等保测评?

行云管家

网络安全 信息安全 等保测评 等级测评

MySQL查询数据库表记录数

源字节1号

软件测试 | 测试开发 | Spring boot 之 RestTemplate访问

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 一种能有效缓解环境噪声对音频质量干扰的方案

测吧(北京)科技有限公司

测试

存储资源盘活系统,“盘活”物联网架构难题(上)

天翼云开发者社区

软件测试 | 测试开发 | gitlab 服务端 hook, 拦截糟糕的提交到仓库

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Pytorch GPU 训练环境搭建

测吧(北京)科技有限公司

测试

AntDB入选《爱分析:2022数据智能厂商全景报告》

亚信AntDB数据库

AntDB AntDB数据库

led显示屏的合理亮度很有必要

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

软件测试 | 测试开发 | 自定义form表单验证

测吧(北京)科技有限公司

测试

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