SwiftUI是蘋果公司推出的跨平臺開源UI框架,同時支持iOS、macOS、watchOS、tvOS等多平臺應(yīng)用開發(fā),使用這一框架可以使用很少的代碼實(shí)現(xiàn)復(fù)雜的交互和功能,極大地提高了開發(fā)效率。
本書共29章,由淺到深系統(tǒng)性講解了SwiftUI的背景、Swift語言的語法基礎(chǔ)、SwiftUI基礎(chǔ)組件、交互操作、數(shù)據(jù)存儲、網(wǎng)絡(luò)請求、硬件設(shè)備、付費(fèi)模式、應(yīng)用上架等內(nèi)容,并在每個章節(jié)中結(jié)合生動有趣的案例進(jìn)行講解,提高書籍的趣味性。
通過對本書的學(xué)習(xí),讀者將會對SwiftUI框架及多平臺開發(fā)有全面的認(rèn)識,并能夠使用SwiftUI進(jìn)行獨(dú)立開發(fā)。本書適合正在學(xué)習(xí)Swift SwiftUI以及對SwiftUI感興趣的開發(fā)人員閱讀和參考。
從語法基礎(chǔ)到案例實(shí)戰(zhàn),從初識SwiftUI到App上架
本書知識點(diǎn)全面,操作步驟詳細(xì),核心代碼簡潔明了
作者剝繭抽絲,娓娓道來,堪稱保姆級開發(fā)寶典
如果你想獨(dú)立開發(fā)一款理想中的iOS應(yīng)用,本書將是你的不二之選
序
可能你無法想象,這本書是一名產(chǎn)品經(jīng)理寫的。
創(chuàng)作緣由
四年前,由于機(jī)緣巧合,我開始接觸和了解iOS編程。由于當(dāng)時公司缺少iOS開發(fā)工程師,在我的自告奮勇下,技術(shù)總監(jiān)同意了我在產(chǎn)品本職工作之余,協(xié)助開發(fā)公司iOS版本應(yīng)用的一些基本功能的請求。
雖然那時的我,除了大學(xué)時期學(xué)習(xí)過C#、C 編程語言,畢業(yè)后從事的工作中沒有使用過任何一種編程語言,但我很樂觀,向技術(shù)總監(jiān)討要了一本編程書籍,便開始了蒙頭摸索之路。
當(dāng)時公司使用的是Swift UIKit的編程方式,各種協(xié)議和樣式約束讓我頭疼不已,每次實(shí)現(xiàn)一個小功能或者小頁面,都幾乎需要花費(fèi)我一整晚的時間。后面慢慢熟悉其語法特征后,我能實(shí)現(xiàn)一些基本的功能了,也能和其他研發(fā)同事就某些技術(shù)問題深入討論,這算是意想不到的收獲。
說實(shí)話,從安裝官方的開發(fā)工具寫下第一行HelloWorld,到在模擬器中運(yùn)行測試第一個待發(fā)版的App,我既懵懂又興奮。項(xiàng)目在模擬器跑起來的那一刻,我感覺自己突破了產(chǎn)品經(jīng)理的極限,成為了一名懂技術(shù)的產(chǎn)品經(jīng)理。
之后由于對iOS編程的濃厚興趣,我開始接觸Swift SwiftUI的編程方式。
SwiftUI是蘋果公司在2019年度WWDC全球開發(fā)者大會上發(fā)布的全新框架,在國內(nèi)還較少有企業(yè)用于自家商用產(chǎn)品的開發(fā),而且在國內(nèi)能找到的相關(guān)開發(fā)書籍特別少,因而我在學(xué)習(xí)過程中花費(fèi)了很長一段時間,也為此掉了不少頭發(fā)。
為了后續(xù)方便學(xué)習(xí)和回顧,我開始在掘金技術(shù)社區(qū)發(fā)表專欄文章,用來記錄SwiftUI的學(xué)習(xí)過程。在經(jīng)歷了大半年在平臺上更新了5個專欄約150篇文章后,我有幸和掘金技術(shù)社區(qū)簽約成為簽約作者。后來有幸收到了中國水利水電出版社編輯的邀請,便萌生了寫作出版的想法。
這便是本書的由來。
想法和嘗試
在準(zhǔn)備寫這本書之前,我一直在想如何才能讓這本書生動而有趣。
雖然這本書的目標(biāo)讀者更多的是iOS開發(fā)工程師,或是計(jì)算機(jī)專業(yè)畢業(yè)的學(xué)生,或是想要學(xué)習(xí)iOS編程的其他從業(yè)者,但我希望這本書能夠適用于所有人,而不僅是程序員。
人人都應(yīng)該學(xué)會編程,人人都可以通過編程學(xué)會如何獨(dú)立思考,如何分析問題和解決問題。
我不希望這是一本枯燥的書籍,也不希望讀者跟著書本的內(nèi)容學(xué)到了最后,還是沒有辦法獨(dú)立開發(fā)一款理想中的App。
當(dāng)初還在學(xué)習(xí)之初的我,找了很多國內(nèi)外免費(fèi)或付費(fèi)的書籍和教程,跟著項(xiàng)目案例一行一行敲代碼,到最后也只是實(shí)現(xiàn)了案例里的內(nèi)容,卻無法開發(fā)出一個完整的App。
這對于一個想要通過努力實(shí)現(xiàn)理想和抱負(fù)的人是一種很大的打擊。
我理想中的書籍是,當(dāng)我們一步步跟著書本學(xué)習(xí),最后能開發(fā)出一款可以上架App Store的App;當(dāng)我們編程遇到問題了,可以很快在書本對應(yīng)的段落找到解決方案;當(dāng)我們學(xué)習(xí)完最后一章或?qū)W到中途,就可以開發(fā)出自己想要的App,而不是僅能完成書本中的案例……當(dāng)然,書本中的知識點(diǎn)應(yīng)該是最新的。
因此,本書既會包含基礎(chǔ)知識,也會包含一些實(shí)戰(zhàn)案例,我們會實(shí)現(xiàn)一個個很小很小的精美頁面,并通過對編程中復(fù)雜概念的解析,講述如何使用SwiftUI這一響應(yīng)式UI框架搭建心中的理想國。
勘誤和反饋
由于是第一次寫書,編寫能力略顯稚嫩,書中難免會有一些錯誤或者不清晰的地方,在請讀者見諒的同時,也歡迎給予指正和反饋。書中的所有案例都可以從GitHub(https://github.com/ RicardoWesleyli/SwiftUI.git)中下載,如果你有任何寶貴的想法和建議,也可以直接發(fā)送郵件至16620164429@163.com,期待與你的相遇。
致謝
感謝一直支持著我的江佩琦小姐,你的李智威先生已經(jīng)寫完這本書啦!
感謝中國水利水電出版社萬水分社的編輯王新宇老師,在我寫作過程中給予的鼓勵和幫助,讓我能順利完成全部書稿。
最后感謝我的父母、琦琦的父母,還有我那準(zhǔn)備步入職場的妹妹,以及在我人生道路上指引我的張勇老師、葉泳成老師、許治老師,感謝你們對我的支持和幫助,為我照亮未來的路。
謹(jǐn)以此書獻(xiàn)給我最親愛的家人,以及眾多熱愛iOS的朋友們!
李智威
2023年7月于深圳