QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:001364

评论

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

李宏毅《机器学习》丨3. Gradient Descent(梯度下降)

AXYZdong

机器学习 7月月更

如何选择合适的体育场馆用LED显示屏

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

实操演示:如何用 ONES 制定 Scrum 迭代计划?

万事ONES

如何在Docker部署安装ETL调度运维工具TASKCTL

敏捷调度TASKCTL

DevOps 大数据运维 Kafka ETL TASKCTL Docker 镜像

LabView---信号发生器

一碗黄豆酱

IT小白也能轻松get日志服务---使用Nginx模式采集日志

云端explorer

nginx 运维 日志服务

低代码软件开发平台怎么选?

优秀

低代码开发 低代码平台

不是我说,不掌握这些坑,你敢用BigDecimal吗?

程序员小毕

Java 程序员 面试 后端 BigDecimal

用代码画时序图!简直太爽了

冉然学Java

Java 代码 UML

银行业数据安全建设专题分析

易观分析

银行安全

AIOps 还是 APM,企业用户应如何作出选择?

云智慧AIOps社区

APM 智能运维AIOps

LabView中禁用模块(属性节点)

一碗黄豆酱

LabView实验——温度检测系统(实验学习版)

一碗黄豆酱

京东云联合Forrester咨询发布混合云报告 云原生成为驱动产业发展新引擎

京东科技开发者

云原生 数字化 科技 混合云 多云

ABAP-EXCEL上传下载

桥下本有油菜花

abap ABAPexcel

发现增长新动力,企业到底需要一朵什么样的云?

ToB行业头条

如何做好安全开发?

华为云开发者联盟

云计算 开源 安全 开发

React原理学习路线

郭明

短视频直播系统源码

开源直播系统源码

短视频源码 直播系统源码 短视频直播系统

云图说丨数字资产链:您的数字资产产权保护神

华为云开发者联盟

区块链 云计算 开发 开发工具

话实践,行实干,成实事:“巡礼”数字化的中国大地

脑极体

Ampere Altra Max 提供可持续的高分辨率 H.265 编码

亚马逊云科技 (Amazon Web Services)

编码 Tech 专栏

消息中间件

Damon

7月月更

数据仓库开发 SQL 使用技巧总结

C++后台开发

MySQL 数据库 sql 中间件 后端开发

2022年中国娱乐直播市场年度综合分析

易观分析

直播市场

汇聚开发者智慧 夯实数据库产业根基

科技热闻

前端之路React学习笔记

恒山其若陋兮

7月月更

服务器运维需要24小时在线吗?需要周末加班吗?

行云管家

服务器 IT运维

医院怎么实现高效低成本运维?有什么软件可以满足吗?

行云管家

运维 IT运维 医院运维

可以 DIY 装修的商城系统,你也能拥有!

CRMEB

Python图像处理丨三种实现图像形态学转化运算模式

华为云开发者联盟

Python 人工智能 AI 图像形态学

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