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

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

 
  kalintw · 257 天前 · 4187 次点击
这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。
你认为以后OSX 和 iOS开发,Swift真的可以完全取代OC吗?

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

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

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

不考虑时间都是耍流氓

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

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

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

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

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

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

你再看看 嘿嘿
 
    38
nino789pzw   257 天前
@ teriyaki andrular是什么? go是说的golang?
 
    39
teriyaki   257 天前
objectivec是单继承+接口的鼻祖

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

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

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

赞同上面说的

何时cocoa/cocoatouch重新用swift写了

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

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

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

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

语言之争没什么意思

如同react要提供api层封装

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

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

编译语言速度排位

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

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

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

不过话说回来了,legacy code 反正不多,到时候整个字节码跨 iOS OS X 也不是不可能。
 
    48
pysama   256 天前
昨天听苹果工程师分享说,公司并没有用swift替代OC的想法;
swift只是降低了开发门槛,让更多的精力聚焦于优秀的设计。
 
    49
ryanking8215   256 天前
@ typcn swift安全锁是什么东东?
 
    50
ren2881971   256 天前
刚自学obc 就让说 要成老古董了么。。
 
    51
MyEvonne   256 天前
围观猫大
 
    52
likers   251 天前
下个月准备试试用swift重写公司的古董应用。边学边写了
 
    53
wuyuchenshishabi   245 天前
用了 swift 之后,感觉此间乐不思蜀了。再用回 OC 觉得有点笨重。不过现在国内的主流还是 OC ,大多数公司面试的时候 swift 说加分项 不是必须的。
 
    54
MarineLv   226 天前
@ onevcat 喵大,感觉 xcode 6.4 对 swift 支持并不完善啊。 lldb 命令一用,整个 xcode 就会卡死,条件断点也没法用,不知道贵司是如何应对的?
 
    55
onevcat   226 天前
@ MarineLv 没遇到过..可能是你们的打开方式不对..



你可能感兴趣的:(ios,swift)