前言:一个人写的ios转行总结,思路很清晰,值得学习

原文网址:http://www.cocoachina.com/bbs/read.php?tid-332587.html

啰嗦(请跳过)
8月5号左右突然做出了来北京工作的决定,给北京同学了解情况时正好同学公司缺人,7号来面试了下,13号一早就来报到了。自己与iOS开发还是有些缘分,3月中旬到5月初在济南一家小公司做了不到2个月的iOS开发(当初面试是做Android,但近来后iOS更急需,我想我这刚转行都可以啦,就开始做了iOS;后来北京同学这开始也想做Android(抱着以后能学习学习Android源码的想法那时对Android情有独钟),不过同学这也是缺少iOS,于是就这样定了吧)。

(现在想来,转为开发iOS,也与我有些迷茫有关系。移动开发、渗透测试、机器学习,三个自己都投入过不少时间的方向,拿不定主意,就看找到哪个工作了。(或许面试我的人能看出我是否适合那个方向哈))。

3月中旬到5月初,接近两个月时间。
(中间两个月做梦O2O创业去了,梦醒后就8月份了)
8月13号到今天(11月18日),3个月多点。
总共5个月了,感觉自己iOS开发算是入门了,总结总结,最后也计划计划。

前言
在 Windows 平台用 C++ 开发了 5 年客户端,平时喜欢看书且信书,第5年了就想着跨界一下,看到一本《MacTalk人生元编程》……从此迈入了 Apple 的大门。

此文主要总结下,我这5个月如何从 Windows C++ 开发转到 iOS 开发。

准备
信息
《MacTalk人生元编程》,让我对 Apple 有了第一次认识(以前只知道乔布斯)。(这本书我是2014年买的)
硬件
MacBook Pro 15寸 非顶配,我是从小闷的水果店买的港版。(现在公司用的13寸+外接显示器,感觉13寸也不错。)(2014年底购买)
iPhone 4S,从闲鱼上700块钱买了的二手的。(从来没有用过Apple的产品,为了让自己熟悉iOS系统的操作)(2015年3月份开始做iOS开发后买的)
鼠标。前期还是配个鼠标,否则不习惯。慢慢习惯了触摸板就很少用鼠标了。
软件
Xcode,使用AppStore安装。
搭建一个Mac开发环境,推荐看这个文章 https://aaaaaashu.gitbooks.io/mac-dev-setup/content/。
学习
第一阶段:基础
这个阶段大概用了一个星期,遇到的问题百度都能很快找出来。

1. 《马上着手开发 iOS 应用程序》
英文是 Start Developing iOS Apps Today。

首先看了这份官方提供的教程,手把手教程。边看边做,完成后信心大增。

2. 《Objective-C 程序设计》
我看的第四版,大概两天的时间,从头到尾浏览了一遍。类和Foundation部分照着写了一些例子程序熟悉语法。

3. 《iOS开发指南:从零基础到AppStore上架》
看的第二版。书中虽然步骤很详细,从头到尾看快速浏览了一遍,前几章的挑了一些例子,一步一步完成了,熟悉了开发套路后,后面章节的小项目,跟着做出来。大概花费了3、4天时间。之后就是边开发边看书了。

4. iOS代码写界面
主要是看的这篇文章,http://www.cocoachina.com/bbs/read.php?tid=131516

第二阶段:真正开始开发
这个阶段前后加起来算是最长时间,大概4个多月吧。

5. 熟练控件
UITableView
UIScrollView
6. CocoaPods
基本使用
7. 熟悉常用的几个库
这些库基本上都是开发必用的了。

AFNetworking 很出名的网络库
Masonry 方便的手写自动布局
MBProgressHUD 等待进度
MJRefresh 下拉刷新
JSONKit JSON解析
SDWebImage 异步加载图片
8. 几个概念
GCD
KVC/KVO
MVC
NSCoping
NSCoding
开发者账号的类别
开发证书、生产证书、推送证书
描述文件
9. Xcode插件
先安装插件管理器 http://alcatraz.io/

