你是否头疼于,天天作不完的需求和改不完的bug?html
你是否发愁,天天撸业务代码,是否能得到技术成长?前端
而追求成就感的你是否想过,你所编写的一行行代码,是在反复的变化中迅速成为遗留代码,仍是助公司插上腾飞的翅膀,在你死我活的战场上脱颖而出?vue
所以本文会将业务和前端关联起来讨论,探讨业务发展的不一样时期,前端所能作的一些事情,既能解业务的困扰,也让前端同窗们摆脱码工、切图仔的定位。react
千言万语不如一张图,全文完。 算法
大误,仍是得详细说说。小程序
在业务的初始阶段,在市场定位、用户诉求、产品逻辑已经明确的前提下,此时业务的核心诉求是 『尽快上线』,进行快速验证和产品迭代,固然,质量还得能过得去。 因此此时技术同窗的方案侧重点是:后端
先说『快』,在这种状况下,什么vue/react都见鬼去,老夫只用jQuery一把梭! 这是反面案例,这样就只能重构火葬场了,项目上线完就打包行李滚蛋……浏览器
此时的快,指的是 尽量复用集团/业内成熟的方案、架构,按捺住本身从新造轮子的躁动不安的心情。 这又涉及到一个问题:如何选择一个靠谱的方案?这是一个能够另开文章的话题,但先在此简单说说 根据我我的的经验,主要从稳定性、可扩展性、性能去考虑。安全
稳定性 如何去评估?若是一个项目能作到这几项,我是比较放心的。性能优化
可扩展性 如何评估?主要是指可否根据业务or已有技术方案,自定义部份内容。
性能问题,短时间容易被人忽视,由于能跑就行,但一旦埋下隐患,往后有坑就极难解决。容易出现性能问题的地方有:代码构建、长列表/表格滚动、大数据图表、复杂动画、3D全景渲染等,若是所作的业务涉及到这几个方面,选择方案的时候就要特别注意性能。
若是实在图省事儿,create-react-app、umi开箱即用来一套就完事儿了。
『爽』 这个字个人理解是,一款新产品出现,必定须要在用户体验or交互上有绝对领先对手的地方。
一个我始终记忆犹新的例子,就是乔布斯发布第一款iPhone时,演示滑动列表时全场的惊呼,一个乔布斯的哥们说:当你滑动页面的时候我就湿了。
因此我以为,一款新产品,除了提供刚需价值,最好在美观和易用上领先对手一大步,虽然主要仍是看设计师和产品的功底,但前端同窗的实现上至少不能拖后腿,不能加载太慢、滚动太卡。
蓝海市场、刚需产品也许不那么看重这一点,但有的蓝海门槛较低,很快就会转变为红海。
还值得一提的是,帐户体系的建设,包括打通三方登陆、免登等(客户端登陆态透传到h5),网上很多资料,我实在没这方面经验,就不在此多嘴了。
OK,假设产品如期上线,数据蹭蹭上涨,看起来一切都很完美。 而后问题就来了,业务开始扩张,公司新招了100个运营和10个PD,你会发现需求忽然就翻了10倍。这个时候咱们怎么办?
答案只有一个:提(jia)效(ren)。因此这个时期的核心是:
提效最简单的办法是加人,但问题是,100个运营好找,100个能写出靠谱代码的前端很差找,有的时候改别人的代码,比重写一遍更麻烦。看过《人月神话》的同窗都知道,加人带来的效率提高是有瓶颈的,人平均效率会随着人数增长而降低。
此时就须要考虑经过技术手段提效,沉淀基础研发体系,包括:
除了技术手段,人员的技术成长也很重要,毕竟技术方案是由人来执行的,我的以为经常使用的方式有:
固然,还有一个提效的神技,就是——砍需求。
砍需求也是一门技术活儿,有的高级工程师用嘴就将需求解了。但不是每一个团队都采用放权式管理(此处感谢个人历任老板们),给你足够的权力本身砍需求和排期; 有的公司采用的是集权式管理,只有前端leader可以砍需求和进行任务分配,也使得很多同窗这方面能力没成长起来。
那么需求到底怎么砍?听我简单说一下,欢迎更好的套路。
通常一个重要的、合理的需求都能比较好回答上面这些的问题。其中第三点,数听说话,也对公司的数据化能力提出了要求。
另外一个不能忽视的是,如何变得更『稳』,由于你们都很急,一急就容易出线上故障,而后时间都花在处理故障上了,而后时间就更急,一个快速腐化的死循环,而后你能怎么办呢?只能以猝死明志啊……常见的有如下几种方法:
以上这些问题解决了,前端同窗也就算是又快又稳地帮业务度过了快速发展期,迎来业务的精耕细做期。
俗话说得好:攻城容易守成难,但如今攻城也不那么容易了。如今新兴的独角兽,背后都有AT的影子,例如ofo和摩拜,双方都极难一会儿摁死对方。而是互拼内力,最后极可能落得两败俱伤。这个时候咱们就须要稳中求快。
前两个阶段的C端场景看起来和前端关系更加紧密,那么这个阶段和前端有什么关系呢?我以为能作的事情有:
中后台系统的构建。 将运营们的工做线上化,同时减小部分手工操做,达到效率的提高。 虽说运营们一般excel用得虎虎生风,但有容易出错、贪腐较多的问题,想一想ofo被曝贪腐严重的新闻。 在很多缺前端的公司,这部分一般也由后端用jQuery一把梭。但后端撸出来系统,一般都欠缺交互意识(无导航、报错信息等设计)、撸不出稍微复杂的布局(见过被float和flex难住的)、缺乏动效、SPA 等,作出来的系统真的差很多,都9012年了,仍是让专人来干这活吧。记得加上水印,包括明水印和暗水印,便于公司时候追责,间接防止公司机密外泄。
大数据可视化。 不只仅是消费者端页面的访问数据,还有更深层次的公司运营数据。例如ofo能够实时跟踪自行车的损坏率、监控车辆密集程度等,从而指挥调度车的调度,达到车辆投放和使用率的最佳匹配。虽然这事儿吧,核心仍是数据同窗产出数据的准确性,但前端同窗的配合是不可或缺的。 常见的能够用来作这事儿的有Echarts、HighCharts、G2等等,虽然咱们基本不可能再重复自研一套,但取其精华,快速赋能业务,就是业务前端的价值所在。
平台化。 此处其实指的是大中台、小前台的概念。由于咱们每每已经积累了一批中后台系统,但如何使同一个系统更快支撑新的业务、砍掉/合并重复功能的中后台系统,也是辅助业务的一种手段。
ABTest。 根据以前的经验,电商不一样行业的不一样人群,对于交互设计的偏好真的就不同,有的喜欢大图,有的喜欢小图。所以经过ABTest方案,对人群进行千人千面的细分展示,对业务也是能够稍微有必定的提高。
容器技术(hybrid & 内核)& 极致性能。 其实也就这么提一下,由于对于大多数公司,真没有深刻追求浏览器内核提高的价值和可能性。 hybrid方案是有必要的,但应该在急剧扩张时期就作得差很少了。 极致性能也属于比较炫技的东西了(已经作到1~2s页面可交互的前提下),短时间内没有特别大的必要,但在追求极致性能的过程当中,迫使相关同窗深刻了解容器技术、服务端、网关、cdn等底层,并推进相关方升级,通过长时间的积累,带来人力储备和技术储备的提高。
基本上作完上面那些东西,公司的业务进入一个稳定的时期,就是处处看看有什么新的东西能够作了。(固然仍是可能有各类各样蛋碎的改版) 核心
实在不知道前端还有什么新的东西好关注的了,硬掰不出来,就这样吧,欢迎指点。
读完本文,相信你已经找到了前面三个问题的答案,可以再也不被一堆需求推着走,也可以再也不只撸业务代码,孕育出属于大家团队的技术方案而得到技术上的提高,最重要的是找到本身的一身本领在这个商业世界中的价值,不忘极客梦,技术改变世界,rock the world。
免责免撕声明:本文是我的的一些总结和思考,笔者的业务经验有大流量产品、大型营销活动、各种中后台项目,基础技术产品也搞过,但终究经验有限,不免有错漏,欢迎指正和补充。