注:语言类话题容易引战。这里只是记录了一些个人感想,如果 swift 从来没有进入过你的视线,不如来 at a glance.
最近考虑捡起十几年前想要学习的 iOS App,才发现这么多年过去了,苹果开发领域发生了巨大的改变。
第一眼印象是 Swift UI 的体验相当丝滑,借鉴了 React / Vue 的理念,简简单单就能实现当年费劲的 UI 布局。其次是 Swift 语言本身。
优雅
Swift 借鉴了 Ruby Lang,算得上一门优雅的语言,这可能是最大的优点。具一个例子
struct User {
let id: Int
let name: String
let email: String?
}
func sendWelcomeEmail(to user: User) {
guard let email = user.email else {
print("no email, skip")
return
}
print("sending email to \(email)")
}
不需要大量 if err != nil 清晰可读;再比如没有 TypeScript 一堆 import,诸如此类。
渐渐走向成熟
粗略了解后发现,version 3 之后语法开始定型,再也不像之前每个版本都需要大改。
性能
它的性能预计和 go, rust, C 等接近,不会有 Ruby 或者 node 这类脚本型语言的槽点。
通过这个命令可以编译一个 bin 文件,能够直接运行
swift build -c release
./.build/release/example
缺点:它属于 Apple
就像 C# 是一门优秀的语言,但它属于微软的;Swift 因为属于 Apple 的,注定很难成为服务器开发的主流。生态比其他语言弱太多。
我想,以下的情况只要一条,就适合用 Swift 开发服务端
- iOS app 端的独立开发者,想只用一门语言搞定全部
- 追求 Developer Happiness,想要一个优雅的高性能解决方案
- 学习目的,想要熟悉 Swift 语法,做个小项目练习
别的想不到有什么理由用它