中国领先的IT技术网站
|
|

挨踢部落故事汇(24):扎根技术圈归属感爆棚

步入IT部落使小星星养成了分享的热情,写的很好的demo,都会整理打包出来,有需要的盆友可以直接拿去用。在整理的过程中找到不和谐的因素,这些不仅是使用者需要的,也是开发者做类似封装的一个方向指导,这无形当中对开发思维、编码技能都是很好的提升。

作者:51CTO开发者交流群来源:51CTO|2017-07-26 15:11


【51CTO.com原创稿件】本期主人公小星星坐标广州,一个非常有活力的城市。他几年前的一次弥留,居然从Flash动画开始了他的代码人生,误入了IT部落。后来的几年,他做过VB桌面程序,做过复杂的C/C++算法,也写过浩大的Java门户,还玩过混合编程即AppCan,现在操着一手世界上最强大的语言PHP(^_ ^),哈哈,就是酱紫。回顾下这些时间的经历,他最深入的算是Java语言Android相关的东西,可谓他的编程巅峰;小星星涉足时间最长的则是PHP,毕竟现在系统是用它构建的;而最有意思最刻骨铭心的,是使用AppCan的那段时光!

广州-小星星-PHP

小星星·PHP开发

编程意识萌芽

小星星第一份工作离职后,他跟团队接外包项目做了一段时间,其中很大一部分是微信端的应用,因为是生手,对HTML5和CSS3相关的东西特别纠结,可以说几个项目下来人都减了一圈(嗯,本来已经是大瘦子了),感觉特别烧脑。不过他熟悉了移动App开发需要考虑各种适配、各种兼容,异步请求是改善交互的很好的方法,交互中数据安全该做哪些操作等等,收获还是挺大的。之后小星星在面试一个开发工作的时候,被问到一个有关移动端开发的趋势问题,他认为“基于H5进行跨平台App构建会是一个趋势”,那时候还没了解到有关Hybrid App的任何信息(嗯,信息滞后或者说认知缺失非常可怕,不过项目各种折腾下来还是有这种觉悟),他还是对自己的“预见”感到赞赏!

App定制组件开发思路

当外包项目做得水深火热的时候,负责人突然丢过来一个系统,这是一个非常“庞大”的系统,至少在那时他的团队看来,它,非常地复杂(到了修改个菜单栏选项直接花了三天时间的地步,是的,非常恐怖)!然后,非常地荣幸,接手这项目的重任放到了小星星肩上,结果是大年三十和大年初一他都接到了催进度的电话,2015年的春节他过得很特别,至此小星星跟那个系统结上了仇,复杂不说,关键本身还超多不能理解和接受的各种Bug。没想到泪奔的东西还在后面,那个“可爱”的系统,他接手之后直接做到了现在,没错,是现在!

系统纠结归纠结,但它毕竟能给小星星的团队带来营收,它也需要一个移动端。愁于开发资源非常稀缺不能走常规道路,于是他对混合开发的平台和工具各种物色,最终他的团队选择了AppCan。

由于有H5的经验,他担起了基于AppCan的App构建工作。准备工作是官网文档各种翻、IDE各种尝试、官方交流群各种加,反正就这么开干了,那时候是7月份,广州正热,小星星也做得热火朝天。由于前面花了时间研究了官方文档,他在构建App的时候并没遇到太大的困难,基本都能自己消化。难点在于自己App需要一些定制性特别强的组件,比如滑块,比如进度条,比如图片裁剪,比如折线图,这些都是统一的前景和背景,统一的字体和线条风格,用现成的是不可能的只有自己造轮。从简单的入手,第一刀是个进度条,如下:

进度条

这个当时做的思考是分解,将它拆成文本提示、前景、背景以及右边的状态这几个部分,每个部分都用div实现,并且他还想实现复用,需要的时候new一个实例,设置些参数就能出来这么个东西。说干就干,思路简单,实际也很简单,确实是:

1)这是组件目标位置:

组件

2)引入自定义css和JS:

组件2

组件3

3)实例化:

实例化

用法就是酱紫,嗯,还算优雅,这里做了样式的扩展入口,最大最小值的定义,前景背景的定义。

具体实现思路是:背景固定宽度和高度,前景与背景同高,靠左跟背景重合对齐,前景设置高亮颜色,宽度由进度指定,根据进度占比确定前景在背景中的宽度占比,这就实现了进度展示,另外展示文本需要设置大一点的z-index属性,在背景上方上下左右居中,最右侧的状态原理相同,不过是上下居中靠右放置,附上实现代码,点此下载extra目录(嗯,以文件的方式,代码太多不贴这里了,另外还有其他几个组件,都是基于AppCan3.2版本构建的,至于现在的新版本是否适用,小星星就没验证了)。

