【IT168 应用】2015年的ChinaJoy,触控科技发布CVP(Cocos Valuable Professional,Cocos最有价值专家)计划,初衷是建立高阶开发者社交圈,通过招收学员,传递知识价值,还可以以个人或者团队形式承接技术难题任务,赚取丰厚报酬。
随着CVP平台的逐渐完善,聚合作用逐步凸显,平台开始汇集厂商的技术难题需求,厂商能快速找到合适的开发者,节约人力和时间成本,开发者能够接收平台任务,规避跑单风险。近日,CVP首个平台任务“捕鱼达人3 Windows Phone 8.x版本接入官方支付”成功完成,抢单CVP陈龙接受了我们的独家专访,和大家分享项目过程中的宝贵经验。
以下是采访实录:
Q: 简单说下这次接到CVP任务的感受?
陈龙:首先是和Cocos有缘,在Cocoachina和CVP平台看到这个任务,加之4月份参加了微软Cocos大赛,已经配置好了开发环境,所以好上手。这些年,技术外包已经屡见不鲜,但行业没有约束规则,导致现在很多开发者在接单时比较谨慎。其原因在于:需求不断改变导致项目难以收尾,项目本身可预测性太低导致后期不断填坑,过程难量化,势必引起费用等多方面问题。举个例子,有些厂商号称让我们帮做一个技术测试,事实上却大相径庭,这些事见多了自然就开始慎重了。反观这次项目,由于WP8功能特点相对独立,相对来说,可预测性强和可操作性很强,当然我还是很相信触控CVP这个平台的,不然这个单子我就不会接啦。
Q:原来这样的任务单子一般都依靠什么渠道找到?
陈龙:一般是朋友介绍,看个人时间和能力,敢接的单子也都看朋友关系。原来听说过猪八戒网等外包平台,但是并不专业,而且厂商不拖底,所以总想能找一个有保障的渠道。我们程序员需求很单纯,就是可信赖。
Q:在这个任务中遇到了哪些技术难题?是如何解决的?
陈龙:技术难题其实就是一个:如何在 Cocos 里面调用系统的内购接口,而又不会导致系统崩溃。原理是把请求转移到UI线程里,然后像做微创手术一样,选择一个最合适的地方嵌入代码,做成模块,只提供接口和捕鱼3的代码交互。尽量少的改动上层代码,集中于平台相关的底层部分,避免破坏性引入bug。剩下的就是按文档实现和调试了,最近微软商店合并过,所以流程较多。
Q:WP8支付的SDK怎么样,有哪些坑是需要和大家分享的
陈龙:最关键的是缺少UWP方式的技术文档。Cocos2dx 3.5是最后一个支持 C# XAML架构的WP8工程的版本,之后就被UWP替换掉了。目前可以搜索到的大部分信息还停留在这个老架构上,而我更偏重的是UWP架构,参考资料少之又少。
另外,还有若干坑:比如异常崩溃,只需要处理异常捕获而不是彻底消除掉,后来经过测试确认并不会导致闪退之类的问题;测试设备解锁, 8.0版本的设备已经不能解锁成测试开发机了;开发者账号登陆异常提示:每次打包时不时的就会让你登陆一下开发者的账号并验证联系人信息,建议千万不要做这个联系人,不然会半夜有人给你打电话要验证码的。
Q:在这里任务中 C++和C#是如何互调的?哪些经验是可以分享的?
陈龙:这次任务其实我并没有用常规XAML C# 呼叫 C++ Runtime Component的架构,我选择的技术方案是基于流行的 UWP的项目结构,纯 C++的方式。调用C++版本的Windows Store的接口。
首先, 由于一直关注Cocos2dx引擎,所以我很清楚每一次版本变更的细节,进而判断UWP会大行其道,那么UWP也支持IAP内购。
经过检查C++的IAP接口只有 Windows 支持,而UWP是指Windows所有平台一套代码,那么Windows Phone理应也是支持的,最多只是支持程度有差别。
最后一点,由于大部分文档都忽略了某些细节,导致短时间很难理解,所以选择了官方的给DirectX Game添加内购的案例。
Q: 请问你这次CVP接单收益多少?花了多长时间?对这个收益满意吗?
陈龙:陈龙:这个项目总共用了我3天时间,收益5000元,关键是需求明确还有保障,能够让我们这样的开发者技术知识经验变现,我很满意,也期待借助CVP平台赚到更多钱。
Q:是否愿意把这次的任务编成WP支付教程,并分享到CVP平台上?
陈龙:大家都知道Cocos2dx引擎是开源的,开源是有反哺的,我一直有写BLOG的习惯,也愿意和大家分享一些心得体会,苦于知音难觅。我尽快整理一下细节,写成WP支付接入教程,比如把WP内购加到 Cocos PluginX 里面,现在代码还是比较暴力了一点。
图为CVP平台首单攻城狮陈龙
Q:谈谈对于CVP这种平台的看法和期望。
陈龙:因为CVP平台,才有机会做这件事,因为有Cocos引擎,才使得这种解决问题的方式变得可行。开发者可以先测试,然后再一起合并代码。延伸开来,岂不是会将很多事情变成可能,我甚至能想象如果有一天我们每个产品都变得非常的模块化,远程协作,以及基于模块级别的代码复用,进而可以较高提升生产效率,还能解决技术短板。希望CVP平台能够完成这个使命,实现双赢的未来。也许不久的将来,不再有公司,不再有无谓的加班,我们只要做好自己擅长的部分,集中在想法和创意环节。时间是最宝贵的成本,一个人能有几个10年呢?
CVP这个平台太好了,希望能认识更多的朋友,一起加速跑,告别单枪匹马,开启集体围猎模式。
在采访的最后,陈龙的一句话让我深受鼓舞,他希望CVP平台能够一直存在,能够为开发者嫁接长远的抛物线,现在想来这话正符合CVP建立初衷,不只看到眼前利益,我们正是聚集“一群有意思的人,去做一件有意义的事”。如果你想要加入我们,一起体会移动游戏开发的乐趣,和CVP导师深入交流,猛戳:cvp.cocos.com!