FuzzyAutocomplete 代码自动完成的模糊匹配
XToDo 查找代码中的TODO标记
KSImageNamed 代码中写[UIImage imageNamed:]时可预览图片
XVim VIM模式
VVDocumenter-Xcode 按///产生注释
XBookmark 书签功能(我习惯用书签功能,以前用VisualStudio时的习惯)
ColorSenseRainbow 代码中方便预览颜色
10. 几本书
《精通iOS开发》 补充概念,工具书。
《iOS开发进阶》 页数不多,但很实用。
《Effective Objective-C 2.0》 小经典
11. 常用网站
Code4App
CocoaChina
GitHub
第三阶段:深入
给一个App的需求,自己能自信的说没问题了。应该进一步深入的强化下自己的知识了。

12. 崩溃获取及分析
PLCrashReporter
分析崩溃
13. 持续集成
fastlane 是一个工具集合,各种iOS开发的流程,甚至App自动截图。
fir.im 很好的解决了App内测分发。老板想看看最新开发中的App,给他一个链接就OK了。
Jenkins 强大的持续集成系统,配合 fastlane 和 fir.im 方便的自动化整个打包、上传过程。
14. CocoaPods
如何自己创建库
15. 一些更深一步的概念
Method Swizzing :以前做Windows Hook,Objective-C也有啊,概念总是相似的。
消息转发机制
Toll-Free Bridging
关联对象
Bitcode
Objective C++
16. 源码学习
Masonry
UITableViewCell-Auto...
MBProgressHUD
MJRefresh
看到一些不错的效果,有源码就看一看
17. 单元测试
Specta/Expecta
Kiwi
18. MVVM
ReactiveCocoa
19. 几本书
《Objective-C编程之道》主要是学习思想。还没看完。
《大话移动APP测试,Android与iOS应用测试指南》从测试的角度反思下开发。
20. 文章
招聘一个靠谱的iOS http://blog.sunnyxx.com/2015/07/04/ios-interview/
答案 https://github.com/ChenYilong/iOSInterviewQuestions
第四阶段
这一阶段是我的计划。过去5年自己一直做安全产品,对安全总是情有独钟,现在做iOS开发了,肯定不能少。书已经买好等着我看啦。

21. 继续深入
各种特效
各种动画
各种界面
22. 安全
《iOS应用逆向工程》
《iOS应用安全攻防实战》
《深入解析Mac OS X & iOS操作系统》
总结
以上是我这几个月的iOS学习经历,可能有遗漏,分享给大家,希望能帮助到其他C++转iOS的同行们。

如有不正确的地方,请指正。

