跳到主要內容

WWDC 2014 紀要 3 — Dev 開發工具方面的新玩意

螢幕快照 2014-06-04 上午1.19.51螢幕快照 2014-06-04 上午1.17.10

本文所有的圖片,皆截自 Apple WWDC 2014 Keynote 視訊串流

庫克又回主場,一開始就強調開發者在 Apple 這邊可看到的市場有多大,App Store 現已有超過 1200 支 app 在其中,每週有超過 3 億位訪客進到 App Store 裡頭。這些訪客不是只有瀏覽,也會不斷地在下載,截至目前為止,累計的 app 下載次數已超過 750 億次。

App Store 的功能將會更加完善,並加入軟體套組購買、介紹影片還有免費的 TestFight Beta App Testing 的平台。App Store 的搜尋功能一向為人所詬病,希望在這一次更新後,會有比較好的表現,讓開發者的 app,更容易為目標使用者接觸到。

克雷大又上場了,這次幾乎完全是他老兄的秀。一開始他就開宗明義地指出,這次的 iOS 有推出多達 4000 個 API。哇咧!這,大家又有得消化了。每天看一個,也要…嗯…10 幾年。:P。

首先是 Extensibility,其概念是將現有 App 的沙盒(sandbox),藉由系統的支援,讓其他程式可以取用,讓 app 可提供服務給其他的 app 來使用。要做到這樣且要兼顧 iOS 的安全性,其實並不是那麼容易,這個需要系統層級的支援。下圖顯示 Extensibility 的概念。由此,app 可以用系統為中介將服務提供出來,而這種作法也讓通知中心的 Widgets 變成可行。

螢幕快照 2014-06-04 上午1.34.06

比方說在 photo app 中可取用其他程式所提供的濾鏡,編輯完後,會回到 photo app 中。

螢幕快照 2014-06-04 上午1.39.58

通知中心的 Widgets 模組。

螢幕快照 2014-06-04 上午1.42.17

在 Safari 瀏覽的網頁中調用翻譯軟體進行即時文字翻譯。

螢幕快照 2014-06-04 上午1.44.19

Extensibility 還包括了第三方鍵盤,這讓使用嘸蝦米輸入的小弟出現了不用再學習拼音輸入法的曙光。第三方鍵盤需要的權限,需要通過使用者授權才行,這也可以確保安全性,至少是使用者同意過的。但您可以想想看,為何一個輸入法需要您允許它使用網路呢?

螢幕快照 2014-06-04 上午1.49.51

好用的 TouchID 終於有 API 開放了,這讓開發者為之興奮,因為以往需要使用者輸入帳密的情況,現在都可以用一個手指與 Home 鍵接觸的動作來完成。簡單說,就是更容易進行安全的付款,這對 開發者而言,當然是一件大事。:P

螢幕快照 2014-06-04 上午1.52.18

Camera API 也開放更多功能,手動對焦、曝光與白平衡的控制並加入 PhotoKit API,讓攝影類的 app 能提供更多更有彈性的功能。

螢幕快照 2014-06-04 上午1.58.05

接著是 HealthKit 與 HomeKit,Health Kit 已於前篇介紹過了,HomeKit 則是一種可將現有智慧家電整合的一種架構,這套架構可讓廠商的家電產品為 iOS 所支援,App 開發商也就不需要一一地去解決各種單一型智慧家電的控制問題。iOS 有支援汽車環境的架構,也有支援家用環境的架構,則單一 app 能夠幫使用者處理的事就變多了,未來整合型的多功能 app 應該會愈來愈多,而且搭配 Siri 後,就可以一語定天下了。:P

iPhone 變得愈來愈重要時,偷兒可能先設法弄到您的 iPhone,然後再弄到您的指紋,然後就通行無阻了。(亂入的)

螢幕快照 2014-06-04 上午1.59.31螢幕快照 2014-06-04 上午2.04.51

再來是 CloudKit,著重在協助開發者處理網路伺服器後端的事務。我們常需要將資料庫、商業邏輯訊息推播、認證等放在伺服器端,然後為了可擴展性,可能也考慮將伺服器放在雲端服務上,這會需要許多技術考量、整合與成本。CloudKit 試著提供一些"有限制"的服務,解決開發者這類的問題。看一下底下的流量、容量的支援,其實算是滿有誠意的。

螢幕快照 2014-06-04 上午2.13.35

接下來是 3D 繪圖引擎的部份,現行的 iOS 是透過 OpenGL 來取用硬體的運算能力,但 OpenGL 太大,以致效能降。新推出的 Metel 架構,大大減少 OpenGL 的做虛功的部份(overhead),讓提升繪圖硬體的效率。

螢幕快照 2014-06-04 上午2.21.50螢幕快照 2014-06-04 上午2.17.29螢幕快照 2014-06-04 上午2.19.27

不知道是不是會有 3D 版的植物大戰殭屍。

螢幕快照 2014-06-04 上午2.25.49

EPIC 所推出的禪風庭園,櫻花樹瞬間開滿櫻花。在 iPad 的 A7 處理器上能看到這種 3D 繪圖的效果,真是令人吃驚。一張畫面上都需要執行幾千次的繪圖功能叫用(draw call)。Metal 的效能是 OpenGL 的 10 倍。

螢幕快照 2014-06-04 上午2.29.44

此外,還有與去年推出的 SpriteKit 搭配的 SceneKit,基本上它是讓您處理遊戲場景用的框架。

螢幕快照 2014-06-04 上午2.35.28

