注册 登录
主题 : Swift的优缺点 , 来自珍妮讲解~~
级别: 风云使者

状态: 连续签到 - [480天]
UID: 78198
精华: 2
发帖: 3543
可可豆: 3376 CB
威望: 13237 点
在线时间: 4900(时)
注册时间: 2011-06-28
最后登录: 2017-10-23
0 楼:  发表于: 2014-06-16 15:31    发自: Web Page

Swift的优缺点 , 来自珍妮讲解~~   

优点
1、简洁(不是说语法体系简洁,而是书写)
2、结合playground,做到真正意义上的所见即所得
3、便于扩展(能桥接ObjC)
4、还有直接支持闭包。你想在哪儿定义函数就在哪儿定义。
5、而且既能面向过程,又能面向对象,还能来个函数式编程风格


缺点:
这东东确实很灵活,但是在团队项目中必须注意风格统一,否则大家都用OO,突然某个人来个大量的FP Style,那可就~~了


清空我的评分动态本帖最近评分记录: 共1条评分记录
zenny_chen 可可豆 +10 2014-06-17 哈哈,院长也忒敬业了~处处不忘本社区哇~
隐藏评分记录
微信whglyy
级别: 精灵王

状态: 连续签到 - [5天]
UID: 388
精华: 2
发帖: 194
可可豆: 15795 CB
威望: 15775 点
在线时间: 1657(时)
注册时间: 2008-08-04
最后登录: 2016-09-01
1 楼:  发表于: 2014-06-16 15:37    发自: Web Page
这是我和珍妮谈话的会以纪要么
级别: 风云使者

状态: 连续签到 - [480天]
UID: 78198
精华: 2
发帖: 3543
可可豆: 3376 CB
威望: 13237 点
在线时间: 4900(时)
注册时间: 2011-06-28
最后登录: 2017-10-23
2 楼:  发表于: 2014-06-16 15:49    发自: Web Page
回 1楼(evangel) 的帖子
不是 是珍妮自己的对白~
  
微信whglyy
级别: 精灵王

状态: 连续签到 - [102天]
UID: 34556
精华: 0
发帖: 1412
可可豆: 1167 CB
威望: 2233 点
在线时间: 1938(时)
注册时间: 2010-10-20
最后登录: 2019-03-21
3 楼:  发表于: 2014-06-16 15:56    发自: Web Page
回 2楼(lyywhg) 的帖子
人格分裂了     
级别: 精灵王

状态: 连续签到 - [5天]
UID: 169195
精华: 0
发帖: 823
可可豆: 612 CB
威望: 1273 点
在线时间: 2637(时)
注册时间: 2012-09-28
最后登录: 2017-08-21
4 楼:  发表于: 2014-06-16 15:58    发自: Web Page
补充道1000字,给你们发微博
搜索CocoaChina关注微信,每天推送各种最新资讯、活动。

级别: 天使

状态: 连续签到 - [217天]
UID: 38060
精华: 1
发帖: 137580
可可豆: 1373716 CB
威望: 1374133 点
在线时间: 2218(时)
注册时间: 2010-11-14
最后登录: 2019-01-23
5 楼:  发表于: 2014-06-16 15:59    发自: Web Page
你这个搬运的略快啊
有些人,你以为可以再见面
有些事,你以为可以一直继续下去
然而,也许在你转身的那个刹那
有些人,你就再也见不到了
有些事,也就不能再继续了
当太阳落下,又升起来的时候
一切都变了,一不小心就再也回不去了
级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
6 楼:  发表于: 2014-06-16 16:12    发自: Web Page
      

珍妮表示鸭梨山大~~~~~

再补充一些东西:

Swift灵活性非常大,既能用OP,又能用OO,而且还支持FP Style……所以团队项目合作中必须注意,尽量能统一风格,否则会导致一片乱~
比如,Swift里的Trailing Closure,确实方便:


func funcTest(a:Int, closure: (Int) -> Int) {
    println("The value is: \(a + closure(a))")
}

funcTest(10) { 
    return $0 + 1 
}



各位看到在调用funcTest时使用了trailing closure,看上去就好像在定义funcTest,其实这里定义的是一个closure而已~

所以书写简洁未必就直观。有些直观的东西可能会看上去有些啰嗦。这里面的利弊均衡需要各位项目经理以及技术leader进行权衡了~
新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

级别: 版主

状态: 连续签到 - [144天]
UID: 491
精华: 6
发帖: 1766
可可豆: 112205 CB
威望: 112852 点
在线时间: 8537(时)
注册时间: 2008-08-19
最后登录: 2019-02-28
7 楼:  发表于: 2014-06-16 16:47    发自: Web Page
Swift灵活性非常大,既能用OP,又能用OO,而且还支持FP Style

把Swifit换成JavaScript也说得通:
JavaScript灵活性非常大,既能用OP,又能用OO,而且还支持FP Style


 Developer
------------------------------------------------------------
Η αγάπη ποτέ δεν αποτυγχάνει.
愛是永不止息。
Love never fails.

    --《圣经.新约》哥林多前书第13章
级别: 风云使者

状态: 连续签到 - [309天]
UID: 83747
精华: 0
发帖: 3865
可可豆: 19534 CB
威望: 19405 点
在线时间: 2397(时)
注册时间: 2011-07-27
最后登录: 2018-11-05
8 楼:  发表于: 2014-06-16 17:02    发自: Web Page
playground很强大,经常把编译器搞挂。
级别: 天使

状态: 连续签到 - [7天]
UID: 5513
精华: 19
发帖: 90659
可可豆: 922081 CB
威望: 921946 点
在线时间: 5508(时)
注册时间: 2009-05-06
最后登录: 2016-08-30
9 楼:  发表于: 2014-06-16 17:03    发自: Web Page
回 7楼(lvyile) 的帖子
      

俺在版主群确实如是说到~

我上面说的是书写简洁而不是语法简洁。就语法架构上,她比JavaScript复杂得多了……
由于Swift考虑仍然要兼顾编译型语言的特征——为了性能——所以采用强类型系统。如此一来,再外加泛型,我靠~这语法体系就被整得灰常庞杂了~
其实Swift在Playground模式下展示应该直接是解释执行的,呵呵。所以这也就是Swift基于LLVM框架的优势。前端到底用啥实现可以非常自由、灵活,与后端机器码生成可以完全独立。

不过就泛型而言,Swift在类型安全机制上做得还是很不错的,那个where子句也很给力。但是我们项目中是否要用那么复杂的东西各位Team leader自己考虑了~当然也要结合自身的理解能力,呵呵~


新浪围脖地址:http://t.sina.com.cn/1181389417
CPU Dasher for OS X: https://itunes.apple.com/cn/app/cpu-dasher/id1013487510?mt=12

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部