日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

科技是一種人文素養(yǎng),我認(rèn)為 Swift Playgrounds App 的核心定位正是如此。

未來(lái)世界創(chuàng)新、創(chuàng)業(yè)、創(chuàng)造的大門(mén),需要我們用一種有著人文溫度的方式去開(kāi)啟。

我自己從初中開(kāi)始看硅谷三大春晚——Apple WWDC 開(kāi)發(fā)者大會(huì)、谷歌I/O 大會(huì)、微軟Build 大會(huì);在高中的時(shí)候,雖然身為文科生,但是開(kāi)始了裝「黑蘋(píng)果」、自學(xué)編程的神秘?zé)捊鹦g(shù)之旅。swift 因此成了我的計(jì)算機(jī)語(yǔ)言母語(yǔ),而大學(xué)時(shí)期也很幸運(yùn)地入選了 WWDC18 獎(jiǎng)學(xué)金計(jì)劃,能夠帶著我們團(tuán)隊(duì)自己開(kāi)發(fā)的 App 見(jiàn)到了庫(kù)克。我們后來(lái)休學(xué)創(chuàng)業(yè),拿了幾輪融資,至今還在這個(gè)波詭云譎卻充滿魔力的創(chuàng)業(yè)場(chǎng)拼搏。

這些過(guò)去的經(jīng)歷,都成了喬布斯所說(shuō)的「connecting the dots」的一部分。我和一家做少兒素質(zhì)與編程教育的機(jī)構(gòu)也有著不少的合作,也帶過(guò)幾支天才少年隊(duì)伍,看著他們忘我地投入,看著他們迸發(fā)著顛覆性創(chuàng)造力的光芒。

由 Apple 推出的編程工具 Swift Playgrounds 近期推出了 4.0 大版本,我使用它開(kāi)發(fā)了一個(gè)簡(jiǎn)單的疫情數(shù)據(jù)看板 App,并以此作為一次簡(jiǎn)單的體驗(yàn),將過(guò)程中的思考和體悟和大家分享。

我們?yōu)楹螌W(xué)習(xí)編程、如何學(xué)習(xí)創(chuàng)造,Apple 給了我們他們的思考。雖然 Swift Playgrounds 現(xiàn)在還充滿了各種瑕疵,但我們也看到了全新的可能:AR、AI、傳感器、多維交互、物聯(lián)網(wǎng),這些前沿的技術(shù),以及伴隨其中的人文主義光輝,都能夠在這個(gè)小小的設(shè)備中,經(jīng)由每一個(gè)開(kāi)發(fā)者的研磨,如同坩堝一般,煉就出自己的結(jié)晶。

讓我們開(kāi)始吧。

本文概要

  • Swift Playgrounds 更新了4.0大版本,可以在 iPad 中實(shí)現(xiàn) App 的開(kāi)發(fā)并發(fā)布到 App Store。
  • 我嘗試著在上面寫(xiě)了一個(gè)疫情數(shù)據(jù)實(shí)時(shí)看板 App,并將代碼開(kāi)源在了 GitHub。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

  • 開(kāi)發(fā)體驗(yàn)充滿了驚喜與迷思。雖然 SwiftUI 很好用,Swift Playgrounds 也簡(jiǎn)化了 Xcode 開(kāi)發(fā) App 的信息量,但相比 Xcode,前者現(xiàn)在的體驗(yàn)并不能說(shuō)很好,一些必要的功能依然有缺失或需要優(yōu)化。
  • 但是我非常看好其未來(lái)的潛力與戰(zhàn)略意義,我相信長(zhǎng)遠(yuǎn)來(lái)講,Swift Playgrounds 離Everyone Can Code 更近了一步。
  • 我相信 iPadOS 是比 macOS 離計(jì)算機(jī)的終極形態(tài)「通用智能」更進(jìn)一步的形態(tài)。
  • 這是 Apple 版本「元宇宙」生態(tài)的重要一步。

