____时间过的真快,不知不觉,国庆长假已经过完,眼看着2018年就剩最后3个月了,心里甚是惶恐。今年伊始,我几经周折,终于搞定了换工作的事情,随后就是新公司的适应。期间零零散散的坐着iOS客户端功能的开发。公司的项目已经运营了好几年,目前主要是一些新的产品形态和运营活动的开发。结余时间,也试着研究了一下swift,前端开发和java语言,但都是浅尝辄止,并没有具备基本的开发能力。当然,大部分时间还是在看iOS相关的知识,但过于琐碎和晦涩的进阶的东西,让我无所适从,往往看一个问题会引出几个问题,最终的结果就好比猴子下山,丢了这个捡那个,丢了那个捡这个。经过这几个月的折腾,也没有明显感觉到自己的水平有令人印象深刻的变化。

____今年是自己从事iOS开发的第三年了。从一个门外汉带入门,再到现在,一直感觉自己都是一个初级客户端开发者,每天写写基本的UI图,利用大神的框架与服务端协商获取数据并处理缓存,写一些函数处理业务逻辑和UI交互变化,然后利用百度解决一些从来没见过的问题和一些不知道处理了多少次还是要百度的问题。虽然期间会研究UI的绘图原理,尝试自己用代码绘制各种不同的非常规UI控件,研究核心动画并在交互中加入适当动画,研究网络相关的知识,比如:http和https,tcp与udp,webSocket等,尝试理解大神造的轮子,比如:AFNet,SDWeb等,但现在回想起来,却没有多少印象。我也不知道到底是我记忆力不够好,还是确实难以记忆。借用中学时老师的说法,一遍脑子记不住就用笔记下来,重复记忆是打败遗忘最好的方法。所以,我决定开始写自己的进阶计划和心得体会,目标是三个月后的元旦,我自己能真切感受到自己的进步。

计划清单:

第一部分:语言类
1,作为iOS未来开发的必备语言,swift是必须要掌握的,尤其是4.0以来,swift语言趋向于稳定。
《The Swift Programming Language》 Swift 4.0 Edition
Swift编程网
函数式Swift
objccn-swifter-tips
2,为了拓宽自己的技术栈,使得自己不仅仅局限在iOS客户端开发,同时也增加自己学习新知识带来的快乐,要适当的涉猎前端开发和后端开发的知识。
  所以,针对前端开发,要熟悉H5+JS+CSS,针对后端开发,要熟悉JAVA+数据库。
W3Cschool
3,目前python这门语言的发展相当迅速,把它列为计划,其实我自己也不太清楚要干啥,这是之前看过一部分资料,希望这次有时间用python做点事情。
  目前应用分发上传蒲公英的脚本就是用的python写的,6的不行。
跟老奇学python从入门到精通
W3Cschool
第二部分:大神库类
那谁曾经说过,天下文章一大抄,看你会抄不会抄!经典的大神库,犹如沙漠中甘甜的泉水,滋润我干瘪的知识体系。
网络:AFNetworking
图片加载缓存:SDWebImage
数据库:FMDB
膜拜:YYKit
M了个J:MJRefresh,MJExtension
UI:UITableView-FDTemplateLayoutCell
布局:Masonry+SnapKit
提示框:MBProgressHUD+SVProgressHUD
第三部分:综合能力提升
综合技能的提升不在于具体的知识点,而在于对软件编程的理解
《代码大全》
《Heard First 设计模式》
《Effective OC 2.0:编写高质量iOS与OS X代码的52个有效方法》
《深入理解计算机基础》
《程序员的自我修养》
第四部分:模块技能提升
《图解HTTP》
《大神扎堆》
虽然在开发中也会是不是的使用动画,但真正谈论起iOS的动画,确实不怎么清楚。每次使用也是百度加自己摸索,没有一个系统的认识和了解。最近找到了两本好书,打算抽时间研究研究
《iOS动画学习手册》
《iOS Core Animation》

计划赶不上变化,但万变不离其宗,每学习一个知识,都要写学习笔记列出一条主线,围绕主线展开,才能时刻知道自己在学什么。坚持在博客中写每个模块的学习笔记。