在平台/语言之间共享代码(例如Swift,Kotlin,JavaScript)

时间:2017-10-03 21:35:24

标签: javascript swift shared-libraries kotlin cross-platform

应用程序通常是为三个平台(Web,iOS,Android)创建的。

目前我们使用的技术堆栈是AngularJS(web)和Ionic / Cordova(iOS和Android)。由于它们是基于JavaScript的,我们能够编写一次核心业务逻辑(例如登录),然后在三个(我知道,它是两个)平台上共享它,将UI实现留给各个平台。这种方法很棒,可以帮助我们节省大量的时间和人力资源 - 核心业务逻辑一次编写和测试,并在任何地方部署。 Google使用类似的方法开发Inbox,允许他们使用J2Objc分享70%的代码。

我们希望在新时代应用同样出色的功能--Swift,Kotlin和基于JavaScript的Web框架(例如React / VueJs)。我们愿意使用这三种语言中的任何一种来编写共享代码。我是Swift和Kotlin的新手,但到目前为止,这是我最好的研究成果:

所以开发过程将是Swift - > Kotlin - > JavaScript的。但是,转换后的代码不是生产就绪的,需要手动编辑。此外,编写的代码必须独立于语言/平台库。例如,要编写JSON解析器,我们在Swot 4中使用 Codable 协议,在Kotlin中使用 Moshi (外部库),JavaScript可以本机操作JSON。

我想看看是否有人对这个问题有一个很好的解决方案。或者问题可能是找出可以共享的内容和三次必须完成的内容。或者这个过程需要花费更多时间或容易出错,我们应该在三个不同的时间写出相同的逻辑。

谢谢!

0 个答案:

没有答案