技术圈子找到归属感

这是小星星在H5方面的第一个组件封装,成就感满满,好像当时某混合开发群里有人问到进度条组件类似的问题,于是他很乐意地将自己的“研究”分享了出去,能够帮助他人,这也是自己的价值体现。分享,也是很开心的事,接下来的时间里将他封装的几个组件都跟大家进行了分享。逐渐地,他在群里成了活跃分子,某天心血来潮,受大家影响(大家都是很萌很可爱的人),他将自己的备注改成了“广州-小星星”,就是技术交流群里很多人认识的小星星。

在群里打拼的日子里,他认识了很多码友,实话说这是很开心的一个团队。在某月的某一天,技术群里的官方代表邀请他加入管理团队,理由是他比较活跃,问了具体事项之后他顺利入围,至此,小星星就在技术交流群扎下了根,更多的是因为这个团队,与此同时收到了一份特别的礼物。

技术交流群从活力的角度来考虑,这个团队确实可以托付,且不说它背后代表的技术方向,大家从不同地域不同公司不同行业汇聚于此,一起讨论一起解决问题一起提出改进建议,这本就代表着顽强的生命力,它活着,可以说代表的技术就活着。IT行业,保有一个有活力的团队,这就有坚持做大做强的理由和动力!

小星星回顾走过的坑,可以用分解、总结,记录、分享这四点来归纳。

1、分解。开发过程中遇到的问题有难有易,在遇到一个棘手的问题时需要做的是将其分解,比如一个复杂的UI组件可以分解成多个简单的div块,一个复杂的功能可以分解成多个简单的功能,即复杂化简,做到了这点就是自己能力的提升。

2、总结。而在解决问题的过程当中,适时回过头来做些总结,不仅能巩固自己解决问题的思路,还能找到处理问题时不妥或者不够好的方式,从而归纳总结出更好的处理或者改进方式,这也是一个能力提升的过程。

3、记录。记录还有一个好处,详细的有条理的记录,还是他人处理相同或者类似的问题时一个很好的参考依据,这是分享,从这一角度,如何能够更好地将自己的东西分享出去而尽可能地减少他人的疑问,这又是一个功能规划和信息整理的一个提升。

4、分享最重要的,也许你的生活里需要一个“小星星”,成长的过程当中总有不如意,有个精神支柱,或者说有个价值标尺,逆境时不至于让自己一蹶不振,顺境时不至于得意忘形,这道理大家都懂!

生活会齐酸甜苦楚才有意义,曾经有几个月,小星星过得有点困难,与此同时,他所在的团队也过得有点困难,正因为有技术群里这些人的存在,他才有精神的支撑走了过来,小星星团队的领导也因为他和同事们的坚持吃定定心丸,带领团队走过了困难期。感谢有你们!

小星星是个爱分享的小星星,自己写的很好的或者感觉不错的demo,都会整理打包出来,有需要的盆友可以直接拿去用,这是其一;另一个,在整理的过程中他还能够找到那些不太和谐的因素,比如引入的资源文件是否足够简洁,实例化过程是否足够方便,参数是否足够明确,说明文档是否足够直白简单。这些都是使用者需要的,也是对他自己做类似封装的一个方向指导,这无形当中对他的思维、编码技能都是很好的提升。完成一个项目回过头来总结和记录,是对自身和他人成长都很有价值的事情。

如果你也愿意分享你的故事,请加51CTO开发者QQ交流群 542270018联系群主小官,期待你精彩的故事!

51CTO开发者交流群③群 542270018

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

【编辑推荐】

  1. 挨踢部落故事汇(20):Android程序员的十大转型之路
  2. 挨踢部落故事汇(21):半路接手项目有多难?教你做个接盘侠高手!
  3. 挨踢部落故事汇(22):从逃离北上广到逃回北上广
  4. 挨踢部落故事汇(23):一路前行,兴趣所至
  5. 挨踢部落故事汇第三期有奖征集开始啦~
【责任编辑:何星 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

嬴在用户:Web人物角色创建和应用实践指南

您如何保证您的网站确实给予用户他们所需要的,并对您产生商业成果?您需要了解谁是您的用户,您的用户的目标、行为和观点是什么,还要把他...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