0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Swift 5.3版本将扩展受支持平台数量

汽车玩家 来源:开源中国 作者:开源中国 2020-04-01 15:53 次阅读

Swift 开发团队表示,其即将推出的5.3 版本的目标包括“增加对 Windows 和其他 Linux 发行版的支持”。他们提到 Swift 5.3 将包括重大的质量和性能增强。更重要的是,此版本还将扩展 Swift 可用和受支持的平台的数量,特别是增加对 Windows 和其他 Linux 发行版的支持。

苹果开源了 Swift 编程语言,但除了自家的平台,似乎没有动力去扩大对其他平台的支持,所以 Swift 跨平台的进展比较缓慢,目前仅支持 macOS 和 Ubuntu。

正因如此,不少社区成员十分积极将 Swift 移植到更多平台。例如,IBM 在服务器端方面为 Swift 贡献了Kitura框架,但由于令人失望的使用情况,IBM 在2019年12月放弃了对它的大部分支持。尽管如此,目前仍然有一个官方的Swift Server 工作组(SSWG),其主导的项目包括 Swift NIO(事件驱动的网络框架)。此外,还有知名的Vapor框架,这是一个可在 macOS 和 Ubuntu 上运行的 Web 开发框架。

对于Windows平台,曾经有过一个开源的SwiftForWindows项目来支持在 Windows 中提供易于使用的开发环境,不过现在似乎已宣告死亡。除此之外,还可以使用 Windows 的 Linux 子系统(WSL)运行 Swift 编译器,但会存在一个问题——交互式命令行 REPL(Read Eval Print Loop)在 WSL 1.0 中不起作用。所以,对于希望在 Windows 上使用 Swift 的开发者来说,在 Docker 容器中运行 Swift 工具链是行之有效的一个解决方案。

好消息是,目前针对 Windows 的原生 Swift 官方路由已经完善。该项目被称为swift-build而不是 swift-windows,因为它涵盖了 Linux 和 Docker 以及Windows。受支持的 Windows 10 最低版本为 10.0.17763.0(2018年10月更新)。

事实上,早在1月份发布的Swift 6 发展路径文档中,开发团队就表示要扩展可用和支持 Swift 的平台数量。现在在宣布Swift 5.3 的开发目标公告中,特别指出了“添加对 Windows 和其他 Linux 发行版的支持”。

在 Windows 和 Linux 上提供更好的Swift 支持将有助于服务器端或非可视化代码的开发,比如 Tensorflow 机器学习建模和 Vapor 等项目案例。

不过仍然有一个棘手的问题,那就是 GUI 应用程序。因为 SwiftUI 与苹果操作系统绑定在一起,此问题也许会有解决方案,但不幸的是,将 macOS 和/或 iOS 的 Swift 应用程序带到 Windows 并重新编译它的想法无法实现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206720
  • WINDOWS
    +关注

    关注

    3

    文章

    3438

    浏览量

    87141
