Raspberry Pi上的Swift状态

编辑(2019年4月):原始文章写于2017年1月,回溯到Swift 3.0时代,当时Linux支持还很年轻。 截至此编辑之时,Swift已在5.0版本上发布,并且Linux支持比以前好得多。 如果您正在寻找有关Raspberry Pi上Swift的最新信息以及可以在系统上使用的预编译Swift二进制文件,我建议访问 Umberto Raimondi 博客。 一旦有更多时间,我将用新信息更新此帖子。

最近,我对编写与外部硬件设备(例如传感器或电动机)接口的软件感兴趣。 与外部硬件交互的最简单方法之一是通过Raspberry Pi。 小型计算机具有40个GPIO引脚,可让您将其连接到外部设备。 大约一个月前,我买了Raspberry Pi,看看我能用它做什么。

每天,我是一名iOS开发人员,为初创公司开发移动应用程序。 如今,我创建的大多数应用程序都是使用Swift编程语言编写的。

我爱斯威夫特。 新的Apple语言是现代,安全和富有表现力的。 尽管开发速度可能无法与Python等脚本语言相提并论,但是静态类型系统使整个应用程序更加安全可靠。 由于我精通Swift,因此我想探索它对Pi的支持。 这是我到目前为止发现的。

在Raspberry Pi上编写Swift需要两个主要组件:

  • 该平台的Swift编译器和软件包管理器
  • 一个支持GPIO的Swift库

尽管Apple确实发布了支持Linux的预编译Swift二进制文件,但它仅支持具有x86处理器的平台。 对Raspberry Pi等ARM设备没有官方支持。 但是Swift是开源的,在一些专门的贡献者的惊人工作下,Swift编译器被移植到ARM系统。

Umberto Raimondi最近发布了可在Pi上运行的Swift 3.0.2预编译二进制文件。 由于软件包管理器在那里被破坏,我在Raspbian版本上遇到了问题。 但是一旦我安装了Ubuntu Mate,然后安装了Swift Ubuntu二进制文件,一切都可以正常工作。

Umberto还是用Swift编写的GPIO库的作者。 您可以使用Swift Package Manager安装该库。

使用上述基础结构,我能够运行我的第一个Swift程序,以使用Raspberry Pi上的GPIO引脚点亮LED。

结论:

Raspberry Pi对Swift的支持仍处于试验阶段,并由一组专门的开源贡献者推动。 地狱,甚至Linux支持都处于早期阶段,因为像Foundation这样的核心库尚未完全移植到OS。 没有IDE支持,起初,我使用nano编辑程序,这不是一种愉快的体验。

但是,Pi上的Swift可以使用,如果您想玩转,应该可以很快设置它。 希望苹果有一天会正式支持ARM平台,以便我们可以放心地部署Swift的全部功能!