注:本文中所有新冠疫情數(shù)據(jù)來(lái)自 騰訊開(kāi)放平臺(tái)數(shù)據(jù)接口,僅用作產(chǎn)品功能效果演示,不具有任何防疫相關(guān)參考價(jià)值,新冠疫情準(zhǔn)確數(shù)據(jù),請(qǐng)查閱官方數(shù)據(jù)平臺(tái)。

Swift Playgrounds 開(kāi)發(fā) App 的上手體驗(yàn)

在 Swift Playgrounds 中寫(xiě)一個(gè)疫情數(shù)據(jù) App,整個(gè)體驗(yàn)充滿了驚喜與迷思,總之情緒如同一杯馥郁的咖啡,濃烈而復(fù)雜。

我一直在用一臺(tái) 2017 年的 10.5 英寸玫瑰金 iPad Pro,它伴隨了我的整個(gè)大學(xué)到現(xiàn)在創(chuàng)業(yè)的時(shí)光。它曾陪伴著我去過(guò) WWDC18 面對(duì)面見(jiàn)過(guò)庫(kù)克(沒(méi)錯(cuò))。然而自從升級(jí) iOS 14 以來(lái),我開(kāi)始對(duì)其體驗(yàn)心生不滿,尤其是 Swift Playgrounds 在更新 4.0 大版本前的頻頻閃退和卡頓問(wèn)題著實(shí)讓我頭大。

雖然我從朋友那里搞來(lái)了一臺(tái) 12.9 英寸的全面屏 iPad Pro,但由于種種原因沒(méi)有升級(jí)到 Swift Playgrounds 開(kāi)發(fā) App 所需的 iPadOS 15.2 的環(huán)境,于是最終還是投奔到了自己的陳年舊相識(shí)的懷抱。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

好在 Swift Playgrounds 4.0 對(duì)系統(tǒng)兼容性與性能的優(yōu)化,讓我瞬間覺(jué)得「爺青回」。我嘗試了直接在 iPad 上觸屏、觸屏 鍵盤(pán)、觸屏 鍵盤(pán) Magic Trackpad 的體驗(yàn),確實(shí)覺(jué)得如果沒(méi)有一套像樣的鍵鼠方案做配合,效率依然會(huì)大打折扣。

由于 macOS Monterey 12.1 依然沒(méi)有開(kāi)放 Universal Control 通用控制功能,我最終選擇將 iPad 畫(huà)面投屏到 Mac 的顯示器上。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

作為一個(gè)簡(jiǎn)單的嘗試,我打算寫(xiě)一個(gè)實(shí)時(shí)展示疫情數(shù)據(jù)的看板 App。

SwiftUI、預(yù)覽與調(diào)試

SwiftUI 配合 iPad 的屏幕操作邏輯,可以說(shuō)很大程度降低了 UI 部分開(kāi)發(fā)的復(fù)雜度,右側(cè)的 App 預(yù)覽響應(yīng)迅速,提供了所見(jiàn)即所得的及時(shí)反饋。

左側(cè)的代碼窗口也新增了 Xcode 樣式的自動(dòng)補(bǔ)全,在多數(shù)情況運(yùn)轉(zhuǎn)良好,然而也會(huì)在不少場(chǎng)合耍個(gè)脾氣,考一考你「默寫(xiě)」代碼的能力。當(dāng)然我期待這些問(wèn)題能夠盡快在后續(xù)版本中得到改善。

我們也可以直接編譯代碼,Swift Playgrounds 則會(huì)開(kāi)啟一個(gè)新窗口來(lái)運(yùn)行應(yīng)用,日志則均可通過(guò)自帶的控制臺(tái)輸出。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

使用第三方 Swift Package 資源

Swift Playgrounds 可以像在 Xcode 編輯 .plist 文件一樣,為應(yīng)用增加系統(tǒng)級(jí)能力支持。而同時(shí),Swift Playgrounds 也允許開(kāi)發(fā)者使用 Swift 包管理器來(lái)在線獲取第三方模塊的支持。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

發(fā)布至 App Store

