从Java Programmer到iOS Developer (一) 如何起步?
2013年春节过后,奋战了一个月, 为公司展会完成了我的第二个iOS应用. 虽然这个应用离上线的标准还有很多工作要做, 但是这些对我来说, 已经让我有足够的信心给自己mark上 iOS Developer 的标签.
iOS & Android 移动平台, 想必现在很多人都想进入. 对于Java程序员来说, 进入Android会很容易, 但是切换到iOS平台下, 跨度会很大. 2012年6月, 一个看似疯狂的决定, 让我从一个Java程序员走上了iOS开发的道路.
2012年6月初, 在对iOS开发一窍不通的状态下, 毅然接下"ipad收录监控"项目. 这个App主要用来在ipad上, 随时随地查看收录系统中视频信号源的状态(也就是能用ipad播放udp视频). 公司将会在8月底的BIRTV上将其跟收录系统一起展出.
在接下任务之后, 我将即将要做的任务列了一个详单:
技术上待攻克的内容:
- Objective C 语法
- XCode 使用
- 如何完成iOS到Java后台的通讯
- iOS 下UI控件的使用
- 如何在iOS对h.264 udp视频流解码
详细的内容可以在附件"ipad收录RoadMap.zip"中看到.
在整理完详单后, 之后每天都扑在这个项目. 每天时刻在研究如何进行iOS开发.
首先是要收集各种资料, 对于国内来说, cocoachina 绝对是必去之地.
经过几天的搜索, 各种技术的解决方案整理如下:
1. Objective C语法:
在学Objective C语法之前, 需要先看《iOS Technology Overview》 (iOS技术概要),了解iOS开发技术组成. 如同了解做一个Java应用有可能会涉及到: J2SE, J2EE, Servlet, JDBC, Swing等技术一样, 先了解iOS开发需要设计那些技术。
关于语法: 《Leaning Objective-C on Mac》 - Objective-C基础教程
2. XCode 使用:
iTunes上的斯坦福大学教程(第一课), 或者看youku上 iWilson 发布的视频
3.如何完成iOS到Java后台的通讯?
Java后台, 使用JBoss RestEasy提供对REST-ful WebService 支持.
iOS端使用RestKit库解决REST-ful通讯问题.
4. 如何在iOS对h.264 udp视频流解码?
使用ffmpeg对视频进行解码
在确定解决方案之后,剩下时间就是全身心投入其中,攻克各种难题。
iOS开发除了技术之外, 一些很重要的准备工作会将很多人挡在门外.
1. iOS开发是不是必须有mac, mac太贵,有没有什么代替方案?
mac需要有,虽然黑苹果可以做iOS开发,技术方面的折腾绝对足以磨光你的激情。与其折腾黑苹果, 不如想如何购买便宜的设备:
1). 在taobao上买港行, 找同城, 网上支付, 自己提货.
这个是我的方案, 国行标价9100的macbook pro 13低配, 淘宝上 7900 买到的.
现在可以选择macbook air 13寸低配(内存需要升到8G). 性能? 新款mba绝对够.
2). mac mini , 显示器等其他设备自备:
这个对于有台式机的朋友来说, 首选. mac mini + 8G内存(自己单独换), 成本基本能控制在5000以内.
3). 二手mac, 这个我没经验, 各位可以自己尝试.
在购买mac之后,熟悉mac系统对于用惯windows的用户来说,是一种不小的挑战。如果有做iOS开发的想法, 建议提前准备.
2. 开发者账号是否需要一开始就申请?
这个大可不必, 99美刀, 价格不菲. 如果不需要真机调试或者产品发布, 大可不必提前花这个钱.
BTW: 真机调试可以先借朋友的账号用. 发布的时候再自己申请.
如何申请账号, 真机调试看这里:
http://www.cocoachina.com/bbs/read.php?tid=7923
3. iOS 设备到底买那个?
如果预算不充足, 建议买个ipad mini. 看书,调程序用. 充足直接上 iphone.
话说iphone已经烂大街了, 需要调试的时候问朋友借来用用.
What next ?
《从Java Programmer到iOS Developer (二) 从Java的角度去学Objective C》 coming soon ....
其他推荐资料:
Apple 入门Road Map - 官方中文版 (话说,我看的时候还只有E文版)
Code4App iOS代码收集站 (对我帮助最大的地方, 看各种源码)
RestKit Wiki Page (iOS后台交互全靠这里)
上一篇: 自定义一个简单的标签