首先要是有一个界面开发的经历那最好了,类似桌面界面开发其实是相通的。游戏开发中的界面跟这个略微不同。大部分会用到框架提供的组件,熟练的使用常用的组件是很有必要的。应该尽可能的多去尝试不同组件的使用机会,这样才能扩大组件的使用见识。
应该用面对对象的角度去研究文档,继承关系以及实现了什么样的协议,顺着这样的路走下去就会对框架有个整体的认识。不少人看着也开发了好一段时间,但就是不曾系统的研究过这些东西。遇到问题了,还是停留在百度这样境界。
框架和语言的问题,一开始开发的时候基本上不会对这个进行分类。实际上语言是需要单独学习的,研究的越深刻才能越自由。
设计模式,如果不是项目开发到一定规模很难会有所领悟,而且你是项目负责的,一般新手建议从研究系统框架中使用到的设计模式入手,这样更实际点。
HTTP协议需要单独研究,有本书《HTTP权威指南》非常详尽。Charles这样的抓包工具可以作为辅助研究这个的工具。除此还可以研究下AFNetworking源代码以及原生的请求类。
关系型数据库需要单独找本书看下,不是简单的会使用增删改查就可以了,比如怎么多表联查,怎么排序,SQL语句提供的功能远不只这些。
Core Data应该用,建议学习下Rails这个后台开发的东西,你就会明白多数的框架都不会直接去操作SQL,而是通过包装来简化或者影藏其中的复杂性。问题远远的比想得复杂,原始的刀耕火种的方式会让你累个半死,所以最好用现成的解决方案了。