为什么思考这个问题
昨天有个前同事突然在群里发出了感叹:“哎,我是真的不适合做To C的项目”。
我的第一反应是:我认为这两者并没什么区别,这是从产品的维度去考虑的,关我们前端什么事,我们只需要将对应的功能实现就可以了。
做复盘的时候又觉得当时的这种观点太过于浅薄,根本原因主要还是作为一个基层的前端开发,我们被分配的任务仅仅是一个或者几个页面,很少能够有跳出来看这个问题的机会。
既然有人引出了这个问题,正好趁着这个机会浅谈一下To B(To Business,面向企业的服务)和To C(To Customor,面向消费者的服务)究竟对于我们前端来说有什么影响。
产品上的区别
关于这一点,我问了一个在腾讯做产品的朋友。
她说: “对于产品经理来说,这两种概念主要是商业模式和策划的侧重点不同。C端主要是靠流量完成商业化,所以C端的产品要更加注重用户体验,可能需要产品经理不断探索一些新的点子,去发现新的玩法。B端一般是靠买断或者是Saas收费,所以设计产品的时候需要深入的了解业务,更加注重逻辑。要求产品能够真切的解决用户问题,能够提炼产品的亮点,要会包装”。
除此之外,我也看了一些网上对于To B和To C的差异,几乎都是和我朋友说的大同小异。甚至极端一些的说,B端注重的逻辑甚至是可以牺牲一部分用户体验来实现的,我就曾有过这样的开发经历。
不同模式下的开发体验
在平安,我做的所有项目都是To B或者To G的(To G我想和To B应该差不多)。其中有一次去支援别的组的项目让我至今难以忘怀,一度让我想放弃并跑路。
这个项目让我恶心的除了极其糟糕的代码管理,性能也让人不敢恭维,还有我做的功能中有一个流程的逻辑让我觉得那已经超过了人类所能够理解的范围。具体逻辑我已经记不太清,反正一度让我怀疑我所从事的行业。
除此之外我听到leader最多的一句话就是”先实现功能,样式以后再说“。
尽管我做的都是To B项目,也不乏To C的体验,比如运营会出一些活动页让我们做。不过为了提高效率,都是一些贴图和使用绝对定位的工作。这些东西对于前端来说既繁琐又无趣。
然后就是在我的前公司,曾经有个需求是要做一个具有科技感的H5页面,和用户的交互性比较强,对于当时不太懂这块的我是一个非常巨大的挑战,性能也是十分堪忧的一个问题,在和同事一番研究后,总算是上了一个版(虽然最后也没得到领导的满意)。
综上,我浅显的认为做To C项目时,前端面临更多的是用户体验的问题,比如优化性能,少有的交互方式,这对于HTML和CSS的考验比较多。而To B更注重逻辑的开发,逻辑处理能力显得尤为重要。
结语
我现在作为一个基层前端,每天几乎都做着重复的工作,很少跳出来思考这些问题。正如柏拉图《理想国》所提出的洞穴理论那样,我们大部分人都被绑在一个洞穴之中,看着火光投影出的”影像“。很高兴前同事提出了这样一个问题,让我尝试走出洞穴,看了一眼外面真正的世界。