三月中旬才有时间写一个自己的总结,确实很忙,也难得闲下来。一直也没有更新博客,还是太懒惰...
上半年在老东家完成项目7.0并上线。深入研究weex和vue相关技术,vue-router、vuex等等,一个一个解决了很多难题。功能还是实现了,但是过了大半年回过头来看这个产品,真的很垃圾。缓存做不到位,滚动事件很多问题,用户体验很扯淡,消息处理不及时...
下半年入职新公司,使用react-native做项目。研究学习react-native是一件很困难的事。此前一直使用angular和vue,在双向数据绑定和html/js/css分开实现的体系中,代码写的十分欢快。使用react并阅读部分源码后对代码的实现和架构者的思维逻辑都有了大体的认识,对代码的编程思想也有了转变。存在即合理,每种设计模式和实现方式都有各自的优点和缺点。将html写在js逻辑里,最开始很不习惯,但越写越觉得很方便,很多能直接在html上操作的事,免去了很多复杂的操作页面DOM的js逻辑,而且虚拟DOM对性能的提升也是非常大的。
两年前最开始接触react-native时,非常的束手无策。文档很不齐,经常莫名其妙的bug使得项目难以进行,而且那时候react还被风头正劲angular1压着。而现在react的生态圈已经发展的非常完善,各种各样的组件、插件层出不穷,我也更乐意去尝试用jsx的语法去开发。
开发CIP项目,第一次正儿八经使用这个框架,不懂的很多。没有一点原生基础,报错了就一点点的去分析,找原因,到现在看到报错马上能定位问题,已经感到非常的轻松了。从搭环境,尝试各种rn版本,到编译器Xcode的坑、as的不友好,模拟器的连接调试问题,到最后的打包等一系列的问题,基本能踩的坑都被我踩了,从大坑到小细节,对手机这块(包括原生)都有了一些了解:哪些第三方插件好用,适合项目;哪些源码在新版本有问题,需要怎么改才能跑起来;打包报错定位插件问题,如何修复通过打包这关……
CIP算是练手的项目,第二个项目就是做土豆钱包的app。吸取了CIP的很多经验,土豆钱包从框架规划到代码整理分层方面都很不错,条理逻辑整理很清晰。最初决定使用react-native实现三端运行,可行度很低,但框架还是已经搭好。重写页面再分离逻辑来复用,基本可以实现,但代码文件很不好看。
产品初期没有规划好需求和功能,中途需求经常变更,前后端分工不明确,太多走一步算一步的功能,虽然最后此项目放弃了,但我对rn的理解和代码的标准却有了更高的层次,对于区块链的理解和插件的使用也更得心应手。区块链第三方js依赖的node环境在rn中很难实现,通过一个个报错逐步去解决问题。使用第三方的rn-nodeify后仍有各式各样的问题,查看源码尝试寻求解决方案,在安卓平台下解决了很多很多不兼容的问题,这对以后的rn项目都会有很大的帮助。
年末的几天,开始使用原生语言来写app。一开始我很抗拒,swift和安卓原生?我只是一个前端啊!后来着手进行代码编写了才明白,很多思路和架构都是一点点学习累积出来的。我很喜欢swift这门语言,最近也一直在学,深入理解,每天都会懂一点新知识,很充实。kotlin来写安卓,我实在是有心无力,对java的编程思想和许多语法、api都不太熟,也不很喜欢,觉得复杂,还是比较喜欢iOS开发。
这一年,移动端都被我玩了遍,处理问题来也更加得心应手。新公司越待越觉得没意思,心态也很重要啊。继续加油吧??
原文:https://www.cnblogs.com/rion1234567/p/10528348.html