最近在玩微信小程序,有一部分业务需要部署后端,为了省事我选择了LeanCloud。它有多种语言支持,文档也很完善,能快速搭建服务,正好合适。其后端云引擎支持Node.js、Python、Java、Php四种语言,因为我近来写Android多一些,所以采用了更熟悉的Java。
下载了SDK来一看,是基于maven构建,用法挺简单。但我的云服务需要用到的一个算法是我以前在Android上用Kotlin写的,为了避免重新翻译,我尝试将Kotlin也引入云引擎项目,果然可行。在这记录分享一下。
整个修改分为三步
1. pom配置
增加kotlin的依赖与maven-plugin的配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<dependencies>
...
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.0.5</version>
</dependency>
...
</dependencies>
<build>
<plugins>
...
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>compile</id>
<goals> <goal>compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<goals> <goal>test-compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
</project>
所以工程的文件结构是这样的
2. 翻译AppInitListener类为Kotlin语言版
1 | package com.cpiz.loanassistant.cloud |
3. 开始使用Kotlin写云函数
1 | package com.cpiz.loanassistant.cloud |
至此结束,原本的目的只是想让算法那部分直接用Kotlin的实现,但最终做到了使用Kotlin编写整个项目,开发效率可比Java高多了。