iOS? Android? Reactnative? 分享技术选型爬过的坑

这些年的折腾

作为一个半路出家的程序员,我绕了很多弯子.
先是学习iOS开发, 做点小应用, 然后不知道怎么的突然想完成儿时的梦想:做一款游戏.
2013年末,看完<被解救的姜戈>之后,我选择做些自己的东西.
作为一个游戏行业的外行人,我在刚开始的技术选型上就没走对路子.其实当时我压根就没有这方面的概念, 当时苹果的WWDC发布了一个SpriteKit的游戏引擎, 我初略评估了一下, 和Cocos2d很像(非Cocos2d-x), 决定用SpriteKit作为我的游戏引擎.
其实也是因为当初太懒了,对学习其他语言有抗拒,当时只会Objective-C, 就放弃了Cocos2d-x和Unity3D(当时这货国内用的人不多,我还以为是一个野路子)

SpriteKit

好吧,最终就是用了一个SpriteKit来开发<别吃我>,其中的幸酸,我去.
项目结束之后,我了解到国内的游戏行业需要找游戏发行商,OK,联系了大概70-80来家大大小小的发型商之后, 大概得出以下几个结论:

  1. 你的游戏画面不错,但是玩法太过枯燥,游戏评级在C-B之间.
  2. 我们需要Android版的游戏包, iOS的不方便运营.
  3. 我们需要Android版的游戏包...
  4. 我们需要Android版的游戏包...
  5. 我们需要Android版的游戏包...

omg...

Unity3D

好吧,不就是要一个跨平台版嘛,独立完成这个项目之后,此时的我对开发的理解有了一些变化:

  1. 在有其他语言基础之后,学习一门语言的时间其实很短
  2. 程序架构,开发思路,API的使用熟练,这三点决定了开发进度.
  3. 这类游戏项目最大的开销在于游戏设定和美术(包括动画),程序只占其中的30%.

对比了一下Cocos2d-x和Unity的前景,我选择了Unity.
看起来挺简单嘛,评估了一下1个月学习Unity,2个月重新开发一遍.开干!
(有时候就不能太自信,每次评估都会错...)

死在好奇心

  1. 来到C#的世界才知道Objective-C为什么被称为一个"古老"的语言
  2. 用到了一个专业的游戏引擎, 才知道之前SpriteKit是一个什么二货,原来自己之前的工作有40%是在补充SpriteKit未称职作为一个游戏引擎的坑.
  3. 原来还有这么多实现复杂动画的方式.
  4. Unity是组件式开发, 完全颠覆之前的开发思路, 有直观的编辑器的确更高效, 也更让人不习惯(我在iOS中可是洁癖得连xib都不愿意用的傻子...)

我决定用新的动画(骨骼动画)代替老动画(逐帧动画), 相当于用CPU换内存,iPhone5s的手机当内存接近400MB时就有被系统干掉的风险,我原先全用的是逐帧动画,在某些个复杂的场景已经隐隐有内存警告了,用骨骼动画一劳永逸,并且可以实现许多复杂的功能, 例如换装系统等等.如果有换装系统,怪物的类型可以多出许多.想想都流口水.
重做动画我选用的是Spine+Unity的原生动画状态机,并且重写Spine用到的Shader以降低CPU计算量;通过暴力测试发现如果安装原先的设定50多个怪物冲下来的话,CPU会飙满,需要重新设计怪物的属性和关卡难度,反正之前设定的关卡也太不好玩了...
花费了1个月学习了Unity和Spine之后,评估了一下工作量,要把角色全部重新绘制,并且使用Spine重做动画,大概需要45天,好累,都是体力活.
..........................

好累, 还是去上班放松一下吧

就是那一天的下午,看着还未Unity重构完的怪物们,和以前同事通了通电话,再看看手头上已经花完了的积蓄,突然有一种非常疲惫的感觉.我安慰自己:"还是去上班放松一下吧,哪怕上两个月再回来也好"
还是做视觉设计师吧,画画图就好,轻松,投简历!
当天凌晨4点多,我往外投了4封简历, 接下来的两天面试了3家公司, 有一家公司不知道什么原因最后没通过.第四天重新开始了上班的生活.
不过人总是贪心的, 我要了一份单纯做设计很难得到的薪酬, 等待我的是一个混合的工作内容, 并且要从组建团队做起, 好像上班也是放松不了...

Android的未来

换个新环境的感觉挺好, 渐渐发现国内的公司真的是起来了, 给他们一个Android, 他们能还你一个世界.
iOS只是某些App的一个平台板块, 如果是一个纯应用开发的公司, iOS或许占了60%的重要性, 但如果像这两家公司的公司形态, iOS只是产品线的小糖果.
或许未来,每一个设备都是Android的系统, 手机是Android, 电视是Android, VR是Android, 汽车是Android, 甚至电冰箱和洗衣机也是Android.
人们需要越来越多的设备更加智能, 而苹果公司的产品线是有限的. 并且封闭的系统并不能满足全球制造业的需求, 现在它们最好(唯一)的选择就是Android.
现在已经不是当年那个:"我们要开发一款应用, 先已iOS版本作为标杆, 然后获取用户, 补充Android版本,运营, 指数增长.", 现在互联网+,就是软件,硬件,商业模式,各种合作, 单单一个手机应用有点势单力薄.
只要涉及到智能硬件, 那就涉及到Android.
而且苹果用户和Android的设备比例已经是1比4.5了,差距还在逐步拉大.

ReactNative如何?

Android是未来, iOS是当下, 我们处于未来与当下之间, ReactNative就是打通它们的桥梁.
不了解就不能评估, 先学再说!
这些日子,花费了不少精力学习ReactNative, javascript和node.js的世界实在太庞大,比想象中的复杂很多.
不过了解之后,其实用ReactNative写一个常规的应用真的很简单:
Fetch读取服务器数据,解析数据,Render界面呈现数据,修改State动态修改界面内容,Flex排布UI,Action进行页面交互.
最终,得出一个判断:
ReactNative大有可为,不过必然终将死去.

  1. 它只是一个过程, 在未来的局势还未到来之前,它的确是一个很好的方案.
  2. 它的开发方式很难被客户端和iOS,Android开发人员接受,前段人员会非常喜欢它.
  3. 复杂功能的程序它无法独立完成,需要native做配合.
  4. 可以预计未来iOS和pc端必然会逐渐减少, 跨平台的意义也会逐步被削弱.
  5. 专注纯粹的界面层(Redux只是让我们更有条理的控制界面层), 风险太高, 难保你的工作会被一些工具+设计师直接取代.现在大有这个趋势.
  6. 未来的应用如果还只是读取服务器数据,解析数据,界面呈现数据,排布UI,页面交互.那样的门槛会越来越低,而ReactNative做的就是这类事情, 作为个人技术选择的话价值会越来越低.
  7. 虚拟视图层是一个很好的点子,不过可预计的会有类似的框架出来和ReactNative竞争,选择它就决定了未来的日子会消耗在不停的选择新框架上.

So, 我看好它, 但是长远的看, 我觉得不该太过深入的学它.

结论:安安心心补安卓

由界面层入手, 逐步了解安卓的机制, 慢慢往底层靠拢, 或许这个是一个很好的选择.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容