在经过三年的开发之后,Skip团队的开发者们宣布,他们将这款旨在通过单一的Swift/SwiftUI代码库来创建iOS和Android应用的工具完全开源。这一决定旨在促进该产品的普及以及社区的积极参与。
在此之前,Skip是一款需要订阅服务并购买许可证才能使用的付费工具,除非你是独立开发者或正在开发免费应用。Skip团队表示,这种商业模式使他们在没有外部投资的情况下成功推出了这款产品,但“事实上,开发者们都希望能够免费使用这些开发工具”。如今随着开源决定的出台,Skip已经与iOS和Android平台上的主要开发工具——包括Xcode、Android Studio以及各种流行框架——处于同一水平了,因为这些工具都是免费提供的。
不过,Skip团队表示,推动他们做出这一决定的因素并不仅仅在于成本方面:
“除了价格问题之外,我们还非常关心这款工具的长期稳定性。开发者们自然会担心将自己的整个开发计划建立在一家小型公司的付费、闭源工具上——如果这家公司倒闭了或者被收购了,他们的应用该怎么办呢?”
简而言之,正是出于这种考虑,Skip才选择了开源之路:这样一来,即使当前的开发团队不再存在,这款工具依然能够继续存在,从而保护开发者们之前投入的所有努力。
据Skip团队介绍,由于Android和iOS平台上的UI框架发展迅速,比如Material Expressive和Liquid Glass等新技术的出现,使用传统的跨平台UI框架会导致“界面过时、用户体验变差,从而在竞争中处于劣势”。而Skip则能够在两个平台上提供完全原生的用户体验。
事实上,Skip框架通过将SwiftUI与Jetpack Compose相结合,使得iOS开发者能够在一个代码库中同时编写应用程序的业务逻辑和用户界面代码,而且几乎不需要额外的工作量。
在一些早期使用Skip的人当中,当时它还是一款闭源的付费产品,他们就在Reddit上分享了他们的使用体验。用户jestecs指出:“虽然这个工具还存在一些小问题,但总体来说,使用起来还是相当不错的。”另一位用户JEHonYakuSha则进一步补充道:
“确实存在一些问题,比如某些已经被弃用的构造函数并不被支持,因此你可能需要用一些旧的方法来定义视图修饰符或组件,但一旦你习惯了这种做法,并且弄清楚了哪些功能是可用的话,使用起来就会非常方便。”
JEHonYakuSha还提到,你可以使用// SKIP INSERT这个标签在Swift代码中插入Kotlin代码片段,不过在iOS端只有Swift Package Manager是被支持的,因此管理内部依赖关系时可能会遇到一些麻烦。
根据Skip的文档中所提供的说明,这个框架最适合用于新项目,或是那些外部依赖较少的应用程序:
将现有的应用程序迁移到Skip平台上并非易事。大多数应用程序都包含许多仅适用于iOS系统的依赖库,这使得将其移植到Android系统上变得非常困难。
Skip是在三年前作为一款用于将Swift代码转换为Kotlin代码的工具而诞生的,后来它又增加了对Android系统中最常用的SwiftUI API的支持。在此期间,开发者们还成立了Swift Android工作组,并发布了Swift Android SDK,使得人们能够在Android系统上直接编译Swift代码。据开发团队介绍,如今Skip已经支持许多流行的集成框架,能够与数千个跨平台的Swift包进行交互,并提供了完整的SwiftUI实现方案。
另一种开源工具是SwiftCrossUI,它为macOS、Linux、Windows系统提供了类似SwiftUI的UI开发接口,同时也对Android系统提供了一定的支持。
