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

2015-08-06 09:02:44 +08:00
 kalintw
你认为以后OSX 和 iOS开发,Swift真的可以完全取代OC吗?

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

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

各位来唠唠,卖香烟瓜子矿泉水的也欢迎路过:)
10312 次点击
所在节点    iDev
55 条回复
typcn
2015-08-06 23:59:12 +08:00
@xhacker 不,如果在安全锁开启的状态下,Swift 比 OC 慢一百倍以上,亲自测试+GitHub网友测试
xhacker
2015-08-07 00:03:01 +08:00
@typcn: 「Swift 还是像 Java 一样,低效率,高消耗,字节码虚拟机语言」这个也不对。Swift 就是直接编译到机器码的。就算现在慢也是因为编译器实现的原因,最终肯定比 ObjC 快。「安全锁」是什么?
teriyaki
2015-08-07 00:03:55 +08:00
@nino789pzw 写错了 是angular 这是js框架 个人认为是标准的一坨屎之一

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

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

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

语言之争没什么意思

如同react要提供api层封装

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

根本不需要多余的层
panerai
2015-08-07 00:05:00 +08:00
@sinux 黑我大ruby!真的有这么慢吗?
teriyaki
2015-08-07 00:08:37 +08:00
@xhacker 最终快
那最好等swift重写cocoa后

编译语言速度排位

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/211129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX