3.3 关于Drupal的为什么和怎么做(上)

大家好:我是《云客drupal8源码分析》系列分享的作者云客,在去年(2016年)9月11日drupal深圳社区聚会时做过一篇drupal入门的分享,转眼快一年,对drupal8有更多的了解和许多的心得感受,技术方面的分享已经写入了源码分析系列主题文章中,这个系列根据系统的执行流程,按要点主题依次介绍,目前已经发布了四十多个主题的分享内容,大家可以到我的博客或者爱码文档汇去查看,今天主要分享一些非技术的内容,主题是关于《drupal的为什么和怎么做》

第一个为什么:

先说说这个“为什么”,首先是为什么要选择drupal,一个优秀的系统自然会有许多使用者讲选择他的理由,这些网上有许多,我讲讲自己亲身经历后所思所想的理由:

  1. 作为开发者节省精力,避免重复去造轮子,许多需求没必要从底层去开发,就像建筑工人不需要亲自制造各种砖块,用即可,所以选择一种成熟的基础系统是必要的
  2. 有许多现成的模块,针对各种需求的解决方案在与日俱增,避免自己开发,节省成本
  3. Drupal是由社区驱动的,参与进来,将学会大型项目的协同合作,领略协同的学问
  4. 和自研系统相比容易找到现成的开发者,大家有共同的开发基础,降低新成员的加入成本,提高项目速度,对于公司来讲尤为重要,有充足的后备人员可以降低依赖具体某开发者的风险
  5. 带给开发者最新最前沿的技术,drupal面向RFC文档开发,这是人类互联网项目的顶层规划设计,相比之下国内很多cms很少提到RFC,使用上也有许多不规范之处;此外在程序注释和文档中可以看到很多新兴项目,有些在国内用中文搜索几乎找不到,少有人知,而他们可能是未来的主流,比如Kwalify 项目、composer项目、容器技术…等等它们都在大踏步走来
  6. Drupal是为中大型系统而生的,天生考虑到了服务器负载均衡问题,可以轻易实现应用服务器群集、数据库主从设计、文件服务器群集、缓存前端群集 ,当然做小型网站更是不在话下
  7. 模块化设计实现超强的灵活性,系统依托钩子机制、插件机制、事件派发机制、服务定义机制将各模块连接在一起,用户不必改动发行核心就能在模块中实现几乎所有功能,也能轻易替换核心提供的几乎所有组件,实现了自己的需求又不影响系统的升级,就目前而言这种尺度的灵活性是非常罕见的
  8. Drupal走到今天已经很有名气,许多知名组织机构使用它,著名的有美国白宫、联合国、哈佛大学等等,世界五百强企业超过一半使用它,这将是你联系业务很好的名片,同时也彰显公司的实力,它足够强大,网罗各种需求
  9. 这个世界正在高速融合,掌握了drupal可以让你在世界范围内找到工作,实现业务,前景更广阔
  10. 最后一点也是我想说的最重要最充分的一点,这是其他系统难以做到的,让我用更多的篇幅来说明,简言之:drupal开源免费且已成气候。

drupal开源免费且已成气候:

在计算机发展历史上,有个现象:做到行业第一的项目或公司是一家独大,做到第二的能活下去,后面的艰难度日鲜有人知,而这似乎和技术无关,集成电路出现后,有许多的芯片架构,英特尔公司竞争到最后在PC上一家独大,AMD次之,操作系统出现伊始有数千种之多,现在个人电脑微软一家独大,服务器是linux的天下,这样的列子比比皆是,比如电商、即时通讯、搜索、杀毒软件等等,难道是被淘汰者技术不够先进吗?未必,微软实力强大,但在手机操作系统中,完败给安卓、英特尔在手机处理器市场占有率相去甚远,归因这是生态的力量!这种力量非常强大,甚至可以让不合理的压过合理的,比如我们现在使用的键盘,qwer字母布局其实并不合理,追溯历史仅仅是因为1860年制造打字机时为了避免制造工艺带来的问题才如此安排,后来人们根据字母使用频率制造出了更合理的DVORAK键盘,但始终成不了气候,只是因为qwer布局键盘已被广为使用,这让合理的先进的情何以堪呢?而目前drupal正处于这样一个优势地位,她是世界性的社区,开发者来自各个国家,多语种,每年都举行数千人聚集的大会,社区氛围良好,最新采用OOP的drupal8到目前为止的代码量已经非常海量,反复迭代后质量已很优异,想新建一个系统与之匹敌是非常非常困难的,况且她还在根据反馈以极高的频率迭代发展,许多知名工具直接集成drupal,比如phpstorm,许多书籍教程大量出版,许多公司或机构以她做生计,众多力量在宣传布道,她的影子随处可见,这是生态的力量,drupal正在走向行业的第一。

