今天看到 Xcode 8.2 beta 的 release note
Xcode 8.2 is the last release that will support Swift 2.3. Please migrate your projects to Swift 2.3 code to Swift 3 syntax by opening the project and choosing Edit > Convert > To Current Swift Syntax.
讓我想到 Apple 對於促使開發者更新開發技術的做法。
有人跟我說過,
Apple 更新的手段很激烈,
當過了某個版本,就會強制妳不要用什麼東西
這個其實有一部分是不對的。
當 Apple 決心要推什麼東西的時候,
會很用力地堆
而且會很果斷的斷掉舊的做法
這點可以接受,我也樂於擁抱新東西和改變。
擠牙膏
為什麼說是擠牙膏呢?
來一些例子好了
去 C 化
目前還對 Swift 要去 C 化還有點印象,
就用這個來當例子吧。
Apple 的做法是會在前一個版本先開始提示你說:「我要把這個東西拿掉囉~!」
就把即將會 deprecate 的做法,先以 Warning
的方式呈現,
因為一般的開發團隊都會把 IDE 吐出的 Warning
數量盡量減到 0 ,
所以 Apple 也讓開發者們,可以先在這段時間先修改掉,
避免更新 SDK 的大版本造成的衝擊太大。
更新到 Swift 3
到 Xcode 8 的時候,
其實大家應該都知道從 2.x 到 3.x 的變化都很大。
於是 Apple 也先開放大家可以先用 Swift 2.3 ,
讓開發者們可以先用最小的 effort 讓自家產品可以先在 iOS 10 平台上開發,
先熟悉 iOS 10 的 SDK 後,再來轉換到 Swift 3.x ,
對線上的產品衝擊也會比較小。
強制更新
當然,
擠牙膏也有擠完的一天
當擠完的時候, Apple 當然就會要開發者強制更新了
所以說 Apple 無情好像也沒有那麼的無情?
人家都有提早說了