App 可以選擇自帶的占位符或者自定義圖片作為圖標(biāo),并且打包編譯,發(fā)布到 App Store。Swift Playgrounds 自帶的手繪風(fēng)格圖標(biāo)頗有「Everyone Can Code」的質(zhì)感。

寫(xiě)完的 App 也可以直接發(fā)布 App Store 審核。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

.swiftpm 工程文件

iPadOS 上 Swift Playgrounds 開(kāi)發(fā) App 的 .swiftpm 工程無(wú)法在 macOS 上的 Swift Playgrounds 中打開(kāi)(或許還需坐等 macOS Swift Playgrounds App 更新),但是可以在 Xcode 的 Swift Playgrounds 模塊運(yùn)行。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

我們現(xiàn)在能夠看到 macOS 上 Xcode App 中的 Swift Playgrounds 功能模塊、macOS 獨(dú)立的 Swift Playgrounds App 與 iPadOS 上的 Swift Playgrounds App 三者并存且互相有所不兼容的情況。對(duì)于初學(xué)者而言,若不加了解,這確實(shí)是一條令人有些困惑的產(chǎn)品線。當(dāng)然我相信 Apple 會(huì)在后續(xù)解決這一問(wèn)題。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

不足之處

此次體驗(yàn)下來(lái),我認(rèn)為新版的 Swift Playgrounds 也還存在以下不足:

  • 欠缺必要的文檔說(shuō)明?,F(xiàn)有的不少 API 接口和類(lèi)型格式都缺少必要的內(nèi)容提示。
  • 交互。現(xiàn)有的鍵鼠交互還是明顯遜色于 Mac,在代碼編輯頁(yè)面觸屏幾乎毫無(wú)用武之地。類(lèi)型的查詢需要 control 鼠標(biāo)選中對(duì)應(yīng)的內(nèi)容,再在提示的標(biāo)簽中選擇「查詢」后才能看到。我不認(rèn)為 iPad 的操作一定需要模擬鍵鼠,但我認(rèn)為現(xiàn)有的交互邏輯在效率、易用等層面依然還有不少優(yōu)化空間。
  • 穩(wěn)定性。自動(dòng)補(bǔ)全、類(lèi)型提示、錯(cuò)誤修正和編譯檢查依然有不少 Bug,而開(kāi)發(fā)過(guò)程中,我也遇到了一些迷之閃退的問(wèn)題。

新手上路建議

對(duì)于想通過(guò) Swift Playgrounds 入門(mén)編程的新手,我也在這里提出一些個(gè)人建議。

首先是設(shè)備,我手中的 2017 年款 iPad Pro(A10X 處理器)運(yùn)行 Swift Playgrounds 4.0 沒(méi)有出現(xiàn)明顯的性能瓶頸,因此我姑且認(rèn)為往后的新機(jī)型應(yīng)該都有著不錯(cuò)的性能表現(xiàn)。

配件

  • 物理鍵盤(pán):必要。擁有一個(gè)Smart Keyboard / Magic Keyboard,或是任何兼容的物理鍵盤(pán),是讓 Swift Playgrounds 開(kāi)發(fā) App 的編程體驗(yàn)達(dá)到及格線的必備條件。如果只依賴觸屏操作,我認(rèn)為當(dāng)前的體驗(yàn)是無(wú)法接受的。
  • 觸控板 / 鼠標(biāo):建議。一個(gè)更接近桌面級(jí)操作的指針能夠讓你更精確地選中、復(fù)制、定位代碼內(nèi)容。全面屏 iPad 官方推出的 Magic Keyboard 配備的觸控板,或是第二代的 Magic Trackpad 都可以與 iPad 搭配使用。
  • 外部顯示器:看各自喜好。Typc-C 接口的 iPad 能夠直接將畫(huà)面無(wú)延遲地直輸外部顯示器,且保證更高的分辨率。而目前通過(guò) AirPlay 協(xié)議投屏畫(huà)面帶來(lái)的延遲與畫(huà)質(zhì)的壓縮,還是會(huì)讓 Swift Playgrounds 編程體驗(yàn)大打折扣。

