[关闭]
@DianQK 2016-09-13T03:10:18.000000Z 字数 1019 阅读 1290

Swift 服务器端编程大纲

未分类


给我一个 Swift 服务器端编程的理由

Swift 具备服务器端编程要求的客观条件:
Swift 作为现代语言,开发效率高,性能表现优异,社区活跃,前景广阔。

  1. Swift 开源:开源社区的大力支持
  2. 官方大力支持:和 IBM 合作,WWDC 2016 Session Going Server-side with Swift Open Source - Apple WWDC 2016
  3. Swift 3.0:开发者热衷 Swift。移植 Swift 到更多平台想想都让人兴奋
  4. wift 语言特性:相比较其他一些流行的 Web 编程语言(Python,Ruby),Swift 是一门快速和安全的语言。它可以执行本机代码 (Native Code)。这是一门强类型语言,引入了可选类型,你可以确保永远不会有任何空指针的错误。不同于其他安全语言(Java 或 C#),Swift 表达更加清晰。这是一个不错方式帮助我们快速构建应用,同时又不用操心一些编译器的事情:
    1. 构建一款没有崩溃的应用程序
    2. 缩短应用开发周期
  5. 性能测试:由于是编译型语言,并且苹果做了大量对语言层面的优化工作,所以性能表现被人看好。这里有篇目前 Swift Server-Side 框架与 Node.js 的性能 benchmark 的对比:Benchmarks for the Top Server-Side Swift Frameworks vs. Node.js

现状

现有框架介绍:

  1. Perfect: 使用 libevent 库
  2. Vapor:使用 select
  3. Kitura:使用的 GCD:https://github.com/apple/swift-corelibs-libdispatch
  4. Zewo:使用 libmill ,Go 风格的 C 并发编程库

Swift 服务器端编程必备知识:

深入框架实现:

  1. Socket 编程
  2. 并发处理:

目前的构建手段:

  1. libdispatch:库已经开源,但是官方 API 还不支持,涉及的平台移植,还需要一些时日,Swift 可以调用 libdispatch 的 C 接口实现。
  2. libevent:封装底层连接事件,支持 select 和 poll 模型。
  3. libmill

现有框架使用的底层库:

  1. Perfect: 使用 libevent 库
  2. Vapor:使用 select
  3. Kitura:使用的 GCD:https://github.com/apple/swift-corelibs-libdispatch
  4. Zewo:使用 libmill ,Go 风格的 C 并发编程库
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注