① 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。