想对于技术选型学习上有一些问题请教

34 天前
 ClearMoki

因为一些原因需要深入学习 macos ,可能会发展成工作一部分,之前会一些 swift ,目前在想需不需要继续学习 swift 还是需要从 OC 开始看

  1. 从 JD 上看的话国内基本都是写的精通 OC ,熟悉 swift ,国外都是需要熟悉 swift ;
  2. 现在很多 swift 中还是需要写到一部分的 OC ,而且对于 c/c++的支持也不好 希望得到一些建议,谢谢~
1489 次点击
所在节点    iDev
9 条回复
skallz
34 天前
OC 为主,很多都是老项目,swift 也要会
levelworm
34 天前
是破解之类的吗?可能要上 OC 了。
netabare
34 天前
之前写过一点 Swift 的感觉是如果只是满足于堆砌 UI 或者简单的应用那 Swift 还是蛮足够的。但如果要稍微往深了做的话,似乎 Swift 不太够,得上 OC 。

不过那之后我就溜了(

也许可以先试着把 Swift 弄熟悉吧。
MacsedProtoss
33 天前
oc++ & swift
qloog
33 天前
如果是开发自己的应用 或者 新项目,是不用 Swift 就可以了?
ClearMoki
33 天前
ClearMoki
33 天前
@qloog 不是自己的,先目前准备去看看 OC 了,谢谢
kekeabab
33 天前
swift 的缺点:

1. 开放的功能太少啦,好多功能苹果根本不想让开发者使用,直接从编译器层面给拒绝了,比如想用 ctor ,swift 目前只能通过实验性功能 SymbolLinkageMarkers 然后 @_section("__DATA,__mod_init_func")

2. 文件真的很臃肿,会链接一堆根本没有使用的库,同时底层依然需要依赖 objcruntime

3. c abi 交互真的非常麻烦

swift 的优点:

1. 简洁优雅,很多东西写起来和 kotlin 一样甜

2. 苹果大力支持,比较新的设备上/比较新版本的 Xcode 比如开发个支持 VisionPro 的程序,ide 只支持使用 swift 开发

objc/objc++现状:

新产品 ide 只支持使用 swift 开发,并不是真的只能用 swift 了,只是用其它语言稍微麻烦一点,但 swift gui 开发底层依然依赖 objcruntime ,苹果只是把创建 objc 项目的模版删除了,并不是完全不能用。

并且在可见的未来 objc 应该会被永久保留。百分之九十九的新 app ,它可能是 swift 编写的,但是底层依然强依赖 objc ,各种游戏引擎/gui 库都是底层强依赖 objc 。

很多人觉得 objc 已经死了不更新了,但实际上 objc 的状态就和汇编类似,绝大多数人都不会直接用它,但是少了它绝对不行,已经成了与底层功能交互的主要手段之一。

PS: objc 上次版本更新是在两个月前,基本每年都会有 3-5 次小版本更新,还是很频繁的,只是应该不会再加入新语法特性。
levelworm
31 天前
@kekeabab #8
没有新特性其实是个很大的优点。假如 C++11 之后就没有大的新特性,那该多美好。

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

https://tanronggui.xyz/t/1098914

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

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

© 2021 V2EX