Xcode 當然也有更新,這次提升 6.0 了,其中推出了一種新的程式語言,Swift。這當然會對 app 的創作產生根本性的影響。Swift 的 Playground 讓您可以像直譯式語言般地測試 app,這種互動性高且執行效率佳的編程環境,應該可以提高不少程式設計人員的工作效率。看來優點不少,不知學習曲線如何,有興趣的朋友,趕快下載 Swift 電子書(iBook Store)及下載 Xcode 6.0 Beta(Apple Developer Center) 來試看看。

螢幕快照 2014-06-04 上午2.38.10螢幕快照 2014-06-04 上午2.46.17

以上是關於開發工具方面的革新。

螢幕快照 2014-06-04 上午2.51.50螢幕快照 2014-06-04 上午2.52.10

以上(包含前 2 po)是小弟所整理的 WWDC 2014 的重點,基本上是依據 Keynote 的順序來編寫的,給您作參考。未盡完善處,也請見諒。這些新東西,往後還有得討論呢!謝謝收看。

忘了補充,目前上述三套軟體都是在試用測試的狀態,正式版會在今年第三季推出,當然一定是跟著新裝置推出,這點不會再錯了。

留言

這個網誌中的熱門文章

以 Ad-Hoc 方式測試軟體 iOS 7.1 裝置需要使用具 SSL 憑證的伺服器

在進行 iOS 的 app 開發時,常需要讓一些團隊成員或測試者測試 beta 版的 app。如果您以 Ad-Hoc 方式發送測試用 app 給測試者下載安裝的話,使用者的裝置若已更新至 iOS 7.1,則您需要找個有 SSL 憑證,支援 HTTPS 的 host 來放置您的 app,否則測試者要下載測試軟體時,會遇上憑證無效的錯誤訊息而無法下載安裝。 提供給您參考,若您有相關的解決方法,也請不吝賜教分享給大家。 [更新] 可將 ipa 與 plist 檔上傳到 Dropbox 中的"公開檔夾(public)"中,然後連到 itms-services://?action=download-manifest&amp;url=<plist 檔的位置>,即可進行 Ad Hoc 的發佈。當然,測試者的裝置需經過開發裝置的 UDID 碼註冊才行。 另外,Google Site 因不支援以 itms-services:// 的協定連結,所以無法透過 Google Site 的連結來進行 Ad Hoc 的發佈。  [回覆 -> 天天網友] 請如圖所示般,複製 .ipa 檔的公開連結,將 .ipa 的公開連結加到 .plist 檔中。以同樣的方法複製 .plist 檔的公開連結,並將連到 .plist 檔的超連結寫成 itms-services://?action=download-manifest&amp;url=<plist 檔超連結> 的形式(沒有角括號),放在網頁中,或以電郵傳給測試者,點選之後,即可將 .ipa 檔下載安裝。不是以 HTML 的 <a href=""> 來連結。 您的問題應該是沒有在網頁的連結中使用 itms-services:// 的方式來進行連結,或不是連結到 .plist 的公開連結上。 .plist 的 URL 看起來會像是 https://dl.dropboxusercontent.com/u/xxxxxxx/xxxxxx/xxxxxxxx.plist。網頁中連結的寫法是 <a href=itms-services://?action=download-manifest&amp;url=https://dl.dropboxuserco...

某些特定的 iOS 開發者遭受由 iMessage 而來的 DoS 攻擊

據 MacRumors 引述 The Next Web 的報導指出,某些特定的 iOS 開發者遭受由 iMessage 而來的 DoS(Denial of Service)。 據遭受鎖定的 iOS 開發者 Grant Paul 的說明,Apple 並沒有為 iMessage 的訊息傳輸量設限,所以攻擊者可以用短時間內發出大量訊息的方式來進行阻斷式攻擊。另外,攻擊者也可發出以 Unicode 編碼的"複雜"文字或數量龐大的文字訊息,讓 iMessage 受不了,無法計算(render)文字訊息,這就可以讓 iMessage 無法順利開啟。 文章中也提到 iH8sn0w 這位越獄工具與軟體的開發者指出,透過 AppleScript 就可以發出這種 DoS 的攻擊。 有興趣的朋友可以跳轉收看。

Google Spaces 社群通訊的新選擇

繼 Google+ 之後,Google 再發表 Spaces 搶佔社群通訊的市場。與 Line、Facebook Messenger 類似,Google Spaces 讓使用者可以在建立群組空間後,將親朋好友加進群組中,隨時張貼分享連結、圖片、YouTube 影片與文字訊息,而且可針對某某個貼文發起群組對話。 使用 Spaces 需要有 Google 帳號,相信在使用者普遍擁有 Google 帳號的情況下,這不會是問題。底下由小弟截圖說明一下 Web 版的操作概況,有興趣的朋友們,可以試用看看。Google Spaces 官網:https://get.google.com/spaces/ Google Spaces 官網   登入 Google 帳號後可建立群組空間   按下透過下列方式邀請,可以複製連結、電子郵件與 Facebook 的方式來邀請親朋好友。 分享的貼文   在群組中分享連結   在群組中分享圖片   在群組中張貼文字訊息 介面簡潔,操作容易,有 Google 帳號的朋友用來應該很方便。Google Spaces 也有 Android 與 iOS 的版本,在手機上也可以使用。 小弟也弄了個群組,https://goo.gl/spaces/139AccKnTA7TvaXe6,雖然與老宅男沒什麼好聊的,但歡迎您加入,測試一下 Google Spaces,:p。 **本來想透過學校的 Google App for Education 帳號來使用,如此工作或教學上就比較方便,沒想到目前 Google Spaces 目前尚未支援 GAP for Education 的帳號,希望 Google 可以很快就提供 Spaces 給教育單位的帳號使用。**