① swift語言有前途嗎
首先看swift的基礎語法,了解了最基本的控制,變數,數據體,類與結構體,繼承之後,開始可以寫一些簡單的命令行工具,說白了就是終端工具,列印log之類的沒一點問題。
可惜,我們學習這個東西不是為了開發command line程序的,我用shell或者nodejs也挺好比這個上手還快。
所以緊接著第二天開始直接跳過command line程序編寫ios app,也就是iphone程序。
然後我就覺得我他媽的掉進了一個深坑。
搜了一下 現成得swift教程做app的中文幾乎沒有,國外有幾篇講的是開發一個todolist的教程,寫的和官方的那個oc的todolist教程差不多,但是從我開始做到最後結束跑到模擬器里,我他媽也沒寫上超過20行得swift。。。基本都是IB實現的界面,事件,換場以及控制項的創建。
我琢磨那他媽的我用oc也是一樣的,算了,ios開發莫非就只是拖拖控制項?了解一下mvc的概念就ok?
於是我去github上開始搜索開源的swift項目,比如2048,還有那個flappy,還有一個天氣app的軟體。
看了幾行源碼我就特么的放棄了。倒不是看不懂,我發現都是基於cocoa的,什麼cocoa呢?我又去搜了一下,說了我是ios開發小白一點經驗沒有,然後我發現又是他媽的一個深坑啊。。cocoa的api都是oc編寫的啊,swift是可以直接調用沒的問題,可是cocoa的功能實在太多了啊。。
最他媽主要的是cocoa的幫助手冊例子代碼,api都他媽的是oc的api啊……我完全不會oc,我說了我是零基礎,然後我在思考,我是否需要去學習下oc回來才能看懂那些api到底是怎麼調用?那麼多開源包都是些什麼東西?
卧槽,那我學會了oc,我還學swift幹啥呢?
不是說不用學oc了么……我特么的學swift就是為了不想了解oc啊。結果呢。
你不會oc也就是寫寫command line程序啊……我去你大爺的啊- -。
還有,xcode功能如此強大,我感覺如果自己寫著玩,根本啥也不用學好么,滑鼠拽拽一個app就出來了啊。。
而專家級呢?我覺得大部分得oc庫,類都還都是oc的,你用swift可以調用,但是如果有bug呢?你想看內部實現呢?商業項目中這種開源坑遇到太多了,難道你就只用swift搞定么?
不太可能,也根本不可能,大家的代碼都是oc的,底層是oc的,表現層也是,那麼你swift到底是干什麼用的呢?
===================================================
這是我學習了不到一周對swift和ios開發的理解,不學oc,我開發的時候就經常會陷入
【這他媽是啥,這他媽又是啥的一個一個深坑】
好了,就說這么多,最後扣下我第一句話。
swift開發和前端開發的關系就是java和javascript關系,雷鋒和雷峰塔的關系。
PS,我發現其實文檔中的實例代碼是有swift的例子的,不知道是不是自動更新的,記得上周還木有。剛才發現有了,也可能之前我沒仔細看~木哈哈。比如下面這段:
給蘋果的文檔 贊一個。。但是我依然不他媽的知道那個UIControlState是特么啥,我覺得,會oc開發的同學上手一定比0基礎的要快很多……!給蘋果的文檔 贊一個。。但是我依然不他媽的知道那個UIControlState是特么啥,我覺得,會oc開發的同學上手一定比0基礎的要快很多……!
【知乎用戶的回答(4票)】:
直接開始學swift沒問題,應該可以覆蓋objc的所有主要功能,並非輔助語言。Apple開發這個語言的目的就是幫助初學者快速上手。
但是,看他的特點比較像scala,類似這種語言都容易上手,難於規范。因為太多靈活,不夠死板,不會大規模用於企業的大項目。學swift,估計自己開始做了幾個小應用之後還是需要迫於行業規范再去學習objc
一句話,獨立開發可以從swift開始,找工作求職還是先學obj-c吧
② swift語言做一個app要哪些材料
Swift版本的2048
源碼地址:GITHUB
作者:austinzheng
Swift計算器
源碼地址:GITHUB
作者:unixpickle
Swift關於UIKit動作
源碼地址:GITHUB
作者:objcc
FlappySwift
源碼地址:GITHUB
作者:jashmenn
Swift UI控制項
源碼地址:GITHUB
作者:jashmenn
Swift iOS 天氣app
源碼地址:GITHUB
作者:JakeLin
JokeClient-Swift (糗百Swift)
源碼地址:GITHUB
作者:YANGReal
這些都是一些不錯的swift 的應用
③ 如何通過Swift Package Manager 來構建一個簡單的開發環境
創建一個Proct
假設我們要創建一個最基本的平衡二叉樹,可以執行下面這些命令:
mkdir BST
cd BST
swift package init --type=library
這樣,SPM就會為我們創建下面的目錄結構:
在這個目錄結構里,我們可以了解以下內容:
Swift通過 Moles 來管理代碼,默認情況下,所有在 Sources 目錄下的文件都在同一個mole中(稍後我們也會看到多個mole的情況);
所有 Sources 目錄中的代碼和根目錄的 Package.swift 文件形成了一個 Package ;
在一個 Package 里,我們可以定義一個或多個 Target ;
Target 可以是我們在一開始定義的library,它可以被其他的Swift mole使用;也可以是一個executable,稍後,我們會看到它的用法;
創建第一個mole
在 Sources 根目錄中,所有源代碼默認都是在同一個mole中的。我們先在BST.swift
中編寫一些示例代碼:
open class BST {
public init() {
print("New BST initialized.")
}
}
extension BST: CustomStringConvertible {
public var description: String {
return "BST"
}
}
它們當然還不是 BST 的正式實現,我們在這里只是為了演示mole的用法。然後,我們在 Tests/BSTTests/BSTTests.swift 里,添加一個演示用的測試用例:
class BSTTests: XCTestCase {
func testExample() {
XCTAssertEqual(BST().description, "BST")
}
}
因為我們實現的 CustomStringConvertible 只是簡單返回了字元串"BST",因此上面的比較應該是相等的。
完成之後,在項目根目錄執行: swift build ,我們就生成了一個Swift mole:
執行 swift test ,SPM就會幫我們完成之前定義的測試用例:
從上面的結果可以看到,所有測試都通過了。不過,我們創建library,最終還是為了提供給應用程序使用的。因此,接下來,我們就來了解如何給package添加一個可執行程序,我們把它定義在一個新的mole中。
創建多個mole
默認情況下, Sources 目錄中所有代碼都是在同一個mole中的。因此,要創建多個mole,我們要在 Sources 目錄中創建多個子目錄,像這樣:
BST :表示BST mole,並且把之前創建的 BST.swift 移動到這里;
Application :表示我們要新添加的應用程序;在其中,添加一個 main.swift ;這是每一個應用程序都必須定義的文件;
最終,我們的目錄看起來是這樣的:
然後,在 main.swift 中,添加下面的代碼:
import BST
let bst = BST()
print(bst)
重新執行 swift build ,我們會得到下面的錯誤:
顯然,盡管我們使用了 import BST ,SPM在生成Application mole的時候,並不知道它和BST之間存在依賴關系。為了解決這個問題,我們需要在Package.swift中,添加必要的依賴關系:
let package = Package(
name: "BST",
targets: [
Target(name: "Application", dependencies: ["BST"])
]
)
這樣,我們就創建了一個叫做Application的target,它依賴我們之前創建的BST mole。完成後,重新執行 swift build ,就可以看到成功了:
編譯好的兩個swift mole在
./build/debug 目錄中,我們直接執行
Application
就可以看到結果了
④ 可以跳過 Objective-C 然後直接學習 Swift 語言嗎
我就是零基礎學習swift語言,之前是寫javascript,學了有3-4天了吧,說下我的感受,和這個東西與前端開發的關系。
開始之前,寫下這個答案我的主要觀點:可以跳過oc直接學習swift,一點問題沒有的,只不過後期我覺得還是要學下oc,因為畢竟很多時候你用的都是oc寫好的類,遇到bug了一點不會,太捉急了吧,還有不少教程都是以oc為例子的,看著也捉急~
首先看swift的基礎語法,了解了最基本的控制,變數,數據體,類與結構體,繼承之後,開始可以寫一些簡單的命令行工具,說白了就是終端工具,列印log之類的沒一點問題。
可惜,我們學習這個東西不是為了開發command line程序的,我用shell或者nodejs也挺好比這個上手還快。
所以緊接著第二天開始直接跳過command line程序編寫ios app,也就是iphone程序。
然後我就覺得我他媽的掉進了一個深坑。
搜了一下 現成得swift教程做app的中文幾乎沒有,國外有幾篇講的是開發一個todolist的教程,寫的和官方的那個oc的todolist教程差不多,但是從我開始做到最後結束跑到模擬器里,我他媽也沒寫上超過20行得swift。。。基本都是IB實現的界面,事件,換場以及控制項的創建。
我琢磨那他媽的我用oc也是一樣的,算了,ios開發莫非就只是拖拖控制項?了解一下mvc的概念就ok?
於是我去github上開始搜索開源的swift項目,比如2048,還有那個flappy,還有一個天氣app的軟體。
看了幾行源碼我就特么的放棄了。倒不是看不懂,我發現都是基於cocoa的,什麼cocoa呢?我又去搜了一下,說了我是ios開發小白一點經驗沒有,然後我發現又是他媽的一個深坑啊。。cocoa的api都是oc編寫的啊,swift是可以直接調用沒的問題,可是cocoa的功能實在太多了啊。。
最他媽主要的是cocoa的幫助手冊例子代碼,api都他媽的是oc的api啊……我完全不會oc,我說了我是零基礎,然後我在思考,我是否需要去學習下oc回來才能看懂那些api到底是怎麼調用?那麼多開源包都是些什麼東西?
卧槽,那我學會了oc,我還學swift幹啥呢?
不是說不用學oc了么……我特么的學swift就是為了不想了解oc啊。結果呢。
你不會oc也就是寫寫command line程序啊……我去你大爺的啊- -。
還有,xcode功能如此強大,我感覺如果自己寫著玩,根本啥也不用學好么,滑鼠拽拽一個app就出來了啊。。
而專家級呢?我覺得大部分得oc庫,類都還都是oc的,你用swift可以調用,但是如果有bug呢?你想看內部實現呢?商業項目中這種開源坑遇到太多了,難道你就只用swift搞定么?
不太可能,也根本不可能,大家的代碼都是oc的,底層是oc的,表現層也是,那麼你swift到底是干什麼用的呢?
===================================================
這是我學習了不到一周對swift和ios開發的理解,不學oc,我開發的時候就經常會陷入【這他媽是啥,這他媽又是啥的一個一個深坑】
好了,就說這么多,最後扣下我第一句話。
swift開發和前端開發的關系就是java和javascript關系,雷鋒和雷峰塔的關系。
PS,我發現其實文檔中的實例代碼是有swift的例子的,不知道是不是自動更新的,記得上周還木有。剛才發現有了,也可能之前我沒仔細看~木哈哈。比如下面這段:
給蘋果的文檔 贊一個。。但是我依然不他媽的知道那個UIControlState是特么啥,我覺得,會oc開發的同學上手一定比0基礎的要快很多……!
⑤ 如何用swift開發ios應用
備
1
打開本系列第一篇經驗中所創建的「PersonalAccounts」應用。
2
在左側項目結構樹中,打開「Main.storyboard」文件
3
當打開「Main.storyboard」文件後,我們會在中間的主面板中看到一個帶有「View Controller」字樣的長的很像手機屏幕的「東西」。
這個東西就是我們「畫」應用界面的主要「控制項」。
4
默認的,我們可以在Xcode窗口的右下方找到所有Xcode現有的「控制項」,它們在一個叫「Show the Object library」的窗口中。所有我們需要的,都可以從這個窗口中拖到主面板中的某個「Controller」上。
PS:以後我們稱呼「Show the Object library」窗口為「對象倉庫」。
5
在對象庫中,我們可以看到有「XXXX Controller」還有「XXXX」兩種控制項。(Controller默認的以黃色的圓形唯底)
XXXX Controller,我們可以認為其是具有一定交互行為的頁面控制項。可以將在主面板中拖入的每一個Controller當成是將來要在APP中呈現的應用的頁面。
PS:拖入「Navigation Controller」時較為特殊,其會自動生成一個「主頁面」,此「主頁面」是不能拖入其他控制項的。其作用是「導航」其他頁面。
END
製作Hello World
1
從「對象倉庫」中,拖入一個名字為「Label」的控制項對象到我們現有的也是唯一的視圖控制器(View Controller)中。
PS:拖拽的過程中,可以體會一下對齊輔助線。
2
點擊拖入的Label,可以在右方看到「控制項屬性欄」。在此欄中,我們可以看到當前選中控制項的所有可用屬性。
3
在「控制項屬性欄」中,編輯Label的「Text」屬性為「Hello World!」。
PS:「Text」屬性有兩種模式,一種為「Plain」,另一種是「Attributed」。
通過切換這兩種模式,我們可以發現「Plain」模式時,Label中文字的樣式是不可編輯的。「Attributed」模式時,Label文字的模式是可以編輯的。
⑥ 用swift開發一個app,至少需要哪些技術
首先你要有一台macbook 再加一台iPhone然後裝xcode搭建開發環境. 再去學編程語言.
⑦ 怎麼利用xcode開發swift應用程序
簡單介紹
xcode集成開發環境是運行於Mac蘋果電腦上用於開發swift應用程序的工具,利用xcode可以很方便、直觀的開發OS X和iOS系統所支持的應用程序。
步驟詳解
必須在蘋果Mac電腦上搭建xcode開發環境。
打開「xcode」開發工具,點擊「File」->「New」->「Project」項來創建一個新的工程。
在打開的「創建工程」向導界面中,選擇「OS X」系統中的「Application」項,選中「Command Line Tool」項,點擊「Next」按鈕來創建一個基於OS X系統的命令行應用程序。
接著輸入「Project Name」(工程名稱)和「Language」(語言)。
然後直接點擊「Create」按鈕創建應用程序。
⑧ 如何閱讀 swift 的開源代碼
Swift 是編程語言 但也有底層的實現,開源了以後就可以查看源代碼 可以根據自己的需求改寫等等。而如果不開源,是不能免費查看源代碼的,只能進行一些基礎的使用。
⑨ 怎麼用源碼開發APP
首先你需要有開發知識,之後下載專業工具,之後就擼代碼咯;
APP又分為安卓APP和蘋果APP,這兩個系統都有不同專門的開工具,比如蘋果APP開發一般用swift,OC,XCODE等等;當然了現在的APP開發大多會用到不同的幾個工具,現在流行混編,所以這裡面的知識量不是一點時間就可以積累起來的啦;
如果你想簡單的開發APP,快速的上手可以關注一下apicloud,一門APP,安卓益這些混合開發的APP製作平台。這些混合開發平台不需要你會太專業的工具,只需要會H5技術就可以開始開發APP了,一樣的實現各種原生APP才會有的效果,大大提高APP開發成本和時間周期,並且平台規范化的技術,更加適合上架蘋果APPstore和安卓應用商店,比如一門APP還提供全流程的上架應用商店服務,真正做到上線無憂!
⑩ 究竟有多少款App在使用Swift
兩個方法:第一個方法,通過 OS X 的 iTunes 下載這個 App 的 IPA 包,解包以後看 App 裡面有沒有一個 Frameworks 目錄,裡面有 Swift 的運行庫,但這個方法只能判斷這個 App 用了 Swift,而不能判斷是不是主要以 Swift 寫。第二個方法,當然是通過業界一些活動和會議上的分享,也就是開發團隊主動告之外界的形式。
Lyft 是類似於 Uber 的國外一個打車工具,最新版本剛剛已經是完全用 Swift 寫的。
「Enjoy ~ 精選限量美食」是最早知道國內用 Swift 寫出來的一個 App,來自北京飯本團隊。最低支持 iOS 7。
小記是一款文藝范的豎排書寫工具,來自廣州 Catch 團隊,我也是內測就開始用的。嗯,和上面一樣,都只支持 iOS 8。