是时候学习Objective-C/Cocoa for Apple agnostic

spe*_*der 3 iphone cocoa objective-c

这个问题不可避免地是主观的,但无论如何我都会问.

我是个电脑.我一直都是个人电脑.虽然我对*nix感到非常满意,但我对Apple的专业知识很少.我有很多开发经验,并且认为我能够比大多数同事更快地学习新的语言和概念(尽管ML/F#仍然会定期让我受伤).我对C++非常熟悉,虽然自九十年代以来没有触及它,每天都在工作,并且对C#有100%的信心,我认为自己已经熟练掌握了Java并且在Lisp中开发了大量的东西. Prolog回到了当天.

我们最近有一个开发iPhone应用程序的请求,这听起来像我们非常感兴趣的一个有趣的主张.我们对Apple平台的内部经验很少.鉴于我们对Apple的大多数事情一无所知,对OSX和Apple UI范例几乎没有熟悉,并假设我们获得了必要的开发硬件:

  1. 需要学习什么?
  2. 优秀的开发人员需要多长时间才能加快速度?
  3. 追求这条路线可能会产生任何非明显的开支吗?

再一次,为这个问题的主观性质道歉.非常感谢.

cma*_*han 9

我花了几个月才感到舒服; 但那只是晚上/周末.我来自PC/VC背景,从未拥有过Mac.

Objective-C可以,如果有点不寻常.有一些常见的问题,你学习一次,然后不再做.恕我直言,它比C++更容易射击自己,但切换并不是什么大不了的事.我认为更大的学习曲线是XCode; 它肯定不是Visual Studio上的一个补丁,可能需要一点时间.也就是说,每次发布都会越来越好.最让我烦恼的一件事是Mac键盘与PC键盘 - 特别是在IDE中 - 我一直跳到文件末尾而不是行尾等等.然后回到PC找到你保存等不是相同的组合键.它会变得非常混乱.

Mac和OS X呼吸新鲜空气 - 希望我早一点.我买了一台iMac 24来获得足够的屏幕空间.这是一台可爱的机器.

对于Cocoa,在采用手机应用程序之前,我采用了一种稍微不同寻常的Mac应用程序启动方式.我使用了"可可编程为Max OS X"这本书给了我很好的基础.然后我转到'开始iPhone开发'.我认为这种方法对我来说效果很好,因为Mac OS是一个更大的图景,而iphone是一个子集 - 它帮助我了解事情是如何组合在一起的.我还买了几本关于linux,mac internals等的书......我需要填补我的知识空白.我发现我需要对终端感到非常舒服,并阅读一本关于bash shell的书,并打磨了我的'vim'用法.我还沿途发现了'git'并且没有回头.

对于手机本身,你真的需要一个设备,而不仅仅是模拟器; 我发现模拟器与设备不匹配的几个问题(特别是如果你打算使用OpenGL ES) - 因此我将在iphone 3G/3GS和touch上进行测试.信用到期; 我发现的所有差异都是我的代码中的问题,需要修复才能使它在模拟器和设备上看起来相同.如果您已经完成了任何器件编程,它可能是您曾经使用过的最好的器件编程平台 - 简单而稳定,调试良好.

我说成本是一台Mac + 2 iphone + ipod touch,价值200美元的书......没有发现任何隐藏的成本......

  • 肯定是先学会写苹果桌面应用!文档/书籍/在线资源要好得多.然后将这些知识翻译成iphone应用程序.(以这种方式更容易) (3认同)