學(xué)習(xí)資料

文檔:前文說(shuō)到,現(xiàn)有的 Swift Playgrounds 4.0 如果要以 IDE 的要求來(lái)看,還缺少必要的類(lèi)型提示和文檔內(nèi)容的說(shuō)明。這時(shí)候我們也可以選擇手動(dòng)查閱開(kāi)發(fā)者文檔,這是 Apple 對(duì)各類(lèi)系統(tǒng)框架事無(wú)巨細(xì)的說(shuō)明。在 Swift Playgrounds 更早版本的更新中,Apple 已經(jīng)將大部分的開(kāi)發(fā)者文檔內(nèi)置到了 Swift Playgrounds 中,我們可以在工具中找到文檔的查詢?nèi)肟??;蛘?,我們可以使用瀏覽器訪問(wèn) Apple Developer 開(kāi)發(fā)者網(wǎng)站 查詢文檔。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

Swift 語(yǔ)法入門(mén):Swift Playgrounds 在更早版本中,已經(jīng)提供了游戲化 Swift 語(yǔ)言學(xué)習(xí)的各種模塊,如果你是 Swift 語(yǔ)言的新手,可以通過(guò)學(xué)習(xí)官方提供的學(xué)習(xí)編程 1、2、3 和其他一系列的學(xué)習(xí)模塊來(lái)探索 Swift 語(yǔ)言。

只要一個(gè) iPad,手把手教你給 iPhone 開(kāi)發(fā)應(yīng)用(ipad如何開(kāi)發(fā)ios軟件)

SwiftUI 入門(mén):SwiftUI 是 Apple 發(fā)布于 2019 年 WWDC 大會(huì)的基于 Swift 的UI框架,結(jié)合了代碼 UI 編輯和 Storyboard 圖形化 UI 繪制的優(yōu)點(diǎn)。因此 Swift Playgrounds 默認(rèn)將 SwiftUI 作為創(chuàng)建一個(gè)空白 .swiftpm 工程后的初始界面模板。

如果你對(duì) SwiftUI 還不熟悉,網(wǎng)上有不少優(yōu)秀的教程內(nèi)容可以學(xué)習(xí),你可以在 Swift Playgrounds 跟著教程一起學(xué)習(xí)。當(dāng)然,有時(shí)候自動(dòng)補(bǔ)全功能的失效會(huì)給學(xué)習(xí)者帶來(lái)一點(diǎn)點(diǎn)困惑,我希望這個(gè) Bug(但愿不是一個(gè) feature)能夠被盡早修復(fù)。當(dāng)然,你也可以使用 UIKit 來(lái)實(shí)現(xiàn)界面,不過(guò)我認(rèn)為現(xiàn)有的工作流更為 SwiftUI 量身打造。

嘗試 AR 體驗(yàn):如果你想在 Swift Playgrounds 開(kāi)發(fā)的 App 中體驗(yàn)一下 AR,Apple 的 AR Quick Look 頁(yè)面提供了不少開(kāi)放的模型。我們可以通過(guò)創(chuàng)建 ARQuickLookPreview 來(lái)加載各類(lèi) USDZ 文件。

社群:現(xiàn)在基于 Swift Playgrounds 開(kāi)發(fā) App 的愛(ài)好者社群還在萌芽階段,因此找一個(gè)有 iOS 等生態(tài)開(kāi)發(fā)經(jīng)驗(yàn)的朋友能夠極大提高你的學(xué)習(xí)速度。當(dāng)然,你也可以創(chuàng)建一個(gè)社群讓好朋友們一起交流討論。比如少數(shù)派本身便是這樣一個(gè)不錯(cuò)的社群,期待各位能在其中共同學(xué)習(xí),各顯神通。

驚喜與迷思

