10.12 SwiftUI——它的出現讓孩子做出第一個iOS App不再僅存在於理論中

SwiftUI——它的出現讓孩子做出第一個iOS App不再僅存在於理論中

當Swift在2014年第一次冒泡時,是以一種簡單明快編程的語言的姿態呈現在人們眼前的。

不需要用分號來結束每一行,條件語句不需要寫在方括號中,也不需要在每一個Switch語句的結尾都用一個break來結束。這使得孩子更容易地寫下他們的第一段代碼,而無需擔心是不是在某一個地方漏打了一個標點符號。

在2016年,蘋果公司發佈了Swift Playgrounds的iPad版App,此舉讓Swift這門語言變得更加容易掌握,即使沒有電腦,也能在教室或是家裡輕鬆地學習編程基礎。

而iOS Storyboards(故事板)專注的方向就跟Swift有所區別了。

要設計一個App的視覺佈局,蘋果的建議總是把幾顆按鈕、一個滑塊或是一些開關通過拖放,擺到他們稱之為“故事板”的地方上。但如果你想直接對故事板的XML代碼進行編輯呢?

恕我直言,XML簡直是一團亂麻,可讀性極差,而且難以進行視覺想象。為了適應不同的屏幕大小,你需要大量的佈局約束,而這些約束只會增加複雜性。加上用戶界面裡的每個元素都有大量的標記和屬性描述,大量的要素構成了XML龐大、複雜而混亂的界面。

如果XML要達到Swift級別的易用性,它就需要被完全重製。

在蘋果全球開發者大會WWDC 2019上,蘋果宣佈XML重製完成。多年來,蘋果一直推崇拖放的交互方式,而沒有真正把背後的XML認真當一回事,而今,蘋果又增加了一種易於編寫、閱讀和理解的語言。你可以在分屏模式下預覽畫布,也可以隱藏它。這意味著用戶可以選擇在畫布上編輯,或是直接修改代碼,並且兩者都將始終保持最新。

SwiftUI——它的出現讓孩子做出第一個iOS App不再僅存在於理論中

在這個例子當中,我希望以垂直的方式將圖像堆疊在文本之上。

在故事板上,我將一個垂直的堆棧視圖拖放到畫布上,並在各個方面對它進行了約束,這樣它就總是適合在屏幕上顯示。我將一個圖像視圖和一個標籤拖放到堆棧視圖中,然後打開生成的XML文件。

在SwiftUI,我根本不需要拖放。

我知道我想寫什麼,我可以在幾秒鐘內寫出來。

SwiftUI終將會使更多喜愛編程的孩子獲益。雖然這個工具才剛剛發佈不久,但人們對SwiftUI的認可不僅限於它的易用性,人們還看到了它身上巨大的開發潛力。跟Swift一樣,SwiftUI也是一個對未來有保證的工具。蘋果在開發這門語言上投入了大量的時間和金錢,他們打算讓SwiftUI在儘可能多的層面上取代老舊的故事板。雖然說在近幾十年間要把故事板完全拋棄不太可能,但在很多情境下,用得上故事板的日子已經屈指可數了。

由於已經在工作的開發人員無法在大學學習這些技能,SwiftUI在未來將很快成為一項高需求的技能。

SwiftUI的易用性意味著孩子們可以更快地創建他們的第一個iOS應用程序。在很多情況下,同一個SwiftUI可以用同樣的代碼製作Mac應用程序,根本不需要修改代碼。把故事板上的元素跟代碼建立關聯的耗時更少,而這個過程實際上不過是將一行代碼從一個元素拖放到另一個元素而已。添加約束以使應用程序適應不同的屏幕大小所浪費的時間更少。學習新術語和術語的時間越短越好,涉及的詞彙越簡單越好。圖像就是圖像,列表就是列表,文本就是文本。

SwiftUI——它的出現讓孩子做出第一個iOS App不再僅存在於理論中

簡單的術語是Swift簡化編程的一種方式,現在它也在加速視覺設計。

孩子們想要享受制作應用程序的樂趣。而堅持使用舊式技術則意味著堅持使用令人困惑的編程語言進行學習。Kotlin的出現被視為一個更易於讀寫的Java替代品,而其他舊語言同樣可能會在將來某天被取代。學習使用一種新的語言編程,同樣是在給孩子們一個新的心理預期——編程沒有想象中複雜。它不需要看起來像一門完全陌生的外語,也不應該只對極客展示它友好的一面。

代碼被設計成利於人類閱讀的樣子,那是因為計算機只想讀二進制。

最好的編碼語言是那些人類用最少的訓練就能閱讀和理解的語言。對第一次學習真正編程的孩子來說,SwiftUI是一個非常優質的選擇。


分享到:


相關文章: