Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift 雙週報 2016/2/2
Search
Johnlin
February 02, 2016
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift 雙週報 2016/2/2
Johnlin
February 02, 2016
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
300
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
400
Ruby 型別檢查工具簡介
johnlinvc
0
620
Swift Actor 實作探索
johnlinvc
0
200
用 mruby 來寫跨平台工具
johnlinvc
0
120
Actor model 簡介
johnlinvc
0
240
一起玩 Helm 3
johnlinvc
1
160
為什麼 App 卡卡的
johnlinvc
2
1.3k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
260
Other Decks in Programming
See All in Programming
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
140
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.6k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
260
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
240
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.8k
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
430
霧の中の代数的エフェクト
funnyycat
1
440
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
890
数百円から始めるRuby電子工作
tarosay
0
110
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
550
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Crafting Experiences
bethany
1
230
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
How to Talk to Developers About Accessibility
jct
2
440
Designing for Timeless Needs
cassininazir
1
410
Claude Code のすすめ
schroneko
67
230k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
エンジニアに許された特別な時間の終わり
watany
108
250k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Transcript
Swift 雙週報 2016/2/2 John Lin(@johnlinvc)
From the core • Swift 2.2 branch 已經建立 [1] •
Swift 已經可以在 FreeBSD 上運作 [2] • Swift 開始被Port 至 cygwin(Windows) [3] • Swift project 開始使用CI [8]
Swift 2.2 包含standard lib, lldb。 不包含package manager, core library. 程式碼將會和2.1相容,主要是效能提升與bugfix
預計三月或四月正式發佈
Swift Project CI https://ci.swift.org/ 將會測試所有主要的branch,以及所有pull request 與Github 整合,可以在Github上看到status
Evolution • Swift package manager 將會整合測試功能 [4] • 在將function 指派至常/變數時將可以指定參數label
[5] • Swift Cocoa API 將會有重大改變 [7]
Package Manager Testing 未來Swift package manager 將會整合測試功能。只要將Test 放進 Tests資料夾中, 再執行
swift test 就會自動編譯並執行測試。 swift build 時也會同時執行測試以確保品質
Function Argument Label 在將function 指定至變數時可以指定Label extension UIView { func insertSubview(view:
UIView, at index: Int) func insertSubview(view: UIView, aboveSubview siblingSubview: UIView) func insertSubview(view: UIView, belowSubview siblingSubview: UIView) } let fn: (UIView, UIView) = { view, otherView in button.insertSubview(view, aboveSubview: otherView) } 未來 let fn = someView.insertSubview(_:at:) let fn1 = someView.insertSubview(_:aboveSubview:)
Cocoa Swift API 的改變 Swift 3.0 的 Cocoa API 將會有重大的改變,變得更加直覺與swifty
class UIBezierPath : NSObject, NSCopying, NSCoding { ... } ... path.addLineToPoint(CGPoint(x: 100, y: 0)) path.fillWithBlendMode(kCGBlendModeMultiply, alpha: 0.7) 將變成 class UIBezierPath : Object, Copying, Coding { ... } ... path.addLineTo(CGPoint(x: 100, y: 0)) path.fillWith(kCGBlendModeMultiply, alpha: 0.7)
Community • Swift.org 繁體中文翻譯進行中 http://swiftlang.tw • SwiftGL ,讓你用Swift 寫 OpenGL,已經基本上可以運作
[6]
References [1]: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160111/000802.html [2]: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160118/000911.html [3]: https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20160111/000862.html [4]: https://github.com/apple/swift-evolution/blob/master/proposals/0019-package-manager-testing.md [5]:
https://github.com/apple/swift-evolution/blob/master/proposals/0021-generalized-naming.md [6]: https://github.com/AE9RB/SwiftGL.git [7]: https://swiftlang.tw/swift%20blog/swift/cocoa/api/2016/01/29/swift-api-transformation/ [8]: https://swiftlang.tw/continuous-integration/