當(dāng)然,瑕不掩瑜,我依然為這一次 Swift Playgrounds 的重大升級(jí)深感高興。在 iPad 上進(jìn)行「真正」地開(kāi)發(fā) App 的呼聲從 iPad 推出之日起便此起彼伏。我在初中擁有第一臺(tái) iPad 2 的時(shí)候,就千方百計(jì)地嘗試用它來(lái)開(kāi)發(fā)點(diǎn)什么,而這一次的 Swift Playgrounds 升級(jí)則真正地表明了 Apple 的立場(chǎng)。

我一直不很在意關(guān)于 iPad 生產(chǎn)力的爭(zhēng)論。然而,我和身邊不少用戶切身體會(huì)到的,確實(shí)是 iPad 作為一個(gè)科技產(chǎn)品,給人源源不斷帶來(lái)的幸福感。書(shū)桌旁、畫(huà)架上、被窩里常常有著它和我形影不離。因此,和 Mac 相比,我一直覺(jué)得 iPad 是一個(gè)讓人更少異化、更多自由的產(chǎn)品形態(tài)。

因此 Swift Playgrounds 正如其名稱一般,也是一個(gè)大家能夠在代碼、多媒體內(nèi)容與知識(shí)的探索與交互中自如玩耍的地方。在未來(lái),并不會(huì)人人都做程序員,但 Everyone Can Code 能夠真正讓科技作為一種人文素養(yǎng),讓每個(gè)人都徜徉其間,用開(kāi)放包容和智慧的心態(tài),面向與人類(lèi)走向共融共生的通用智能。

Apple 版的「元宇宙」布局

庫(kù)克表示他不說(shuō)元宇宙一詞,Apple 看好 AR。

AR、VR、AI、物聯(lián)網(wǎng)、區(qū)塊鏈、數(shù)字孿生、量子計(jì)算、Web3、元宇宙…… 各種詞匯總是在不經(jīng)意間成為資本的寵兒,卻又在悄無(wú)聲息中急流勇退,大浪淘沙留下一波真正做事的人。

AR 作為在 iPad 先行的驗(yàn)證,并被著力主推的技術(shù)能力,或許不久就會(huì)以全新的硬件形態(tài)與大家見(jiàn)面。運(yùn)行在 iPadOS 之上的 Swift Playgrounds,結(jié)合 Apple 軟件全家桶的一系列應(yīng)用,將進(jìn)一步將多媒體的創(chuàng)造能力帶給每一個(gè)人,而這次會(huì)將 3D 沉浸空間體驗(yàn)的創(chuàng)造也逐步納入進(jìn)來(lái),Swift Playgrounds 4.0 正是起點(diǎn)。

往后,Swift Playgrounds 結(jié)合 Reality Composer App 和大幅升級(jí)改造的「地圖」應(yīng)用,使用 USDZ 格式文件,配合或?qū)⑼瞥龅拇┐魇接布O(shè)備,有可能能夠拓展成為一個(gè)「3D 沉浸式體驗(yàn)編輯器」。它的潛力,可以是下一個(gè)時(shí)代的「Word」。當(dāng)然,我們要看 Apple 將如何打這一套組合拳。

最重要的是,機(jī)遇永遠(yuǎn)不在一家公司手中。創(chuàng)新、創(chuàng)業(yè)、創(chuàng)造將是每個(gè)人的全新可能,而這正是 Swift Playgrounds 作為這樣一個(gè)賦能人的工具,在根本上的意義:Give people wonderful tools, and they'll do wonderful things.

凡是過(guò)去,皆為序章。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
敦煌市| 老河口市| 敦煌市| 通州市| 文成县| 佛学| 朔州市| 洛宁县| 安福县| 仁寿县| 色达县| 响水县| 长丰县| 鹰潭市| 本溪| 尼木县| 花垣县| 温宿县| 东安县| 澄迈县| 广河县| 蒙阴县| 黄骅市| 邯郸县| 灵寿县| 肇庆市| 玉山县| 茌平县| 大冶市| 鹤岗市| 临夏县| 鄯善县| 商洛市| 余庆县| 陕西省| 拜城县| 商丘市| 三门县| 黔东| 沈阳市| 乌苏市|