码迷,mamicode.com
首页 > 其他好文 > 详细

2018年总结之技能成长

时间:2019-01-13 22:47:11      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:根据   测试   roman   ack   技术分享   控制   inf   bootstra   使用   

 

盒端开发是天坑

盒端工程化开发的崛起

个人成长技能整理

 

盒端开发是天坑 

没接触盒端开发前,pc和移动端开发要兼容低版本IE和不同终端我觉得很坑,但是在现在的我看来已经很友好了,他们的浏览器是标准的,遇问题可网页调试,兼容有各种框架插件助攻。

盒端就悲剧了:

  1. 盒端很多浏览器是不标准的,在浏览器开发顺顺利利的,在盒子上一跑代码各种出问题,不会给你报错提示,不能打断点调试。
  2. 各种框架也不能用,只能跑原生代码,更过分的是某些原生语法还不支持!
  3. 盒端遇到问题只能从现象入手,原理出发,分析可能是什么导致的问题。

    比如有个奇葩的盒子,渲染和盒模型都不按常理出牌,默认样式{backgroud:red}。然后给它加个.white{backgroundwhitefont-size:27px;}class,当移除.white,它字体还是27px,解决办法是在默认样式里去显式声明font-size这个属性,得到这个结论就是从渲染原理出发的,它的盒模型经过测试,会因为加padding或者margin变成另外一种盒模型。

 

反正盒端开发只有你想不到没有它不会挖的坑,分分钟让你的代码狗带。。。。

技术分享图片

 

盒端工程化开发的崛起

  正因为盒端开发条件的艰苦,我们得掌握主动权,于是在2018年主管带领我们搞了一系列部门技术建设工作:

     1、根据公司业务,借鉴流行前端框架思想,写了项目模板库和工具库,在项目上实现了可移植性和可扩展性。

这些库是部门核心人物参与设计开发,我这种小啰嗦就读读源码,学习整体设计,不理解某些技能点就去问问他们,不想只做代码的搬运工。事实证明,主动点学习是有好处的,因为在给同事讲解怎么用时候,好多同事都一脸懵逼,后期还边用边问。

从读源码学到开发思想应用到自己的页面代码小模块,比如从整理好的分析需求里抽出自己负责的业务模块,整理出公共模块,这样既能和大家合作好开发又互不影响,业务的耦合降低了,增强了它们的可移植性。

  2、针对各款盒子,抽离出业务,编写了专门的中间件,中间件对业务层提供统一的api,针对不同盒子,只需要更改中间件api的实现,业务层不受影响,大大提高了工作效率。

     3、针对盒子写了测试工具(测试盒子对html,js,css的支持情况),我负责的是css测试工具的编写,现在听说也只有我的能用还一直在用,这个技术狂带着我写的,我们不断的优化,从使用者的角度出发,还找设计师当使用者给我们提意见(他们不懂技术,只管看现象知道盒子哪些效果不兼容来设计)。

     4、盒端日志工具,这真的是个黑科技,基本是技术狂一个人开发的,可以在盒子上打日志调试,往盒子发命令控制网页,拍快照,实时双向通信,大数据上报查看等等,给开发效率大大提升,甚至可以不用现场出差,也方便了测试人员。而且他是一个很能站在别人角度思考问题的人,开发的工具使用者体验都比较好,现在很幸运,我是他同桌,虽然没了分享会,但是工作之余跟他聊聊技术,聊聊产品,聊聊人生,学到了很多。

技术分享图片

 

个人成长技能整理:

因为独立负责项目,遇到问题大部分时候是自己查资料解决,少不了各方面技术的学习,而且除了web端,还和apk的同事合作在他们提供的webview上开发,就又涉及到学习一些其他的技能。所以整个2018年可以说忙碌又充实的,虽然没有在园子里写笔记,但是私下记录了不少。

  1、工具:git命令(放自己轮子使用),gulp打包(部门项目打包模板),adbapk开发时用到),webstormftp部署和调试代码同步),xshell使用(远程部署代码),Postman(以前用文档整理接口,现在用这个归类接口,并进行接口条件测试),ps(参加设计部的ps使用培训)

 

  2、语言:

  (1)项目开发前期技术储备,学习了phpjsp,但是最后使用php做数据请求和处理,不管接口怎么变,保证了业务层使用的数据统一,自己在本地服务器写的jsp页面就这样尘封在那里了。

  (2)公司今年了些计算机语言培训课程,报自己感兴趣的语言去学习,我报了java,最后还给大家颁发了毕业证书,phpjava学下来,对面向对象的编程又更进一步理解了。

 

       3、网络知识充电:

由于本身非计算机专业出身,我本身欠缺这块知识,所以看了些httphttpstcpdns,编码等方面的知识

 

4、非业务技能尝鲜:

vuebootstrap等框架学习(顺带学了node之类的,日志工具也用到了这块的知识)

页面模型(PWA,SPA,MPA,后来项目模型里面借鉴了SPA页面模型,用原生语言开发了符合业务的单页面应用)了解

移动端的通信更新和离线也比较感兴趣,主要了解存储设计这一块。

以上主要是去看些学习视频和别人造的轮子,自己写着玩了些东西,虽然盒端开发用不上这些东西,但是它们的思想是值得借鉴的。

 

5、代码调试技术:

之前自己组织了一场关于chrome调试工具的分享会分享了各个面板的使用和如何进行性能分析,但是打断点是门技术活,找到关键所在打断点进行跟踪和回溯。

从调试还意外收获了一项技能:

这个是去出差现场开发广告的时候遇到了跨不去的槛,主管不远千里来现场解救我,周末陪着我开发了两天,应用广告系统底层框架不是主管写的,但是他调试给我感觉就像他写的,哪哪都清楚,我观察学习主管的调试方法后意外掌握了怎么读代码的方法,以前我看回调全靠在chrome打断点跟,现在读代码毫无压力,这样也让我读开源框架的源码没那么费劲了。

 

6、性能优化:

由于盒端性能太差,所以性能优化的知识是必备的,比如浏览器缓存,图片,网络请求,存储优化,渲染,cdn,跨域解决等方面,这方面真的还任重而道远。    

   

2019年期望

   之前的自己懵懵懂懂,经验也不足,对什么都没有好的规划。新的一年,重头来,给自己的园子好好规划一下,重新整理和注入新的知识,也当巩固和学习基础知识,还要多造轮子,写自己想写的代码。

ps:不写博客只早读的程序猿不是个好的社会主义接班人。

技术分享图片

2018年总结之开篇吐槽

2018年总结之角色蜕变

2018年总结之技能成长

标签:根据   测试   roman   ack   技术分享   控制   inf   bootstra   使用   

原文地址:https://www.cnblogs.com/yaoyao-sun/p/10256931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!