欧美人与禽2O2O性论交,秋霞免费视频,国产美女视频免费观看网址,国产成人亚洲综合网色欲网

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

蘋果開發(fā)者大會 WWDC 2019 在北京時間今天凌晨開幕。在這場大會上除了「史上最難看 Mac 主機」、首次出現的 iPadOS 以外,我們還終于可以對飽受詬病的iTunes 說再見了。而對于開發(fā)者來說,新發(fā)布的 SwiftUI 可能是最吸引人的特性,在 Craig Federighi 的演示中,我們可以輕松地把一百行的前端代碼縮減到十幾行。

Swift 是蘋果于 2014 年發(fā)布的全新開發(fā)語言,可與 Objective-C* 共同運行于 macOS 和 iOS 平臺,用于搭建基于蘋果平臺的應用程序。Swift 的設計以安全為出發(fā)點,以避免各種常見的編程錯誤類別。近年來,這種編程語言的熱度上升很快,甚至有人呼吁用它來代替 Python,作為 TensorFlow 支持的語言。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

「取代 Python」并不只是說說而已。今年 4 月,谷歌在 GitHub 上開放了 Swift for TensorFlow 項目。

既然 Swift 語言已經這么有潛力了,那么我們難道不應該給它加入更多的特性,助它一臂之力嗎?今天蘋果就為 Switf 前端編程插上了翅膀,其最新發(fā)布的 SwiftUI 是一個基于 Swift 語言的、創(chuàng)新而又極為簡單的用戶界面解決方案,各種平臺上的應用都能用它打造精致的用戶界面。

SwiftUI 使用統(tǒng)一的一套工具和 API,即可創(chuàng)建在任意蘋果設備使用的用戶界面。通過定義一個易讀易寫的聲明式 Swift 語法,SwiftUI 可以順暢的和 Xcode 工具一起完成設計工作。SwiftUI 自動支持動態(tài)字體調整(Dynamic Type)、暗黑模式(Dark Mode)、本地化(localization)和輔助功能(accessibility),這意味著開發(fā)者的第一行 SwiftUI 代碼是他們目前寫出的功能最強大的 UI 代碼。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

  • 官方教程:https://developer.apple.com/tutorials/swiftui/
  • 官方文檔:https://developer.apple.com/documentation/swiftui/

SwiftUI 的特點是什么

SwiftUI 使用聲明式語法,所以我們可以簡單地聲明用戶界面的樣式。例如,開發(fā)者可以聲明需要由一串文本輸入框構成的組件,然后定義每一個輸入框的字體對齊方式、字體樣式、字體顏色。這些代碼比以往更加易懂,省時并易于維護。

這種聲明式的方式甚至允許使用復雜的功能,如動畫(animation)。只需要幾行代碼,即可添加動畫在任何控件上,并且可以使用易于調用的特效。在運行時,SwifthUI 會自行控制創(chuàng)建流暢動作的所有步驟,并且可以解決程序沖突,保證 app 穩(wěn)定運行。動畫特效變得如此容易,我們可以發(fā)掘使 app 更加靈動的方式。

只需一次就能定義布局

開發(fā)者只需定義視圖(view)中內容和布局,SwiftUI 懂得什么時候需要改變,并可以隨時更新(視圖)以匹配設計。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

建立可復用的組件

組合小而簡單的視圖,構成更大更復雜的界面。視圖可以在任何一處蘋果設備和平臺共享。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

簡化動畫構建

創(chuàng)建流暢的動畫效果十分簡單,如同聲明一個簡單的方法。SwiftUI 可以在需要的時候自動計算并渲染。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

設計工具

Xcode 11 內建了非常直觀的新設計工具,我們可以通過 SwiftUI 使用拖放等簡單操作而構建界面。當我們在設計面板時,我們編輯的所有內容都與左邊編輯器的代碼完全同步。當我們修改預覽(preview)時,對應代碼可實時生成,也就是說我們對預覽修改的內容能實時體現在代碼中。Xcode 會立即重新編譯你的修改,并將它們插入到 APP 的運行版中。因此在整個開發(fā)中,預覽可視化與代碼可編輯性能同時支持并交互。

百行代碼變十行,蘋果SwiftUI可視化編程讓開發(fā)者感嘆完美(apple swift 編程)

如上所示為 SwiftUI 的代碼與預覽部分,它們之間是可以實時交互的??傮w而言,這種新型工具主要有以下三大特點:

拖拽:通過簡單拖拽 Canvas 上的控件來排列用戶界面上的各種組件。單機打開檢查器(inspector)以選擇字體、顏色、對齊方式和其它設計選項,我們也可以通過光標輕松重新排列控件。這些視覺編輯器在代碼編輯器中也能用,所以我們可以使用檢查器挖掘每個控件的不同選項,即使在界面的手動編程部分也是一樣的。我們可以從庫中拖拽控件,再放入到設計面板或代碼面板都是可以的。

動態(tài)替換:Swift 編譯器和運行時可以完全嵌入到 Xcode 中,所以我們的 APP 會一直處于構建和運行的狀態(tài)。我們看到的預覽界面并不是對用戶界面的近似,它就是我們的實時 APP。Xcode 會通過「動態(tài)替換」在實時 APP 中交換編輯的代碼,這是 Swift 中的新特征。

預覽:現在,我們可以創(chuàng)建任何 SwiftUI 視圖的一個或多個預覽,從而得到樣本數據,并配置幾乎用戶能看到的所有內容,例如大字體、定位或「暗黑模式」等。預覽還能在任何設備上以任何朝向展示我們的 UI。

GitHub 包管理也要支持 Swift

GitHub 有很多開源項目,但真正要做成包還是需要其它包管理工具,因此 GitHub 希望能直接根據源代碼發(fā)布公有或私有包。在蘋果發(fā)布 SwiftUI 的同時,Github5 月份提出的 Github Package Registry 將進一步支持 Swift 包,此前它已經支持 JavaScript(npm)、 Java(Maven)等耳熟能詳的工具。

Swift 包使開發(fā)者可以更簡單的在不同的項目之間,以及 Swift 社區(qū)共享工具和源代碼。Swift 包管理器(Swift Package Manager),是一個跨平臺的構建、運行、測試和打包你的 Swift 代碼的工具,現已在 Github 開源。包的信息已經寫入 Swift,使我們可以更好地管理 Swift 中的 Target 、聲明 Product,并管理相關環(huán)境依賴。Swift 包管理器和 Github 包列表協(xié)作可以幫助開發(fā)者更容易發(fā)布自己的 Swift 項目。

使移動端開發(fā)者有更高效的生產力工具也十分重要。隨著 Swift 生態(tài)環(huán)境的增長壯大,能夠和蘋果團隊一起合作完成 Swift 開發(fā)工具流使 GitHub 的開發(fā)者非常興奮。在 Swift 包管理項目上線后,我們可以更加便捷地構建和調用不同的開源工作。

參考鏈接:

  • https://developer.apple.com/xcode/swiftui/
  • https://github.com/apple/swift
  • https://github.blog/2019-06-03-github-package-registry-will-support-swift-packages/

相關新聞

聯系我們
聯系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部