12月19, 2017

2017技术总结

距离2018也就十几天了,刚好公司前阵子举办过公司的前端框架发展方向和目标规划沟通会,所以是时候也要写一些东西来回顾一下。

最近在做antd的样式重写,本以为没啥意思,其实做着做着也挺有意思的。

有意思的点在于,和视觉、交互的思路碰撞,他们才不管你是用antd还是elementUI实现。他们做的视觉规范及交互规范,更多地是从公司的层面、用户的层面出发,然后参考已有的UI风格,在探讨了N次之后才定稿出来。

记得上次我在周报中提了两个事:

  • antd的样式重写会导致样式重绘及重渲染,如果我们不用antd的样式,自己拿它原有的样式过来,然后修改会不会更好?
  • 因为antd的组件有些满足不了我们的场景,需要二次定制,所以我们有了一个自己的组件库,那是否可以将antd给抛弃掉?

所谓抛弃掉,是指直接在组件库里面引用antd的lib,重新进行一次包装。这样的好处在于:

  • 能够清楚地知道公司内部用了哪些antd的组件
  • 使用者不需要关注内部,将来哪怕组件库改了Button,用了其他的三方UI,他们也不需要调整现有代码

只是不知道这个方案,从想法到落地需要多久,毕竟我不是执行者,只能推动着去做这个事。

2017年,主流三大技术框架:React、Vue、Angular。

这三个我个人更倾向于React,主要是API不需要怎么记,没什么花式玩法,只要搞明白几个生命周期即可。

Vue和Angular,写过一些demo,勉强算入了个门。记得几个月前,Angular的”布道师“大漠在知乎上”喷“vue抄袭Angular。其实熟悉Angular的人去用vue,应该是相当快的,个人觉得vue确实是Angular的”精简“版。

vue的最大优势在于渐进式,在老项目中,如果想用双向绑定来写代码,但如果要改造成ES6的方式,成本太大。但用vue则可以一点点地对老代码改造。当然,现在市面上也有一些其他比vue更小体积的双向绑定,也能做到类似的事情。

拿我司来说,移动端大部分用了vue框架,很大原因也在于轻巧、使用方便。

最近有些迷茫,迷茫的点在于最近做的东西比较偏向用户体验,而这两年似乎大家都在往后端靠。其实我心里面一直清楚前端的优势是在于用户体验,然而似乎现在体验在面试中越来越不值钱,大家都问:你用什么框架啊之类的。几年前占大优势的css,这两年基本上荒废了,流行的grid和flex布局,在我看来,可能也就差不多看看得了。

在我心里也有另外一个想法,就是多横向扩展自己的知识面,不要被人牵着鼻子走。前端只是众多IT领域中的一个特别小的分支,也许哪一天是真的没有了。因此,我也尝试着去学一些python、C之类的语言、数据结构与算法,为后面大数据、AI做一些基础准备吧。

看起来比较矛盾,其实在工作中,也只能妥协与平衡吧。

今年与往前最大的不同是,今年真正用node做了一个web项目,算是一个比较不错的开始吧(虽然我承认是做的比较烂),明年会花一些时间与精力来提升公司的node这一块。

公司有一些项目是用php来做的,我在会上提了自己的想法,把node做为中间层,用node发http请求获取php的数据,然后渲染页面,这样也能保证SEO。

如果这一块做的好,后面可以慢慢搞react的ssr以及vue的ssr。

感觉node这一块真要搞好,要深入的东西有太多太多,比如说分布式、集群、日志监控等等,调研目前市场上的node方案,像eggjs之类的。

前几天在知乎上看到一个阿里的大牛说了一句话:何必去管一个开源的项目是不是KPI,你如果对其感兴趣,就深入去用,反正源码就在那里,出了问题,自己改呗,除非你愿意做一条咸鱼(大概是这个意思)。

确实如此,不过压力甚大,怕hold不住。只能尽自己全力去hold了,感觉今年与前几年的自己,最大的区别在于,出了问题,搜索能力增加了一些,排查定位问题的能力也增加了一些,会尝试着去翻别人的源码。

2018,对自己的技术期望是:继续拥抱新技术,努力学习,争取不落人后。

本文链接:www.my-fe.pub/post/2017-technical-summary.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。