39

Ballerina是一种通用、并发和强类型的编程语言,具有文本和图形语法,可以更好地集成

  1. Ballerina 是一种解释性语言吗?
  2. 如何建立芭蕾舞女演员计划?我们是否需要设置 Ballerina Home 或任何其他系统变量?
  3. Ballerina 如何支持依赖管理?有推荐的构建工具吗?
  4. 建议与芭蕾舞女演员一起完成什么样的任务?是不是只适合做一个特定的任务,比如各种系统的集成?
  5. 我在哪里可以找到语言规范以及 Ballerina 中支持哪些类型?
4

4 回答 4

26
  1. Ballerina 是一种解释性语言吗?

Ballerina 是一种编译型编程语言。它编译成平台中立的二进制形式,然后由 Ballerina 运行时解释。

  1. 如何建立芭蕾舞女演员计划?我们是否需要设置 Ballerina Home 或任何其他系统变量?

芭蕾舞女演员没有系统变量的概念。从https://ballerina.io/downloads/下载并安装特定于操作系统的安装程序

运行芭蕾舞女演员计划

使用ballerina run命令编译和运行 Ballerina 程序。

$ ballerina run hello.bal
Hello, World!

使用ballerina build命令生成扩展名为“balx”的静态链接可执行二进制文件。然后使用ballerina run命令运行程序。

$ ballerina build hello.bal
$ ls 
hello.bal hello.balx
$ ballerina run hello.balx
Hello, World!
  1. Ballerina 如何支持依赖管理?有推荐的构建工具吗?

Ballerina 项目通常由多个 Ballerina 软件包组成。包是源文件的集合。它定义了一个命名空间,并且包中所有源文件中的符号都属于该命名空间。如果你想引用另一个包中定义的符号,你需要先导入那个包,然后你可以用包名引用这个符号。

当您想要执行或构建 Ballerina 程序时,Ballerina 使用您的程序目录、内置存储库(Ballerina 发行版包含所有核心库包以及一些第三方连接器包)或 Ballerina 存储库来解析所有导入包目录。Ballerina 存储库是您机器中可用的本地存储库。

我们将在未来为您开发管理 Ballerina 存储库的工具。

于 2017-03-02T15:24:47.257 回答
15

Ballerina 是一种解释性语言吗?

Ballerina 被编译然后被解释。

如何建立芭蕾舞女演员计划?我们是否需要设置 Ballerina Home 或任何其他系统变量?

您可以使用您喜欢的文本编辑器或一些 IDE(目前 baallerina 支持 vim、IDEA、sublime Text3、VCS 和 atom)来编写您的芭蕾舞演员程序。当你有源 bal 文件时。您可以将其打包为存档(库、服务或主文件),也可以简单地运行单个 bal 文件。例如ballerina run main <path to bal path> (or you can give the path to archive)ballerina run service <path to archibe (or you can give the path to archive .bsz)>

你不必让芭蕾舞女演员回家。它将由芭蕾舞演员自己设定。但是你需要设置 JAVA_HOME

Ballerina 如何支持依赖管理?有推荐的构建工具吗?

它与 Go 语言非常相似,请参阅文档以获取更多信息。

建议与芭蕾舞女演员一起完成什么样的任务?是不是只适合做一个特定的任务,比如各种系统的集成?

如果您的程序包含大约 80% 或更多的集成场景,那么 Ballerina 将是一个很好的尝试。但是,如果集成部分要少得多(< 20%),那么您可以考虑其他东西。如果部分不同,那么您可以根据您的用例来决定。

我在哪里可以找到语言规范以及 Ballerina 支持哪些类型?

请参考Github location 和Ballerinalang了解更多信息。

于 2017-02-21T05:54:42.010 回答
11

是的,这正是我们的意图 - Ballerina 将很好地理解编写分布式交互的含义,这些交互预期性能良好、运行可靠、有弹性并安全工作。

我们没有想过让连接器的事件流支持 Hystrix 仪表板,但可以!

于 2017-02-28T10:03:47.520 回答
10

服务和参与者的一流表示非常适合集成。但从开发人员的角度来看——这些只是抽象,您可以用任何现代语言以可重用的方式轻松实现。所以起初它可能看起来没什么大不了的。但是如果你仔细观察,ballerina 不仅提供了这些抽象 OOTB,而且还处理了性能等问题,这样开发人员就不必担心这些事情了。尤其是 HTTP 连接池、流式传输等等。例如,Spring 没有在他们的 RestTemplate OOTB 中提供连接池,大多数情况下,开发人员在他们的应用程序性能非常糟糕之前不会担心这个问题。

Ballerina 应该提供 OOTB 或强制执行所有市场营销的最佳集成实践,我希望在特定的断路器中添加更多这些最佳实践。如果我们可以获取连接器的事件流,这样 netflix 的 hystrix 仪表板可以用于监控,那也很棒。

于 2017-02-26T16:31:47.423 回答