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后台交互全靠这里)
相关推荐
《Java 2 Sun Certified Programmer & Developer》是由Kathy Sierra和Bert Bates共同编著的一本经典教材,专门针对Java 2平台的编程和开发者认证考试。这本书深入浅出地介绍了Java编程语言的核心概念和技术,是Java...
Oracle公司的Java SE 8 Programmer I认证考试(代码:1z0-808)是针对Java开发者的专业认证之一。该考试主要考察考生对Java SE 8基础知识和技术的掌握程度,包括语言特性、类库使用等方面的内容。通过此认证,可以...
本书的主要目标是为你提供有关Java应用和Java applets的面向对象的程序设计所必需的知识和技能;...本课程包括了参加SUN Certified Java Programmer和SUN Certified Java Developer考试所必备的知识……
Java SE 7 Programmer认证是Oracle提供的针对Java开发者的专业认证之一,旨在验证候选人在Java编程方面的技能和知识水平。无论是作为入门级别的OCA认证还是更高级别的OCP认证,这些认证都能够帮助开发者提升其在职场...
Sun Certified Java Programmer(SCJP)是Sun Microsystems为Java程序员提供的一个专业认证。该认证旨在评估并验证考生对Java编程语言的核心理解能力,以及是否能够有效运用这些知识解决实际问题。SCJP认证在IT行业...
市场上有许多书籍和在线资源来帮助考生准备认证考试,例如由Jeanne Boyarsky和Scott Selikoff编写,John Wiley & Sons出版的《OCP Oracle Certified Professional Java SE 8 Programmer Study Guide》是一本比较受...
SCJP(Sun Certified Programmer for Java)认证是专门针对Java程序员的认证考试,它旨在验证候选人是否具备使用Java编程语言开发应用程序的专业能力。这个认证由Sun Microsystems公司(现为Oracle Corporation的子...
- **SCJP** (Sun Certified Java Programmer) 是由 Sun Microsystems 提供的一项专业认证,用于验证个人在 Java 编程方面的技能与知识。 - **310-025** 是 SCJP 认证考试的一个代码,该考试主要评估应试者对于 Java ...
根据提供的文件信息,我们可以归纳出一系列与C++相关的知识点,特别是针对那些希望从Java过渡到C++的程序员。以下是对这些知识点的详细说明: ### C++ 对 Java 程序员的意义 #### 标题:“C++ For Java Programmer...
Java 9 for Programmers (Deitel Developer Series) by Paul Deitel English | 16 May 2017 | ASIN: B071S84XCK | 1120 Pages | AZW3 | 83.11 MB The professional programmer’s Deitel® guide to Java® 9 and ...
标题与描述中的关键词“Rational Application Developer programmer”指向了IBM Rational Application Developer(RAD)这款集成开发环境(IDE),主要用于构建企业级应用,如Java、Web、XML、数据库、EJB、Struts、...
**OCA Java SE 7 Programmer I** 认证是针对初级到中级水平的 Java 开发者的官方认证之一,旨在验证考生对 Java 编程语言的基础理解和应用能力。通过该认证的考试(代码为 1Z0-803),可以证明持有者掌握了 Java SE ...
通过以上知识点的总结,我们可以了解到《Java SE 6 Programmer Practice Exams》是一本专门为Java SE 6程序员认证考试准备的题库练习书。它包含了大量模拟题目和详细解析,有助于考生在掌握核心概念的同时,通过实际...
《OCP Java SE 8 Programmer II Exam Guide》是针对Oracle Certified Professional Java SE 8 Programmer II考试的一本权威指南。这本书详细介绍了Java 8编程的核心概念和技术,旨在帮助考生准备并成功通过这一专业...
在"Sun Certified Programmer for Java 2 Platform 1.4"认证考试中,考生需要掌握Java编程的基础知识,包括类型转换、数组创建、循环控制、对象生命周期以及接口实现等核心概念。以下是对这些知识点的详细解释: 1....
读者对象定位从初学者到高级用户,覆盖广泛的Java程序员。书中内容的组织和结构设计可以帮助不同水平的Java程序员为通过1Z0-809考试做好准备。 书中的内容包括了Java的基础知识,以及Java SE 8中的高级特性,例如...
Sun Certified Programmer for the Java 2 Platform (310-065) 是一项针对Java SE 6.0平台的编程认证考试,旨在测试考生对于Java编程语言的基本理解和应用能力。这个认证是Java开发者职业生涯初期的重要里程碑,证明...