对于程序员来说是不难的,不管他是从事前段开发、后台开发、移动开发都能很快的上手,语言本身不难,难得是思想,语言只是工具,思想是灵魂,正真的高手从来不担心语言的淘汰,他们担心的是没有灵魂(思想),特别是在这个移动互联的时代,别太看重语言。技术是更新迅速,我们要的不是鱼,而是捕鱼的方法,有了捕鱼的方法什么样的都能捕获。因此一个程序员不要依靠语言,应该注重思想的积累,处理事物的方式方法。
那我自身来说吧,2016年年初,公司接到一个移动端、网页端都要做的项目,因为人手的短缺,我既要负责ios的开发也要参与前段的编写,使用js、ajax、css、html,对我来说压力非常的大,新的语言新的语法,时间又短,没办法只能硬着头皮上,自学了一周左右的js、ajax、css、html后开始上项目,刚开始看着公司的前段大神写,只负责使用ajax写网络请求,空闲时间就研究项目代码,项目进行到三分之一的时候,项目的大部分js和逻辑实现都是由我一个人完成,在项目中发现很多思想跟处理移动端的思想是差不多的,可能不熟悉的是js深层次的用法,和一些特殊的用法,其实入门还是非常的简单的,只要稍微有点自学能力。
前公司的技术总监也是一位牛人,自己在诺基亚、埃森哲工作过,前段开发、后台开发、移动开发都会,记得他跟我们说过,其实学习语言的使用并不是很难,特别是有一门语言基础的程序员来说更加的不难,编程的思想都是相同的,难道的是怎么写出高质量的东西,我们问过他你怎么什么都会,他说过都是他自学的,移动端开发是以前在埃森哲受命给别人做移动开发培训的时候自学的,毕业后一直做后台开发,曾经用c++写过服务器,不过现在使用的是java,前段开发是自己闲暇时间自学的。因此只要有恒心铁棒也能磨成针。
最近项目不是很着急,有闲暇时间就自学了swift语言,发现语法跟oc的语法还是差别很大的,swift的语法很想java、js但又保留了一些oc的特征,这样对于哪些使用java、js开发的程序员来说理解起来更加的简单。oc的[]语法不在使用了,使用.语法,这点跟java、js很像。
最近在学习的过程中出现的问题和使用的差别:
1、从storyboard拖控件,在使用过程中出现控件为nil,出现这样的问题一般是父控件的加载可能有问题,要么拖控件的时候出现了问题。
2、swift大部分的枚举类型的使用和oc差别挺大的,例如UIControlStateNormal用法就差别很大,swift的使用方式UIControlState.normal
3、设置控件frame,在oc中直接使用CGRectMake(0, 0, 20, 30), 在swift中CGRect(x:0, y:0, width:40, height:20)
4、swift使用的库:SnapKit -- 适配库 Alamofire -- 网络库 SwiftyJSON --- JSON解析 Kingfisher --- 异步下载和缓存图片的库