5个月iOS开发入门总结(C++转行iOS)相关推荐

  1. linux 股票指南针,IOS开发入门之ios指南针

    本文将带你了解IOS开发入门之ios指南针,希望本文对大家学IOS有所帮助 参考http://blog.sina.com.cn/s/blog_4a37054201013nhr.html 可运行的代码如 ...

  2. android 地球坐标 火星坐标系,IOS开发入门之iOS开发火星坐标系与地球坐标系解析...

    本文将带你了解IOS开发入门iOS开发火星坐标系与地球坐标系解析,希望本文对大家学IOS有所帮助. iOS开发火星坐标系与地球坐标系解析. 在开发过程中,遇到一个问题,安卓和iOS传同样的经纬度给后台 ...

  3. IOS开发入门之二——第一个App

    如果你对怎么开始IOS开发都不懂的话,请看点下面的链接,先学习关于IOS开发环境的配置以及Swift语言入门: IOS开发入门之一--Swift语言基础     本章将教大家创建一个标准的苹果手机应用 ...

  4. iOS开发入门——项目创建

    iOS开发入门--项目创建 1.新建项目 2.项目模版 3.项目配置 配置好之后点下一步就好.... 4.确定存储位置 5.启动模拟器 这就是第一个空白项目的创建过程,后面将持续更新iOS开发学习经历 ...

  5. IOS开发入门(11)-导航控制器(1)

    IOS开发入门(11)-导航控制器I:层级结构和标签 前言:(直接从书上抄的) 大多数应用程序是由主视图导出多个屏幕,并且通常情况下实现屏幕切换的方法还不止一种.我们需要一种方式来实现用户在应用程序内 ...

  6. 职坐标 Android,IOS开发入门之MacOs安装Android Studio3.0的常见问题及解决方案

    本文将带你了解IOS开发入门MacOs安装Android Studio3.0的常见问题及解决方案,希望本文对大家学IOS有所帮助. MacOs安装Android   Studio3.0的常见问题及解决 ...

  7. iOS(一):Swift纯代码模式iOS开发入门教程

    Swift纯代码模式iOS开发入门教程 项目初始化(修改为纯代码项目) 安装第三方库(以`SnapKit`库为例) 桥接OC库(QMUIKit) 封装视图并进行导航跳转 示例:使用 `TangramK ...

  8. android 艾特功能实现,IOS开发入门之iOS反编译实例之hook微信艾特所有人功能实现...

    本文将带你了解IOS开发入门iOS反编译实例之hook微信艾特所有人功能实现,希望本文对大家学IOS有所帮助. 研究了一段时间反编译逆向工程,只是略微了解了一些皮毛,最近忙的事情太杂,就简单写一下吧. ...

  9. android app开发混合开发,混合开发入门 Vue结合Android/iOS开发仿京东项目App

    download:混合开发入门 Vue结合Android/iOS开发仿京东项目App 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合 ...

  10. iOS开发入门教程_iOS开发视频教程

    iOS开发入门教程 (Object-C.网络编程.多线程.蓝牙.二维码.Cocos2D.OpenGL) 适合人群:初级 课时数量:34课时 用到技术:IOS,Object-C,OpenGL,XCode ...

最新文章

  1. 【计算摄影】计算机如何学会自动地进行图像美学增强?
  2. DNS隧道工具dns2tcp
  3. halcon模板匹配——转化算子vector_angle_to_rigid和affine_trans_contour_xld
  4. python开发面试题目_Python测试开发面试笔试题
  5. 压力测试+webbench+ab+tsung+siege
  6. 程序员保持身心健康的八种方式
  7. 4.6.3 内表数据处理
  8. 请描述定时器初值的计算方式_51单片机定时器初值计算器
  9. ajax post请求发送数组后台接收
  10. 编程经历的一些思考——一个工作4年老鸟的职业思考(转载)
  11. 你们要的Echart系列,今天它来了,教你一招快速上手echarts的属性设置,手把手教程系列
  12. Java 表格文字垂直居中_itextpdf中表格中单元格的文字水平垂直居中的设置
  13. 网易邮箱异常信息说明
  14. KMPlayer如何设置H.264硬解
  15. WebGL入门(六)-通过坐标计算实现图形的平移、旋转和缩放变换
  16. JavaScript 基础知识
  17. 【动态规划】状态机模型:买卖股票的最佳时机 IV
  18. C#编写的基于VLC的播放器
  19. 长三角大数据产业联盟正式成立,云创大数据位列创始成员单位
  20. 目标检测标注工具(可自定义生成标签模板)

热门文章

  1. 莫烦python讲得好差_【图片】《莫》短篇【vore吧】_百度贴吧
  2. 2019年华北五省计算机应用大赛官网,【喜讯】我校学子在2019年华北五省(市、自治区)及港澳台大学生计算机应用大赛中获佳绩-天津城建大学...
  3. 解决axios请求超时
  4. C语言五子棋游戏for Windows
  5. 欢度端午个人空间送福利,快来领取吧!---获奖名单公布
  6. 提示没有安装JRE插件或者被浏览器拦截的解决方法
  7. [双语阅读]阿汤哥爱女苏芮当选好莱坞最红明星宝贝
  8. JavaFx - Button长按事件
  9. 去掉idea中有些代码的黄色背景,去掉标记为过时的方法横线
  10. mysql如何按季度分组统计_MySQL中按周、月、季、年分组统计