序
可能你無法想像,這本書是一名產品經理寫的。
創作緣由
四年前,由於機緣巧合,我開始接觸和了解iOS編程。由於當時公司缺少iOS開發工程師,在我的自告奮勇下,技術總監同意了我在產品本職工作之餘,協助開發公司iOS版本應用的一些基本功能的請求。
雖然那時的我,除了大學時期學習過C#、C 編程語言,畢業後從事的工作中沒有使用過任何一種編程語言,但我很樂觀,向技術總監“討要”了一本編程書籍,便開始了蒙頭摸索之路。
當時公司使用的是Swift UIKit的編程方式,各種協議和樣式約束讓我頭疼不已,每次實現一個小功能或者小頁面,都幾乎需要花費我一整晚的時間。後面慢慢熟悉其語法特征後,我能實現一些基本的功能了,也能和其他研發同事就某些技術問題深入討論,這算是意想不到的收獲。
說實話,從安裝官方的開發工具寫下第一行HelloWorld,到在模擬器中運行測試第一個待發版的App,我既懵懂又興奮。項目在模擬器“跑”起來的那一刻,我感覺自己突破了產品經理的極限,成為了一名“懂技術”的產品經理。
之後由於對iOS編程的濃厚興趣,我開始接觸Swift SwiftUI的編程方式。
SwiftUI是蘋果公司在2019年度WWDC全球開發者大會上發布的全新框架,在國內還較少有企業用於自家商用產品的開發,而且在國內能找到的相關開發書籍特別少,因而我在學習過程中花費了很長一段時間,也為此“掉了不少頭發”。
為了後續方便學習和回顧,我開始在掘金技術社區發表專欄文章,用來記錄SwiftUI的學習過程。在經歷了大半年在平臺上更新了5個專欄約150篇文章後,我有幸和掘金技術社區簽約成為簽約作者。後來有幸收到了中國水利水電出版社編輯的邀請,便萌生了寫作出版的想法。
這便是本書的由來。
想法和嘗試
在準備寫這本書之前,我一直在想如何纔能讓這本書生動而有趣。
雖然這本書的目標讀者更多的是iOS開發工程師,或是計算機專業畢業的學生,或是想要學習iOS編程的其他從業者,但我希望這本書能夠適用於所有人,而不僅是程序員。
人人都應該學會編程,人人都可以通過編程學會如何獨立思考,如何分析問題和解決問題。
我不希望這是一本枯燥的書籍,也不希望讀者跟著書本的內容學到了最後,還是沒有辦法獨立開發一款理想中的App。
當初還在學習之初的我,找了很多國內外免費或付費的書籍和教程,跟著項目案例一行一行敲代碼,到最後也隻是實現了案例裡的內容,卻無法開發出一個完整的App。
這對於一個想要通過努力實現理想和抱負的人是一種很大的打擊。
我理想中的書籍是,當我們一步步跟著書本學習,最後能開發出一款可以上架App Store的App;當我們編程遇到問題了,可以很快在書本對應的段落找到解決方案;當我們學習完最後一章或學到中途,就可以開發出自己想要的App,而不是僅能完成書本中的案例……當然,書本中的知識點應該是最新的。
因此,本書既會包含基礎知識,也會包含一些實戰案例,我們會實現一個個很小很小的精美頁面,並通過對編程中復雜概念的解析,講述如何使用SwiftUI這一響應式UI框架搭建心中的“理想國”。
勘誤和反饋
由於是第一次寫書,編寫能力略顯稚嫩,書中難免會有一些錯誤或者不清晰的地方,在請讀者見諒的同時,也歡迎給予指正和反饋。書中的所有案例都可以從GitHub(https://github.com/ RicardoWesleyli/SwiftUI.git)中下載,如果你有任何寶貴的想法和建議,也可以直接發送郵件至16620164429@163.com,期待與你的相遇。
致謝
感謝一直支持著我的江佩琦小姐,你的李智威先生已經寫完這本書啦!
感謝中國水利水電出版社萬水分社的編輯王新宇老師,在我寫作過程中給予的鼓勵和幫助,讓我能順利完成全部書稿。
最後感謝我的父母、琦琦的父母,還有我那準備步入職場的妹妹,以及在我人生道路上指引我的張勇老師、葉泳成老師、許治老師,感謝你們對我的支持和幫助,為我照亮未來的路。
謹以此書獻給我最親愛的家人,以及眾多熱愛iOS的朋友們!
李智威
2023年7月於深圳