收藏 人收藏

    评论

    相关推荐

    PSOC Creator由3.3版本升级到4.1版本后,程序的EEEPROM模块无法使用怎么解决?

    PSOC Creator由3.3版本升级到4.1版本后,程序的EEEPROM模块无法使用,请提供一下CY8C4247读写内部Flash的例程,谢谢 。
    发表于 02-01 06:58

     节能监管平台数据的分析及相关产品选型

    ​  节能监管平台数据的分析及相关产品选型 摘 要 :目前全国大部分省市都已建立节能监管平台,已积累了大量建筑的能耗数据,这些数据未能在建筑节能中得以有效应用。从能耗数据分析、应用两方面入手,对节能
    的头像 发表于 01-16 13:44 271次阅读
     节能监管<b class='flag-5'>平台数</b>据的分析及相关产品选型

    蓝牙5.1和5.3有什么区别?

    蓝牙5.1和5.3有什么区别? 蓝牙5.1和5.3是蓝牙无线技术的两个版本,它们在一些方面有所不同。下面将详细介绍蓝牙5.1和5.3之间的区别。 1. 传播范围和速度: 蓝牙5.1和
    的头像 发表于 12-09 15:06 1.1w次阅读

    GPIO无法触发中断常规排查方法有哪些?

    存在差异,我分享的仅仅是常规排查方法,供参考分析,希望对大家有帮助。紫光展锐官方线上支持平台——坦克邦,可为客户/开发者提供问题咨询和需求对接。
    发表于 11-24 16:11

    NXP MCUBootUtility v5.3版本特性解析

    痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.0.0)发布过去4个多月了,期间痞子衡也做过三个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v
    的头像 发表于 10-18 14:30 449次阅读
    NXP MCUBootUtility v<b class='flag-5'>5.3</b><b class='flag-5'>版本</b>特性解析

    PSA加密API 1.1 PAKE扩展资料

    本文件介绍了PSA加密API[PAS-CRYPT]规范的扩展,以提供支持密码认证密钥交换(PAKE)算法,特别是J-PAKE算法。 当拟议的延期足够稳定,可以被归类为最终延期时,它将被整合到未来
    发表于 08-09 06:43

    用于M 1.1扩展的ARM固件框架

    本文档介绍了Arm®平台安全体系结构的一组更新和扩展固件框架[FF-M]规范,旨在建立在1.0版本中提供的功能之上。 当提议的扩展完全稳定时,它们将被集成到FF-M
    发表于 08-09 06:23

    STM32CubeMX从V5.1.0版本更新以后为什么还是英文?

    注意,不是CubeIDE汉化哦!听说STM32CubeMX从V5.1.0版本更新以后就支持中文界面了,为啥我的还是英文的呢?
    发表于 08-05 06:30

    Arm的领域管理扩展(RME)介绍

    指南介绍了领域管理扩展(RME),这是该体系结构的扩展。 RME是Arm机密计算架构(Arm CCA)的硬件组件还包括软件元素。RME动态地资源和内存传输到一个新的
    发表于 08-02 11:40

    Arm架构的扩展详解

    架构,根据发布时间使用最新的扩展指南解释了Arm架构的扩展,并提供了如何阅读的指导并利用它们。 在指南的最后,您可以检查您的知识。您将学习以下内容: •用于标识
    发表于 08-02 06:08

    UM-B-045 用户手册范围扩展版本 2

    UM-B-045 用户手册范围扩展版本 2
    发表于 07-04 20:31 0次下载
    UM-B-045 用户手册范围<b class='flag-5'>扩展</b>器<b class='flag-5'>版本</b> 2

    DA14580 范围扩展器参考设计原理图版本 2

    DA14580 范围扩展器参考设计原理图版本 2
    发表于 07-04 20:31 2次下载
    DA14580 范围<b class='flag-5'>扩展</b>器参考设计原理图<b class='flag-5'>版本</b> 2

    有人xtensa工具链移植到gcc-5.3吗?

    。不幸的是,我在编译器中遇到了一些问题,我不得不切换到 gcc-5.3。有人 xtensa 工具链移植到 gcc-5.3 吗?还有其他人对用 Ada 编程 ESP8266 感兴趣吗?如果我能将移植结果集成到通用工具链中,我会很
    发表于 06-12 06:34

    如何使用Swift提高代码质量

    京喜APP最早在2019年引入了Swift,使用Swift完成了第一个订单模块的开发。
    的头像 发表于 05-19 09:42 287次阅读
    如何使用<b class='flag-5'>Swift</b>提高代码质量

    设备仿真模拟软件 QEMU 8.0 发布:改进对 ARM / RISC-V 架构支持

    和其他仿真 / 虚拟化改进。 对于惠普 Precision Architecture (HPPA) 平台,QEMU 8.0 版本改进了 fid(浮点识别)指令支持和 32 位仿真。 另一方面,s390x
    发表于 05-05 09:48