写点什么

Atomist 发布 Alpha 版本程序

  • 2017-02-15
  • 本文字数:1105 字

    阅读完需:约 4 分钟

Atomist 为想要尝试 Rug 语言的人们发布了一个 Alpha 测试版程序,Rug 是 Atomist 公司的元 - 元编程语言(meta-meta-programming language)。

Atomist 将 Rug 描述为一种自动化开发工作流的编程语言。Rug 是由 Atomist 精心设计的,它通过产生重复代码、样板代码来自动化开发工作流。

Rug 的目标是提高像微服务这样的分布式系统的工作效率。它关注于下列类型的结构中的一些问题,例如,跨服务的重复性编码任务:类库的升级、项目构建的配置、框架项目的生成等等。

Atomist 的首席工程师 Russ Miles 在 Jax London 2016 上首次披露了 Rug,他展示了 Rug 如何被用于项目的创建中。在 Rug 中有些类型被称作"发生器(generators)",它们能够被用于在项目开始时创建微服务。例如,你能够通过执行一条命令来得到一个类似 Spring Boot 的微服务框架。它包括了许多组件,例如 Gradle 的构建配置,包结构甚至还有 Dockerfiles

Miles 还展示了 Rug 和 Git 以及 GitHub 的结合。Atomist GitHub 有着创建 commit 和提出 pull requests 的能力,它就像一个真实存在的人在进行操作。Miles 解释道,由于很难将它和一个普通的开发者区分开来,所以它能使得融入一个团队更加容易。这是因为产生的 Git 历史记录和 GitHub 使用记录就像是一个真实存在的人在整个过程中手动完成的。

Miles 提到的另一个结合是与 Slack 的结合。Atomist Slack 机器人使得你能够通过提交命令来创建 GitHub 项目,设置权限然后生成项目框架。这就意味着你只需要在 Slack 的 channel 中敲上一个简单的短语就能立刻克隆出一个新的、完整配置的服务。

除了创建项目,Miles 还展示了 Rug 是如何在已经存在的代码库中做修改的。这被称为"编辑器"。展示的例子是 Rug 能够在多个项目之间升级类库。展示的使用案例是,在多个不同微服务的常用类库中应用一个安全补丁。

Rug 提供了它自己的测试框架。它采用的是 BDD 方法,它使得用户能够由外而内地描述应用的行为。它的目标是使得用户创建的 Rug 尽可能的健壮和可靠。

Miles 强调,Rug 不是限制你为某种特定编程语言编辑和创建代码。Rug 是语言无关的,它的目标是将你所使用的微服务中的不同架构更加容易地融合到一起。事实上,Rug 更加适用于那些复杂的系统和分布式系统,而这个是与传统的独立应用恰恰相反的。

Atomist 是由 Rod Johnson 缔造的,他也是 Spring 框架的创造者。你可以在线看一下这个十分钟的针对Miles 的采访

查看英文原文: http://www.infoq.com/news/2017/02/atomist-rug-metaprogramming


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-15 18:001209

评论

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

【Node.JS 练习】时钟案例

坚毅的小解同志

11月月更

筑道与寻术:华为云与汽车产业的时代问答

脑极体

聊聊mybatis的反射之Invoker模块

急需上岸的小谢

11月月更

【Node.JS 】服务器相关的概念

坚毅的小解同志

浅谈Go语言反射

闫同学

Go 反射 11月月更

Alien Skin Exposure2023独立编辑器和PS/LR插件

茶色酒

Alien Skin Exposure

CleanMyMac X2023苹果电脑系统清理维护软件

茶色酒

CleanMyMac X2023

Spring事务的底层原理

千锋IT教育

一文搞懂Go1.18泛型新特性

闫同学

Go 11月月更

【Node.JS 练习】考试成绩整理

坚毅的小解同志

node.js 11月月更

【Node.JS】buffer类缓冲区

坚毅的小解同志

node.js 11月月更

【Node.JS】事件的绑定与触发

坚毅的小解同志

node.js 11月月更

Hive 与 HBase 之间的区别和联系

千锋IT教育

Java反射(完)类加载和反射获取信息

浅辄

Java 反射 11月月更

性能测试知识科普(五):能力分层

老张

性能测试 岗位模型

知乎好物推荐文能不能赚钱:如何撰写好物推荐文

石头IT视角

kubernetes1.15极速部署prometheus和grafana

程序员欣宸

Kubernetes Prometheus 11月月更

【愚公系列】2022年11月 微信小程序-页面生命周期

愚公搬代码

11月月更

聊聊mybatis的反射之对象工厂

急需上岸的小谢

11月月更

什么是容器编排及编排的优点

穿过生命散发芬芳

容器编排 11月月更

【web 开发基础】PHP 自定义常规函数的声明及应用 (30)

迷彩

函数 PHP基础 11月月更 自定义函数 常规参数函数

Node.JS 】http的概念及作用

坚毅的小解同志

node.js 11月月更

【Node.JS】写入文件内容

坚毅的小解同志

node.js 11月月更

融云 IM 和 RTC 服务,「助攻」智能物流等客户打通链路、完善生态

融云 RongCloud

IM RTC

聊聊Mybatis的反射之ObjectWrapper

急需上岸的小谢

11月月更

API关键技术——身份认证

阿泽🧸

11月月更 API安全

2022-11-22:小美将要期中考试,有n道题,对于第i道题, 小美有pi的几率做对,获得ai的分值,还有(1-pi)的概率做错,得0分。 小美总分是每道题获得的分数。 小美不甘于此,决定突击复习,

福大大架构师每日一题

算法 rust 福大大

【Node.JS 】path路径模块

坚毅的小解同志

node.js 11月月更

支持向量机-线性SVM用于分类的原理

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

java并发编程挑战与原理剖析

想要飞的猪

synchronized volatile原理

融云推送服务:独享推送通道,更高并发能力,应用运营必备

融云 RongCloud

互联网 消息

Atomist发布Alpha版本程序_语言 & 开发_Andrew Morgan_InfoQ精选文章