【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
喜欢apple的程序员朋友对wwdc肯定不会陌生。本次wwdc上最大的一个亮点之一就是swift。本来大家都清楚,在apple上开发应用基本上都是以objective c为主。但是自从apple宣布后面需要用swift进行支持和替换的时候,估计大家又得忙起来了重新学习一下swift是怎么一回事了。好在apple十分贴心,早就给大家准备了一份教程,有兴趣的朋友此刻可以看起来了。
1)关于编程语言
从高中以来,我学的编程语言不算少了。从一开始的basic到大一的c、c++,学习数据库时用到的delphi pascal,web用到的php,研究生时用到的java、C#,以及后面自学的go、lua、objective c等等,大大小小加起来也有不下十种语言了。这些编程语言设计逻辑不一样,但是只要对其中一两种精通之后,再学习其他的语言,难度曲线会小很多。这次的swift也一样,提前看过的朋友说它和google的go语言很像,更准备地说它类似于一种动态的脚本语言。这样说也没有错,我想apple的本意是降低开发的门槛,让更多有创意的人快速地开发出有意思的应用。
2)只是一个前端
从前在pc上,人们习惯用mfc、vb上迅速开发应用。而在移动app上,互联网公司和软件公司给大家提供了更强大的前端开发工具。apple是这样,windows是这样,android也是这样。不管什么编程语言,作为应用来说,它最大的好处就是可以最快地进行前端的开发,用仿真器快速显示出效果。要是稍微复杂一点的逻辑,要么系统帮你包办,要么客户端将数据通过socket发送给服务器,由服务器进行统一的判别和处理。所以说,移动客户端真正发挥出它优势的地方就是移动网络的参与和配合。
3)基本的逻辑没变
不管什么语言,除了基本的语法,大家还要了解控件的编写、数据库联系、socket互联、多线程访问、image处理、音频视频的调用、传感器api的使用等等。上面这些内容其实和语言本身没有什么关系,都是系统为上层app准备的资源。作为开发者,大家需要考虑的就是如何将创意用代码表达出来,用逻辑构建稳健而健壮的框架,而不是将精力花费在语言的细枝末节上面。
4)不变的服务端设计
不管什么客户端,输出的数据都要通过socket传到服务器进行处理。服务器代码的编写没有客户端那么花哨,永远都是socket accept、sql访问、并发访问、互斥管理、登陆验证、防止资源泄漏、数据压缩校验加密等等。大多数服务器都是在linux或者unix运行,这就是决定了c是主要的开发语言。当然也有人说python、go也可以,这当然要看个人的喜好了。
5)业务第一
坦白来说,现在没有纯粹的传统公司,也没有纯粹的互联网公司。传统的公司需要借助互联网这个渠道,而互联网也需要利用具体的业务进行生根发芽。不管是游戏、搜索、o2o、电子商务、门户网站、红娘、二手市场、团购,庞大的销售队伍是少不了的。当然你可以说国外如何如何,但这就是中国的国情。找不来风投,没有一定的现金流做保证,你肯定死的比谁都快。不管你卖的是流量还是道具,不管你对企业还是个人进行收费,不管你的商业模式是什么,我们要记住技术是为业务服务的,只有真正给客户创造了价值,这样的技术才是真正需要的技术。