现在系统考虑的越来越多,越来越庞大,分工越来越细,比如html5前端就是个典型的列子,每一项都可以很深入,技术门槛越来越高,以前经常听到全栈工程师这个说法,现在谁能做到全栈呢?我们必须嵌入到一个分工体系之中,完成自己那一部分,协作才能出成绩,软件系统在变的庞大和复杂,这不是一个人能完成的,基于这点drupal正是所需的,她的每一个组件都来自优秀的人,围绕着她可以做许多许多的事情,前景广阔,试想一下当年数千种操作系统的时代,开发者没有选择Windows或Linux,将是什么处境,至少需要许多的时间去再学习,而人生时光有限,再者目前高速发展的社会能给自己这样的机会吗?

笔者注意到每当有关操作系统的新闻发布时,在评论里总会有人满怀民族情怀呼吁我国应该要开发自己的操作系统,我想中国人完全是有这样的能力的,但真的可以吗?应用软件才是人们要的墙上那个孔,操作系统只是钻孔机,众多的软件兼容怎么处理?用户习惯怎么处理?这似乎要重新走好远的路,理智的做法应该是拥抱开源,参与进来,成为开源的核心力量,少一些国别之鉴,毕竟我们先是生物,再是人,然后才是某一国的人,开源是未来,缔造者是来自多个国家的人们,开源中的项目沉淀着整个人类的汗水与智慧,而drupal是cms开源领域的佼佼者,drupal8非常注重国际化多语言,我们与其想要开发一个新的系统或者等待一个优秀的国产系统,不如活在当下扩展格局,现在就加入进来,想明白这点至少可以占得先机,“好风凭借力,送我上青云”。

 

本书共27小节。


评论 (1)

    • 2017-07-06

    现在,整个Drupal核心和模块的代码,主要都是由白人男性贡献的。和他们这些人相比,我们国家80后90后这代人除了受教育的质量整体不高之外,大部分都还有着房子车子的压力。能力和精力的欠缺,使得中国社区的代码贡献量微乎其微。所以,放眼望去,在中国的社区里,积极参与分享和贡献的人,往往都比较有钱,而且还比较闲。

    不过80后现在都快40了,90后都快30了,房子车子该有的都有了,没有的也都快有了。说到这里,我突然想到,6月底在上海的drupal camp,大家谈论到社区贡献者老龄化的问题。我不在场,不知道具体细节,但是,我认为,社区的贡献,责任最重大的依然应该是那帮老家伙,因为,年轻人的生活压力太大了。我们这代人,在年轻的时候也没给社区贡献过什么东西,却希望现在的年轻人多做贡献,这个是不现实的。因为,房价还摆在那里,丈母娘的眼光还有那么高。

    关于这个,介绍一个人,Jeff Geerling,他为acquia工作,工作之余,他是3个小孩的父亲,drupal 和 Ansible社区的活跃贡献者,drupal vm的开发者,写了一本关于Ansible的书,还同时维护着drupal官网的很多模块。并且,他还是克罗恩病的患者,这种病无法医治,只能做手术改善病情。他在这次巴尔的摩的drupalcon上做了一个演讲,题目是如何持续的为开源社区做贡献,并且还扮演好生活中的其他角色,员工、丈夫、父亲、作者、项目维护者以及病人。

    https://www.jeffgeerling.com/blog/2017/dont-drown-your-open-source-project

    他的分享和精力,值得我们每个“老家伙”思考和学习。

    在qq群里,总是看到有人说,“如果我有能力,我一定贡献,可惜我是个菜鸟,啥也不会。。。。”,免费开源是个趋势,但是如果大家对免费开源的理解只停留在“让别人免费贡献”的层面的话,那只能说,趋势是趋势,现实是现实,相距比较远。