V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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
rainex
V2EX  ›  iDev

XCode 开发组的能力堪忧

  •  
  •   rainex · 2017-08-13 15:15:06 +08:00 · 11037 次点击
    这是一个创建于 2665 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一路用 beta 版,XCode9 已经 beta5 了,编辑器的确能感受到是重写了的,但截至目前完成度还是不够高,很明显的比如代码折叠功能依旧没有,然后打开之前的项目,有的语法着色需要你切换甚至选中文字才刷新,给人第一印象感觉也不好,之前 beta4 用重构改名还是不是闪退,搞到现在用重构都先保存。

    同等硬件上,装个 Windows+VisualStudio,性能肯定比 XCode 好,更别说人家 VS 功能还比 XCode 多,好尴尬。

    当然,其中不完全是 XCode 开发组的锅,跑软件的多平台版本,越依赖图形加速的,同等硬件下,都是 Win 赢,可能有部分锅要再分给显卡厂商的驱动吧,但苹果自身系统的性能我觉得也得分些锅。

    苹果不行从别处再挖点 IDE 的大牛吧,我感觉 XCode 开发组现有的人可能也尽力了。

    (不排斥有关系的人把本文转给 XCode 开发组,刺激一下他们)
    83 条回复    2017-08-16 04:06:20 +08:00
    afpro
        1
    afpro  
       2017-08-13 15:32:56 +08:00
    人家只是不想理你 不是不能搞定 哈哈
    ivechan
        2
    ivechan  
       2017-08-13 15:39:03 +08:00
    用 beta 版,就是小白鼠,这不是简单的事情么。。。
    XiaoFaye
        3
    XiaoFaye  
       2017-08-13 15:43:01 +08:00   ❤️ 2
    VS 宇宙第一 IDE 不是白吹的。。。
    hyperdak288
        4
    hyperdak288  
       2017-08-13 16:00:02 +08:00
    说好的 mac 才是正经生产力工具呢
    光速逃
    neosfung
        5
    neosfung  
       2017-08-13 16:03:44 +08:00 via iPhone
    苹果可能重新定义了 IDE 了吧
    lxml
        6
    lxml  
       2017-08-13 16:21:17 +08:00
    不能怪他们,毕竟世界上最好的 IDE 人才就那么些,还大部分都跑 JB 厂和 微软去了。

    全体 iOS 开发者团结起来,刺血书给厨子,让他多学学 Google 让 JB 厂 外包一个 XcodeStudio,自己二次开发得了。
    xd314697475
        7
    xd314697475  
       2017-08-13 16:30:52 +08:00
    @lxml JB 不是有 APP code?
    plqws
        8
    plqws  
       2017-08-13 16:32:42 +08:00
    @xd314697475 AppCode 都迭代了多少个版本都还没有 Swift 的错误提示支持
    lxml
        9
    lxml  
       2017-08-13 16:36:56 +08:00
    @xd314697475 #7 比亲儿子差远了,跟 IntelliJ IDEA 和 AndroidStudio 类比很适合。
    googlebot
        10
    googlebot  
       2017-08-13 16:47:10 +08:00 via iPad
    Vs 再好没用,啥开源项目都编译不了,

    牛人都是 gc,都没有 ide,
    xd314697475
        11
    xd314697475  
       2017-08-13 16:47:32 +08:00
    @lxml 这么说来锅还是苹果的
    googlebot
        12
    googlebot  
       2017-08-13 16:49:18 +08:00 via iPad
    xcode 是最好的 ide,objc 能编译,开源项目能编译,
    acros
        13
    acros  
       2017-08-13 17:05:57 +08:00
    你说的是质量问题,加大牛也解决不了,看 XCode 的发展就觉得苹果没投入太多。

    @googlebot 有点看不明白,您是反串黑还是····
    wingkou
        14
    wingkou  
       2017-08-13 17:15:24 +08:00 via Android
    @googlebot 同楼上没看懂,这是高级黑?
    ghostheaven
        15
    ghostheaven  
       2017-08-13 17:34:02 +08:00
    苹果的思路还是很对的,只要讨好苹果的脑残粉和普通果粉,设备卖得杠杠的,给开发者屎,开发者都会笑着吃下去。。。
    liuhuansir
        16
    liuhuansir  
       2017-08-13 17:36:41 +08:00
    android studio 和 xcode 都用的表示,xcode 就是个渣,除了界面简洁,一无是处
    bookit
        17
    bookit  
       2017-08-13 17:39:55 +08:00
    把 vs team 的人挖来,把微软裁掉的测试工程师都招来,提升软件质量
    Wicked
        18
    Wicked  
       2017-08-13 17:52:06 +08:00
    这些都是小问题,能不能改下更新策略,不要强制绑定 iOS,MacOS,xcode 三者的版本,国内升一次级太蛋疼了
    Mithril
        19
    Mithril  
       2017-08-13 18:03:08 +08:00
    之前看有人说微软 Office 组用 XCode 编译他们在 Mac 上的 Office,结果经常编着编着就死掉。
    所以他们写了个程序专门用来在 XCode 死掉的时候自动重启它
    finab
        20
    finab  
       2017-08-13 18:11:15 +08:00 via iPhone
    @Mithril 哈哈哈,不过应该是假的吧,编译干嘛用 xcode
    nyanyh
        21
    nyanyh  
       2017-08-13 18:13:22 +08:00
    @finab Mac 上的软件,不用 XCode 组织项目,难道还用 Xamarin Studio #滑稽
    Mithril
        22
    Mithril  
       2017-08-13 18:20:30 +08:00
    @finab 因为要在 Mac 上卖啊。。。
    0xcb
        23
    0xcb  
       2017-08-13 18:20:35 +08:00 via Android
    xcode 把之前 Objc 的命都快革了,支持新的很好,但是别丢掉旧的啊,毕竟还依赖 Objc
    zhx1991
        24
    zhx1991  
       2017-08-13 18:26:53 +08:00
    itunes 都垃圾十几年了
    Tardis0127
        25
    Tardis0127  
       2017-08-13 18:53:43 +08:00
    苹果是设计主导的公司,技术能力堪忧,现在越来越烂了
    还有,别用 beta 啊
    clavichord93
        26
    clavichord93  
       2017-08-13 19:26:34 +08:00 via iPhone
    其实现在各家东西质量都挺烂的…只不过 Apple 最近烂的最快最彻底,再这么下去信仰也挡不住怒火啊…
    WildCat
        27
    WildCat  
       2017-08-13 19:50:00 +08:00
    @ghostheaven 事实就是这样的,oc 以前还是 ARC
    kangu
        28
    kangu  
       2017-08-13 19:58:04 +08:00
    听说 Xcode 编译 Facebook 直接 crash,然后他们无可奈何开发了一个整套环境,叫啥名字忘了。。
    anyele
        29
    anyele  
       2017-08-13 20:04:18 +08:00
    谁也比不了 VisualStudio
    rainex
        31
    rainex  
    OP
       2017-08-13 20:22:48 +08:00   ❤️ 2
    领导者给企业奠定的基因真的很重要。

    微软你说他硬件怎么不惊喜也罢,但开发工具上确实舍得投入,不好好弄比尔盖茨都不答应吧,创始人自己最早就写过 basic 解释器的。

    但苹果,根本就没有技术大牛能处于高位,之前是乔布斯产品为王,现在变成库克供应链为王,用户觉得哎呀苹果 app 好炫啊,谁知道背后用的开发工具这个样,打个比方,就像很多饭馆前面看装潢漂亮,后面的厨房简直没法看。
    hstdt
        32
    hstdt  
       2017-08-13 20:30:37 +08:00 via iPhone
    1. 拼写不对,Xcode
    2. 用 beta 版作为论据有点站不住脚,这几个 beta 版本感觉就是重写了很多东西,有 bug 我没意见,虽然之前的正式版我也不太满意。
    hstdt
        33
    hstdt  
       2017-08-13 20:32:24 +08:00 via iPhone
    @rainex 照你的推论,iOS 系统一样会是 bug 无数了,因为是乔布斯和库克当家。
    Jonsong
        34
    Jonsong  
       2017-08-13 20:36:40 +08:00
    额 有个事情要明白在苹果眼中用户才是第一位,开发者才是第二位,苹果更重视的是普通用户的体验。
    finab
        35
    finab  
       2017-08-13 20:37:42 +08:00 via iPhone
    @nyanyh
    @Mithirl
    因为编译不需要 XCode 呀,
    别说像微软这样大的公司,稍微有点技术的小公司,也会写好脚本编译 APP 呀,不会傻乎乎的打开 xcode 坐那等半小时吧?画面太美不敢想
    zjp
        36
    zjp  
       2017-08-13 20:38:53 +08:00 via Android
    @acros
    @wingkou
    https://www.v2ex.com/t/367921#reply145 自己看吧…实在无法概括总结这
    rainex
        37
    rainex  
    OP
       2017-08-13 21:01:29 +08:00
    @hstdt 都 beta5 了这个质量和进度,完全对不起苹果这种大厂的牌子。
    rainex
        38
    rainex  
    OP
       2017-08-13 21:07:50 +08:00
    @hstdt 每个版本若没 bug 怎么来的越狱所需的漏洞,而且不让 root,采用沙盒,app 严格审核,都可以降低 bug 被发现后的危害程度,这要是 windows 那样的,系统还不知道会被黑的多惨。
    coldmn3
        39
    coldmn3  
       2017-08-13 21:12:45 +08:00
    beta5 不知道怎么回事,只要同时打开 IB 编辑界面和代码页面,就会一直 build,卡死了。
    nicevar
        40
    nicevar  
       2017-08-13 21:16:14 +08:00
    Xcode 崩溃是出了名的,从 3.1 版本用到现在,也就是 4 之前的版本稳定,后来的版本真是崩溃的方式五花八门,最受不了的就是 debug 的时候崩
    ech0x
        41
    ech0x  
       2017-08-13 22:00:22 +08:00 via iPad
    一般而言 Xcode 有两个版本,一个不稳定的版本和一个更不稳定的版本。
    murmur
        42
    murmur  
       2017-08-13 22:10:27 +08:00
    @ivechan 这是被逼的,包括混合 app 开发

    你写了个 h5 应用,客户升级了 beta 版 ios,你需要真机调试,除了你可能需要测试版 safari 之外,你的程序必须在测试版 xcode 下启动才能在 safari 里调

    这点照着 android 差远了,android 只要是用 webview 就给
    uyhyygyug1234
        43
    uyhyygyug1234  
       2017-08-13 22:15:30 +08:00
    不过不是说端的软件质量还挺好的么。。。ide 看来不是唯一因素。。。
    bombless
        44
    bombless  
       2017-08-13 22:41:03 +08:00 via Android
    听说苹果印度开发者变多了那些人乱搞。
    而且苹果相比微软做软件更加“互联网思维”吧,软件先上了再说有 bug 以后再修
    Tardis0127
        45
    Tardis0127  
       2017-08-13 23:08:45 +08:00 via iPhone
    @bombless 说印度的我赞成,阿三靠不住,我就歧视了,我就政治不正确
    googlebot
        46
    googlebot  
       2017-08-14 03:29:21 +08:00 via Android
    @CRVV 你可以试试,说是能用 vs 编译,你看看能编译几个文件,Python 很多部件,有几个能编译,
    jedihy
        47
    jedihy  
       2017-08-14 03:42:57 +08:00
    @ghostheaven 说的对,Xcode 性能好低,经常崩溃,高亮不及时。
    zhangchioulin
        48
    zhangchioulin  
       2017-08-14 07:38:29 +08:00 via iPhone
    一路 Appcode 用过来,Xcode 只用来打开 Storyboard,资源文件等拖拽控件的文件
    wangxn
        49
    wangxn  
       2017-08-14 07:50:28 +08:00 via Android   ❤️ 1
    @googlebot 一般的跨平台软件,用么用 make,要么用 CMake 之类的包裹器。VS 编译起来没什么压力(包括命令行)。
    微软专门为 Python 打包了一个免费的 VC 编译器。
    byuc
        50
    byuc  
       2017-08-14 07:52:04 +08:00
    @bombless 这个微软不服,你苹果只是软件先上了再说有 bug 以后再修,我微软是系统先上了再说有 bug 以后再修
    ragnaroks
        51
    ragnaroks  
       2017-08-14 08:30:34 +08:00
    事实上 VS 偶尔也出问题,比如 WPF 的预览窗口无限初始化,代码提示莫名消失,git 无限提交中等等,好在重启 VS 都能解决,希望不是社区版的锅
    plqws
        52
    plqws  
       2017-08-14 08:36:36 +08:00
    我也是服了,今天刚升级 Xcode beta5,Swift 的 rename 功能又一堆 bug,比上一个 beta 还烂
    leeg810312
        53
    leeg810312  
       2017-08-14 09:49:43 +08:00
    感觉 Apple 从来都不重视开发人员,市值这么高,现金这么多,连开发工具这种基础要件都不愿投入足够多的资源
    ma125125t
        54
    ma125125t  
       2017-08-14 09:59:51 +08:00
    我比较关心 command+左键定位方法的 bug 修好没。。。
    SilentDepth
        55
    SilentDepth  
       2017-08-14 10:24:45 +08:00
    Swift 不是开源了?那假以时日 Swift 成为主流编程语言( Mac/iOS 平台上),应该就有第三方出 IDE 了?这个时候 Xcode 部门是不是就可以丢锅了
    googlebot
        56
    googlebot  
       2017-08-14 11:03:36 +08:00 via Android
    @wangxn 你搞笑,VC 根本不支持 c99, 没几个开源项目能编译,
    googlebot
        57
    googlebot  
       2017-08-14 11:10:15 +08:00 via Android
    我上次说过了,vs 是最烂的,vs 不支持可视化 c 语言的 windows 编程,
    你想用 c 开发 windows 程序,没有可视化的,vs 不行, 只能用垃圾 c#, 是可以反编译的,

    windows 的程序开发已经彻底烂了,
    Brucepac
        58
    Brucepac  
       2017-08-14 11:18:43 +08:00
    不管 Xcode 好不好用,它是世界上最好看的 IDE 这点应该毋庸置疑吧
    chairuosen
        59
    chairuosen  
       2017-08-14 11:23:25 +08:00
    把 XCode 卖给大 J(et)B(rains)
    tanranran
        60
    tanranran  
       2017-08-14 11:28:38 +08:00
    Xcode 和 Android Studio 差了不是一个级别.
    ioth
        61
    ioth  
       2017-08-14 11:33:42 +08:00
    和安卓比不错了
    ljcarsenal
        62
    ljcarsenal  
       2017-08-14 11:49:26 +08:00
    阿三招多了的缘故吧
    Mithril
        63
    Mithril  
       2017-08-14 11:54:43 +08:00
    @googlebot VS 本身就不支持 C 语言,支持的是 C++。
    如果你写.c 文件的话使用的是一个祖传版本的 C90 编译器。现在对于 C99 的支持仅限于那些被划为 C++标准子集的那部分。
    loveuqian
        64
    loveuqian  
       2017-08-14 12:05:26 +08:00
    因为 Xcode 是用 Xcode 写的。
    hjc4869
        65
    hjc4869  
       2017-08-14 12:38:32 +08:00
    VS 其实质量在走下坡路,我们这边开发 Azure 的工具链现在都是 2015,没人用 2017。
    只能说 VS 现在还能称作宇宙第一 IDE 都是同行衬托。
    hjc4869
        66
    hjc4869  
       2017-08-14 12:46:34 +08:00
    @googlebot VS 下如果真的想写标准 C 的话,只有把 VS 底下的编译器换成 clang,或者建个 VS 的 Linux 项目用 WSL 调通之后移植 mingw。
    而且 Windows 下就算编译器支持了标准 C,也没个实现非常标准的 CRT (源于 UNIX 的东西本来就水土不服),API 也只有用古董一套 win32,连 shell api 什么的都是 COM,用 C 去调用完全是找罪受。

    另外,不同意你所谓的“没法用标准 C 语言 Windows 开发就彻底烂了”的说法,照你这么说只有在 Linux 下用 gtk 才是真正的清真。开源项目也不是一切,跟桌面相关的东西不支持 Windows 基本上意味着大部分人用不到。
    n6DD1A640
        67
    n6DD1A640  
       2017-08-14 12:53:41 +08:00
    beta 版不就是用来测试的吗,手动滑稽
    gnaggnoyil
        68
    gnaggnoyil  
       2017-08-14 13:12:58 +08:00
    @googlebot Linux 是最烂的,Linux 不支持磁盘内容的异步 IO,
    你想用 Linux 使用磁盘 IO,没有异步的,epoll 不行, 只能用垃圾 pread/prwrite, 是同步的,

    Linux 的程序开发已经彻底烂了,

    ——————————————————————

    想放黑屁?我建议你在放黑屁之前先掂量掂量自己会不会被回头喷的很惨.
    guroyuri
        69
    guroyuri  
       2017-08-14 13:54:40 +08:00
    Visual Studio 2015 fully implements the C99 Standard Library, with the exception of any library features that depend on compiler features not yet supported by the Visual C++ compiler (for example, <tgmath.h> is not implemented).

    https://en.wikipedia.org/wiki/C99
    https://msdn.microsoft.com/en-us/library/hh409293.aspx
    wangxn
        70
    wangxn  
       2017-08-14 14:20:57 +08:00 via Android
    @googlebot 你拿一个 C++编译器去编译 C 语言写的项目不是更搞笑吗? 23333
    wangxn
        71
    wangxn  
       2017-08-14 14:32:26 +08:00 via Android
    @guroyuri 这个只是标准库吧,某些脑洞比较大的语言特性还是不支持。
    gzztz
        72
    gzztz  
       2017-08-14 14:48:40 +08:00
    苹果:你!不!需!要!
    waruqi
        73
    waruqi  
       2017-08-14 15:58:05 +08:00
    xcode 的体验还是可以,感觉比 vs 好用多了,as 就算了,卡出翔。
    sgissb1
        74
    sgissb1  
       2017-08-14 16:29:53 +08:00
    vc ( vs )的好,并不在于编译器多么牛逼,做 windows 开发的人,常常能遇到各种 vc 的 bug。说到底还是 IDE 做的够傻瓜化,让大家用起来不需要在那些细枝末节上去反反复复的花时间,另外还有就是 windows 对外版本比较统一。

    就像我不喜欢写、改、生成*nix 下的编译工程配置一样,太累了。经常为了一些编译器版本,环境依赖折腾来折腾去,因为我自己也不是很熟悉 linux 或者*nix (含 android、ios、osx ),所以每次都需要花至少 30%的时间在搞编译环境上。

    做 windows 上开发,如果不用那些仅仅只能在伪终端上进行编译的开源。那么整个项目的生命周期大致为:30%~ 40%测试,10%~ 15%编码,10%~ 15%调试,还有产品设计与技术设计阶段。

    在*nix 上做开发,如果要求相同时间内做完相同功能的活(非界面类),那我常常会多出 20%的编译环境折腾时间,然后从其他工作上压缩时间。

    xcode 写代码,有时候也会遇到各种稀奇古怪的问题。前段时间在编 ffmpeg、x264、webrtc 的时候,还遇到一大堆编译环境的坑,当然这些坑在 windows 上也会遇到。

    至于 c99,c++11,c++15 或者 c++100,我觉得都不重要,先学好 c++先,这么复杂的语言,基础功没打好,说啥都是花架子!另外 vc 确实不是干 c 语活的;对 c++支持也确实存在一些问题,vs2008 之前都快成一种方言了,vs2013 开始才看到 c++11 的样子( vs2010 支持的很少)。

    搞了这么多平台的破事,我还是觉得,好的 IDE,应该是带来便捷,而不是没事就给开发人员找 bug,或者和他们进行做斗争。
    xjbeta
        75
    xjbeta  
       2017-08-14 17:24:32 +08:00
    叉 code9 beta 也就 3 还好点 4,5 随便写点逻辑错误 编译器就炸了(可能是 new build system 的锅
    @Mithril 好想问问 这程序哪能找到 2333
    googlebot
        76
    googlebot  
       2017-08-14 21:43:37 +08:00
    @hjc4869 windows 带的基础包是最少的, 简单的 openssl 都没有,vs 的开发环境也是最差的,啥扩展库都没,啥都要打包, 这方面 macosx 是最好,ssh,git 这些系统都带了,

    现在你开发一个东西, 不可能啥轮子都造, 大家都在用开源,python 的崛起就是草民革命,可以跨平台,可以容易扩展,

    xcode 是最好的开发开发工具,objc,c 都支持, 可惜 windows 平台没这么一个东西,

    vs 基本是废了, 就是搞.net,
    googlebot
        77
    googlebot  
       2017-08-14 22:12:18 +08:00
    @wangxn 用 vs 学习 c++? 学习有鸡毛用,要搞项目还所有模块都用 c++写? 你太嫩了吧,
    ghostheaven
        78
    ghostheaven  
       2017-08-15 00:11:47 +08:00 via Android
    @googlebot 胸弟,IDE 和 SDK 不是一回事。IDE 主要是一个集成开发环境,编辑,编译,调试,部署,测试,什么的都给你提供了。而用什么编译,用什么调试,用什么部署,用什么测试,一般是 SDK 提供的。

    VS 作为 IDE,高效,稳定,跟 win 原生的工具结合紧密。但是 SDK 方面由于 win32 不是*nix 系的,工具链和接口基本都是不兼容的,开源社区需要额外的精力去适配,除非本来就是 win 上,否则很可能没有 win 上原生的支持,只能通过 cygwin 或者 mingw 实现。另外 win 上一直没有很好的包管理程序,nuget 这种出来的太晚,导致即使有原生,长期以来也需要自己手动下载。

    Xcode 作为 IDE,相比 VS 慢和卡的不是一点点,越大的项目越明显,调试工具脆弱。但工具链和基础库方面由于是*nix 系,跟 Linux 的很接近,大部分开源项目都很容易兼容。包管理方面是其实也是 0,多亏了 port 和 brew,否则依赖的第三方库要跟 win 一样要手工下载。
    Actrace
        79
    Actrace  
       2017-08-15 08:37:21 +08:00
    文本编辑器写代码路过。
    notepad++很好用。
    jedihy
        80
    jedihy  
       2017-08-15 08:43:07 +08:00
    @googlebot 你说的和 VS 一点关系都没有,那时 windows 的问题
    xhp281
        81
    xhp281  
       2017-08-15 13:01:29 +08:00
    @CRVV 你咋不搜个 ios 项目
    vibbow
        82
    vibbow  
       2017-08-16 01:56:52 +08:00
    @googlebot windows 有 Cryptographic Service Providers 啊,为什么要 openssl ?
    googlebot
        83
    googlebot  
       2017-08-16 04:06:20 +08:00 via Android
    @ghostheaven 一个最简单的需求,vs 就不能用 c 可视化开发 windows app,只能用.net 垃圾,

    windows 现在是最垃圾的开发环境,.net 无法跨平台,开源项目无法用 vs 编译,大家就用 qt,python 这些垃圾工具,

    python 的崛起,说明 vs 有多垃圾,.net 有多垃圾,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2521 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:08 · PVG 09:08 · LAX 17:08 · JFK 20:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.