iOS 开发实用技术导航
NSHipster 中文版
› http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
› http://www.cocos2d-iphone.org/
CocoaPods
› http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
› http://code.google.com/mobile/analytics/
WWDC
› https://developer.apple.com/wwdc/
Design Guides and Resources
› https://developer.apple.com/design/
Transcripts of WWDC sessions
› http://asciiwwdc.com
Cocoa with Love
› http://cocoawithlove.com/
Cocoa Dev Central
› http://cocoadevcentral.com/
NSHipster
› http://nshipster.com/
Style Guides
› Google Objective-C Style Guide
› NYTimes Objective-C Style Guide
Useful Tools and Services
› Charles Web Debugging Proxy
› Smore
kalintw
V2EX  ›  iDev

长远看 Apple 的平台上开发, Swift 真的可以完全取代 OC 吗?

  •  
  •   kalintw · Aug 6, 2015 · 11895 views
    This topic created in 4107 days ago, the information mentioned may be changed or developed.
    你认为以后OSX 和 iOS开发,Swift真的可以完全取代OC吗?

    貌似趋势就是大一统,Win也试图PC/Pad/Phone, 3P合一。统一之后App都是一次开发到处可用了,硬件是载体,背后的信息服务和生态才是卖点。

    另外,Web技术也有大一统的趋势,浏览器有入侵桌面操作系统地盘的趋势。

    各位来唠唠,卖香烟瓜子矿泉水的也欢迎路过:)
    55 replies  •  2015-09-06 15:06:34 +08:00
    Vedar
    Vedar
    Aug 6, 2015
    1
    应该可以吧 不过是有过程的 毕竟OC树大根深 我想除了时间没有啥能阻止swift取代oc了
    onevcat
    onevcat
    Aug 6, 2015❤️1
    2
    当然可以..而且并不需要长远看。Swift 成为 Apple 平台主流语言这件事情在两到三年内就会发生。
    tini32
    tini32
    Aug 6, 2015
    3
    虽然从跑分和理论上来看,swift甚至比OC还要快,但是我还是担心:跑分和理论只是机器的体验,java在某些方面号称胜过C语言
    banxi1988
    banxi1988
    Aug 6, 2015
    4
    在我的 iOS 编程上经验里,我觉得 OC 只是对 Swift 的某一些功能的一种补充。
    fo2w
    fo2w
    Aug 6, 2015
    5
    不用看, 我已经传教swift很久了
    wezzard
    wezzard
    Aug 6, 2015
    6
    Swift fucks Objective-C off.
    summic
    summic
    Aug 6, 2015
    7
    我们的APP用swift重写了,俩OC同事现学现写,只用了一个月
    sinux
    sinux
    PRO
    Aug 6, 2015❤️2
    8
    webfrogs
    webfrogs
    Aug 6, 2015
    9
    @onevcat 一入 Swift 深似海,从此 OC 是路人。
    z5n0w
    z5n0w
    Aug 6, 2015
    10
    @sinux 左上角 中间 右下角 这3个图标是什么?
    ikaros
    ikaros
    Aug 6, 2015
    11
    @z5n0w 好像是rust ruby erlang
    airycanon
    airycanon
    Aug 6, 2015
    12
    @z5n0w Rust Ruby Erlang
    pockry
    pockry
    Aug 6, 2015
    13
    国外用Swift都用到飞起,都在用Swift写开源库占坑,国内还在讨论要不要学,感到肩上任重道远啊。
    66450146
    66450146
    Aug 6, 2015
    14
    On an infinite timescale, we're all dead.

    不考虑时间都是耍流氓

    另外我觉得不用几年,写 objc 的就是老古董了……
    Tedko
    Tedko
    Aug 6, 2015 via Android
    15
    就连mansory作者都说不再更新oc pod库只debug。。我自己小伙伴写开源lib写得飞起。。为啥要oc?
    v2Panda
    v2Panda
    Aug 6, 2015
    16
    同意啊 是时候swift用起来。
    blacklee
    blacklee
    Aug 6, 2015
    17
    目前的App不打算用Swift重写
    但是下一个App会慎重考虑丢弃Obj-C
    iTwoEleven
    iTwoEleven
    Aug 6, 2015
    18
    Swfit做个人项目开发语言已经1年多了(从Swift发布开始,各种坑……),公司目前的项目都在维护+小更新阶段,OC依旧主力
    alexzuo
    alexzuo
    Aug 6, 2015
    19
    @onevcat 居然看到一个活生生的喵神!请问swift2.0出来之后,你的书会更新吗?
    pljhonglu
    pljhonglu
    Aug 6, 2015 via iPhone
    20
    我在等apple用swift重写Cocoa
    shellbye
    shellbye
    Aug 6, 2015
    21
    新手准备入门,是不是该直接上swift?
    beimenjun
    beimenjun
    Aug 6, 2015
    22
    可以的,所以必须学 Swift 。
    mko0okmko0
    mko0okmko0
    Aug 6, 2015
    23
    OC可以做系统级的开发,但你只是要做桌面软体或是APP的话OC就可以放生了.
    hilenlai
    hilenlai
    Aug 6, 2015
    24
    大势所趋
    typcn
    typcn
    Aug 6, 2015
    25
    不会取代

    就像 C 能取代 B,而 C++ 取代不了 C

    更何况 Swift 还是像 Java 一样,低效率,高消耗,字节码虚拟机语言
    onevcat
    onevcat
    Aug 6, 2015❤️1
    26
    @alexzuo 会的..最近正在弄这件事儿。
    Imshaha
    Imshaha
    Aug 6, 2015
    27
    刚刚看到的一个 Objective-C to Swift Converter - 一款可将 Objective-C 转换成 Swift 语言的工具 ,在这里http://objectivec2swift.net/#/about
    Banio
    Banio
    Aug 6, 2015
    28
    苹果花这么大力气 肯定是为了取代OBC呀 估计用不了3年 swfit就得超过OBC
    kepenj
    kepenj
    Aug 6, 2015
    29
    看这现在大牛们swift玩的666,再看看自己。 吓得浑身发抖~~
    jiangpeng
    jiangpeng
    Aug 6, 2015
    30
    Cocoa 不用 Swift 重写就是逗你玩
    special
    special
    Aug 6, 2015
    31
    可以,Apple 的推力大家都有目共睹
    (说不定再过几年 xCode 直接不支持 OC
    zartouch
    zartouch
    Aug 6, 2015
    32
    苹果和其他公司不同的在于,苹果很多时候会强推,说不准什么时候,新上架的app就只允许用swift来构建了。。
    spencerqiu
    spencerqiu
    Aug 6, 2015
    33
    @Imshaha
    如此观之,这一只真的是技术白妹子......
    CRVV
    CRVV
    Aug 6, 2015
    34
    @typcn
    为什么我一直以为Swift和Objective-C编译出来的东西是一样的...

    http://stackoverflow.com/questions/24052386/does-swift-compile-to-native-code
    kingcos
    kingcos
    Aug 6, 2015
    35
    @onevcat 感谢喵神!!!前一段也想问您是否会更新,太良心了!!!赞一个~

    顺便问问大家,关于 iOS 框架,Cocoa Touch 有没有全面,基础的资料,或者学习的方向==求指点,谢谢。。。
    teriyaki
    teriyaki
    Aug 6, 2015
    36
    go andrular 那些刚出来也是一堆人热捧
    teriyaki
    teriyaki
    Aug 6, 2015
    37
    objective-c其实比swift简单
    swift是貌似简单 实质复杂

    等项目上了10W行+
    和多人协作

    你再看看 嘿嘿
    nino789pzw
    nino789pzw
    Aug 6, 2015
    38
    @teriyaki andrular是什么? go是说的golang?
    teriyaki
    teriyaki
    Aug 6, 2015
    39
    objectivec是单继承+接口的鼻祖

    delphi java c#都是学生
    本质编程模式 这4种语言没什么不同

    很简单很优雅 当然java写出来有点啰嗦

    swift要复杂 有些貌似脚本的其实不一定简单 例如scala 这个全世界第二难
    性能也没明显优势

    赞同上面说的

    何时cocoa/cocoatouch重新用swift写了

    可立马全转swift
    xhacker
    xhacker
    Aug 6, 2015
    40
    @typcn: 显然不是。Swift 丧失了 ObjC 的一些动态性,因此肯定比 ObjC 快。就函数调用一点就够了。
    typcn
    typcn
    Aug 6, 2015
    41
    @xhacker 不,如果在安全锁开启的状态下,Swift 比 OC 慢一百倍以上,亲自测试+GitHub网友测试
    xhacker
    xhacker
    Aug 7, 2015
    42
    @typcn: 「Swift 还是像 Java 一样,低效率,高消耗,字节码虚拟机语言」这个也不对。Swift 就是直接编译到机器码的。就算现在慢也是因为编译器实现的原因,最终肯定比 ObjC 快。「安全锁」是什么?
    teriyaki
    teriyaki
    Aug 7, 2015
    43
    @nino789pzw 写错了 是angular 这是js框架 个人认为是标准的一坨屎之一

    大公司的东西有些不一定都好

    决定swift是否能取代objectivec的就是否cocoa被swift重写

    现在各种语言除了少数(C++ scala比较难) 上手都很容易 几天几周就会了
    关键是库 要花大量时间熟悉 swift都问题是调用oc库的api不是和oc的调用100%兼容

    语言之争没什么意思

    如同react要提供api层封装

    问题是c# java objectivec都是c系列都语法

    根本不需要多余的层
    panerai
    panerai
    Aug 7, 2015
    44
    @sinux 黑我大ruby!真的有这么慢吗?
    teriyaki
    teriyaki
    Aug 7, 2015
    45
    @xhacker 最终快
    那最好等swift重写cocoa后

    编译语言速度排位

    c》c++》delphi》objectivec(oc是最慢的)》nodejs~java~c#(1/2c++的速度)

    swift在哪?
    能有多大的差异
    typcn
    typcn
    Aug 7, 2015
    46
    @xhacker 你可以开启 -Ounchecked 可以让 swift 性能恢复 80% 不过内存操作,内存安全就不能保证了
    notcome
    notcome
    Aug 7, 2015 via iPhone❤️1
    47
    真受不了了,Swift 关掉 check 自然跟 C 一样快。它又没有什么高开销的运行时抽象,enum 和 pattern match 的问题学术界早就解决了。

    编译到字节码这个就更扯淡了,LLVM 可以解释字节码但那个性能似乎有点……真的冲着虚拟机来的 LLVM 字节码解释器是几个月前微软倒宣布了一个。

    不过话说回来了,legacy code 反正不多,到时候整个字节码跨 iOS OS X 也不是不可能。
    pysama
    pysama
    Aug 7, 2015
    48
    昨天听苹果工程师分享说,公司并没有用swift替代OC的想法;
    swift只是降低了开发门槛,让更多的精力聚焦于优秀的设计。
    ryanking8215
    ryanking8215
    Aug 7, 2015
    49
    @typcn swift安全锁是什么东东?
    ren2881971
    ren2881971
    Aug 7, 2015
    50
    刚自学obc 就让说 要成老古董了么。。
    MyEvonne
    MyEvonne
    Aug 7, 2015
    51
    围观猫大
    likers
    likers
    Aug 12, 2015
    52
    下个月准备试试用swift重写公司的古董应用。边学边写了
    wuyuchenshishabi
    wuyuchenshishabi
    Aug 18, 2015
    53
    用了 swift 之后,感觉此间乐不思蜀了。再用回 OC 觉得有点笨重。不过现在国内的主流还是 OC ,大多数公司面试的时候 swift 说加分项 不是必须的。
    MarineLv
    MarineLv
    Sep 6, 2015
    54
    @onevcat 喵大,感觉 xcode 6.4 对 swift 支持并不完善啊。 lldb 命令一用,整个 xcode 就会卡死,条件断点也没法用,不知道贵司是如何应对的?
    onevcat
    onevcat
    Sep 6, 2015
    55
    @MarineLv 没遇到过..可能是你们的打开方式不对..
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1372 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 283ms · UTC 18:52 · PVG 02:52 · LAX 10:52 · JFK 13:52
    ♥ Do have faith in what you're doing.