对iOS开发的一些认识

从事iOS工作这么久了,我觉得对它的认识也越来越深刻。尤其是越发明白自己从事的工作属于“客户端开发”、“软件工程”分类中。

我更喜欢“客户端开发”这个词语,相对“前端开发”而言。因为前者更能充分说明面向的群体是客户,iOS开发也正是为客户使用为目的进行的开发。

之前看到这句话--服务器解决的是“有不有”的问题,客户端解决的是“好不好看的”的问题。

确实让我怀疑了自己的工作性质和意义。难道我从事的工作就是这样的花拳绣腿?装点门面?

直到后面一些事实的联想,给了我一些新的启发。那就是-----

PC时代的到来不正是因为微软的可视化操作界面带动的节奏吗?

如果只是命令行的操作,编程技术人员之类的还好,普通群众可不愿意这样干。后面微软出现了可视化的操作系统。。。主要解决了如下几个场景:

1、服务器的确解决了数据有还是没有的问题。但是客户为了获取到数据还需要使用命令行编程操作,客户肯定不愿意。可视化操作系统中,客户简单到只需要点击一个按钮就能获取到数据。

2、数据是获取到了,然后一堆数据,就算是JSON、XML格式,又怎样,客户想直观的看到数据随时间的变化情况,看一堆数据肯定是不行的。可视化操作系统中,客户看到的是数据可视化,将数据图形化展示。不然股市K线图都没法看。

3、不可能一直都是服务器给出数据,客户也是需要跟服务器有个数据交互的。但是怎么输入数据呢?面对黑色背景的命令行操作?一是输着输着客户都不知道输到哪了,之前输完的数据也很难直观的看到。二来,客户并不是编程的技术人员,在输入源上如何控制有效输入?比如,只让用户输入0到9这10个整数中的一个。可视化操作系统中,提供给客户的是一个有着0到9这10个按钮的View作为输入源,提供给客户的交互控制在一个有效也高效的操作方式中。

说到这里,所以我更喜欢“客户端开发”这个词了。

然后再来说下“软件工程”这个词。

想着我可是数学系的高材生,数学分析、数论、图论、高等代数、几何、离散数学等等。在计算机学科上,数据结构和常用算法上,想当初我学得可带劲了。然而,现在从事iOS开发这么久以来,这些东西都用上了吗?用上了,更准确的说间接的(潜移默化效果)一直在使用,直接的话,很少使用。有时候我在自己思考问题的时候采用离散数学的方法。但是直接用在iOS的平时开发中的机会比较少。说到这里,我突然想到为什么程序员自嘲自己是码农了,自嘲自己是搬砖的。需要什么功能,直接百度、GitHub上搜索、开源框架的搞起。。。为什么会这样,为什么不静下心来自己写功能、自己写框架?我想这就是为什么iOS开发是属于软件开发范畴的原因了。

其实,说到底,自己写?自己造轮子?然后你就认为自己在底层编程了?有成就感了?不不不!

就比如说,我们iOS程序开发,是“面向对象”编程的。面向哪个对象?面向Apple SDK这个对象。Apple SDK的存在不就是让你快速开发一个软件而存在的吗?Apple SDK的存在意味着我所从事的就是软件工程。

软件工程从业者不是研究人员!

软件工程从业者不是研究人员!

软件工程从业者不是研究人员!

我们始终要坚持自己的目的-----快速的完成客户端软件工程。

~暂时这么多。

猜你喜欢

转载自www.cnblogs.com/cchHers/p/9039865.html