“我有什么” 和 “你要什么” 框架制作的一些思考

      在传统的营销学里面,有两种模式,一个是 “我有什么” 一个是 “你要什么”。

      由于博客园是面向广大程序员的,那就谈谈在框架制作的时候,怎么将这两个观念用好。

      说起框架制作,大家第一反应就是IT大鳄们的作品,MVC的框架,有MS的ASPNET MVC,ORM的话,有Hibernate。我想做一个框架,可能被人说成是重复发明轮子,或者被人质疑,你的作品的品质可以和大鳄们的作品相比吗?我为什么要使用你的东西,而不是大鳄们的东西呢?

     羊群效应是可怕的,iPhone的崛起,在iPhone的良好品质之外,也使用了人们的羊群效应。我看到别人在使用iPhone,我想和大家一样,我才觉得安心。同样,一个框架,大家都在使用,所以,我也想使用,这样我安心了,有了问题的话,我可以去问别人怎么解决,被广大群众使用的框架,就是好的框架。占有率有的时候就是品质的一个衡量方法。

    回到“我有什么”的话题上来,框架的作者大都喜欢说,我的框架有什么功能,而忽视了,大家真正想要什么。ORM的框架,都在宣传,我有什么,我可以自动做什么。即使你的东西,大部分的功能和Hibernate差不多,不过,99%的同志都还是会选择Hibernate,而不会使用你的东西,Hibernate是几百万人测试过的,品质有保证,你的东西,即使功能和Hibernate一样,由于羊群效应,没有人愿意吃螃蟹,可能学习一下,真正使用到项目中去,可能没有胆量。

    如果你真的想做一个ORM框架,我觉得一味思考我要有什么,还不如去问问大家想要什么。要做一个大鳄已经在做的东西,唯一的方法就是,我来补充大鳄没有的东西,而不是模仿大鳄已经有的东西。例如,Hibernate已经支持了数据库A,B,C。你应该先去问问大家,是不是需要数据库D的支持。如果需要的话,我先为Hibernate开发一个D的插件。大家可以用数据库D了,你在ORM上面也开始有名气了。接下来,一边考虑其他补充功能的同时,一边开发自己的ORM。等到那天,你的补充功能变成大家都喜欢的东西了,大家对你提供的“我想要的”功能满意了,也对你的品质满意了。这个时候,水到渠成了,可以推广你的ORM了。

    园子里的朋友,很多也在做框架,秋色园,wojilu,自然框架,深蓝色右手的SL游戏框架,我的感觉是,或多或少,比较注重“我有什么”,我有一个博客系统,一个CMS系统,这个当然很好,我很支持这些有理想的朋友开发自己的框架,我发自内心的支持他们。但是,我建议,与其一个人开发,不如在开发的途中,多停下来听听社区里面的声音,大家想要什么。可能大家手里已经有很多轮子了,你又给大家一个轮子。大家可能要一个发动机,可是没有人提供发动机。或者,与其为大家制作一个轮子,不如给大家一个改进改良过的轮子的螺丝。

     例如,我在上一篇博客里面有一个 输入框提示 功能的帖子,在输入框没有焦点的时候,提示一些文字,在输入框得到焦点的时候,文字消失。这样的功能,可能很多框架里面都有。不过用户可能更想要的是“提示图片”的功能。如果你可以知道“你要什么(提示图片)”,这样可能比别人宣传“我有什么(提示文字)”更可以获得大家认可。

    当然,框架的推广,宣传是必要的。不过,我比较看重反馈,我想知道大家 “想要什么”。现存的东西有什么不足的地方,有什么改进的余地。从头做一个东西,然后说 “我有什么” 不难,在一个现存的东西上面 加上 "你要什么" 这个才是王道。

    继续说框架。框架基本上有两种方向,一个是底层的强大,有缓存,有路由,有各种功能;一种是应用强大,有论坛,有商城,有微薄。人的精力是有限的,框架的卖点要搞清楚。你是准备告诉大家,我有一个强大的底层,还是想告诉大家,我可以快速让你完成一个你要的论坛或者是商城。我这里并不是说,前者好或者是后者好,两者兼备最好了。我只是想说,如果一味追求框架的底层,这个框架还是不能成功的。现在是速食的时代,大多想用现成框架的,都想搞快速开发,底层的东西,具体实现放在了其次。最好拿来框架后,稍微改改就可以使用了。自己开发的框架,能不能让大家在最小的学习成本下就可以使用,这个也是衡量框架的好坏的东西。框架的使用者,很多人不是技术高手,很多是营销高手。对于他们来说,我不需要知道缓存的细节,不需要太了解配置的方法,我想快速要一个我的网站,开始我的生意。你和他一味的说底层怎么怎么牛,如果好好设置的话,怎么怎么高效。还不如和他说,哥们,你要的,我可以立刻给你,很少的配置就给你一个商城,一个论坛,最好一键安装。

    说了这么多了。可能我的很多观点您不同意。这样才有趣。人和人之间的不同意见才让世界变得美好。如果你想反对这篇文章,直接反对就好了。反对总比沉默好。祝愿所有框架开发者成功圆梦。

原文地址:https://www.cnblogs.com/TextEditor/p/2091424.html