不会php可以学drupal吗,!!!PHP开源框架Drupal怎么样?不适合中国

PHP开源框架Drupal怎么样?

首先我想说在中国请不要使用drupal,也不要学习drupal,真的,最近刚刚用drupal做了一个商业网站,drupal不适合中国绝对不是危言耸听。

好,现在开始正文,我会从不仅仅是开发角度,而是从项目管理,流程,开发,测试,上传同步。等各个角度drupal的噩梦般的缺点。也许文字较多,希望有人能耐心看一下。我会把开发中的问题留到最后讲,因为实在是太多问题了。我们程序的经理一句话总结drupal只适合1个人开发。

1、流程问题:我是产品经理, 作为普通的web项目流程 一般为, 需求确立->做出设计(psd)->完成前端(html)->编程阶段(php)。 而drupal的流程为 需求确立->做出设计(psd)->drupal编程阶段(php)->完成前端html。 这样的流程直接导致了很多问题:

问题1:psd到html有一个切图的流程,大家都知道现在psd做出来的设计搞到html总会有一些差异。字体大小,图片大小,和一些效果。例如每行放多少个字,图片的尺寸比例都是需要等到html做完后微调确立的。而用drupal的流程没有切图这个步骤,所有的html都是drupal的view生成出来的,结果导致这个psd和html差异的问题被放大,需要更多时间去调整。

问题2:由于html是view生成出来的,垃圾代码非常多,是普通手工写的代码3倍以上。可读性非常差,是做html人的恶梦。而且一些效果很难做出来(圆角就不要想了,直接用一个大背景算了)

问题3:由于流程 做出设计(psd)->drupal编程阶段(php)->完成前端html。 每次改动view生成的html的ID都会变化,然后html的css就要重做。举个例子:例如传统的方式html做好后,原来是一行显示的是城市改成显示省,城市,区后 html和css不需要该任何东西。因为css控制的一行的文字。 而drupal用view改了之后每个node都会生成span,需要重新调整样式给新建的样式,而且如果是更改了某个块, 块ID变了,css就没了,还要重新调整css里面的id, 做html的人不知道要做多少次重复的劳动。而且由于html是view生成的,从html里面的n多垃圾代码找到一个可以用于写css的ID真比自杀还难受。

总结,流程的不同直接导致了drupal是做html人的恶梦

2、成本问题:在中国找到一个会html的不难,找一个会php的也不难,而且成本也不高。 即使找一个会做html css 并且会php也不是很难。 那么如果用drupal开发会变成什么样呢?你必须找一个需要精通html+CSS+JS+php的人,而且缺一个不可(注意是要精通)。而且还要同时找精通drupal的人,这样的人在中国能找到吗?

为什么呢? 首先drupal的view绝对不是仅仅懂html就能掌握的,view是给精通sql的程序员用的,所以不懂程序的人,或者不精通程序不精通sql的人请不要学习drupal了, drupal看似一个cms系统,但实际drupal是一种语言,一个操作系统。 没有3年以上的大型开发经验的人根本无法掌握。 (就连开发drupal的都无法掌握drupal)

我们开发这个项目时,从德国总部请来了drupal专家,而且还聘请了中国drupal社区的二号人物(一个法国人),而且我们前端都是可以自己写js的人,这些的人成本有多高。关键是即使是这样我们还是无法降服drupal。

总结 drupal是老板的恶梦。

3、从现在开始谈开发问题。

drupal 的view 说白了就是一个简单的sql查询工具。 一个程序员可以轻松手写sql达到目的,而用view可能怎么写也达不到目的,做同一个逻辑增加很多时间成本,而且关键很多都达不到。 还有就是定位的pannel只能往顶部或底部插入,不能往中间插,如果当初需求没定好想改,那就改整个页面的布局吧。而且html的样式还要重做。 一个开发同事原来会html,会js,会sql,现在做了drupal后被强制变成了viewer,只会写view了,html,css代码也不会了,sql不会了, 整个人的职业发展终结了。

1、传值问题,例如js 与 flash之间传值, 现在变成了 view,js, flash, 之间传值 本来就不是很容易的问题现在又多了一成, 很多东西时间需要3倍以上时间用了很多办法才能做到。

2、多人开发问题, 普通流程都是用svn控制,而用drupal开发很多逻辑都是直接储存在drupal的数据库,出了问题根本不知道是哪出了问题,是谁出了问题。

3、性能问题,不多说了,垃圾的html代码,加垃圾的view的逻辑, 加上复杂的传值过程,性能要好就真是见鬼了。

4、中文问题, 很多内置对英文的处理,例如截取,断句,等等都是很好功能,但是对于中文都成了bug。(那个法国人正在开发drupal7的适合中文的模块)

5、文章分页功能,都需要自己开发,很多bug。再加上多人开发问题,出了问题不知道问题在哪,如何解决。

6、点击链接新开窗口打开,view中没有这个功能,真的,真的没有,目前我们用js实现的。

7、js浏览器IE下兼容性问题,drupal会把js都整合到一起,无解,好了ie坏了firefox。

8、cck问题, cck也是drupal重要部分,但是就连2级联动这种功能都没有,现在国内哪个cms和论坛没有类似cck建字段的功能。 最基本的功能都要自己开发,而且关键是自己开发很危险。说不定改了什么drupal核心的东西系统就崩溃了。

9、批量上传图片问题,很多插件看似没有问题,但是不支持中文文件名,而且我们图片的数量级是15000张,数量级一多,一大堆问题。

4、最最重要的问题:drupal非常不稳定,或者drupal没有人能控制得了,现在drupal给我的感觉越来越像终结者里的天网。我们有开发drupal的专家,都控制不了。 举例说明几个问题:

1、内存泄露问题,在开发的时候我们曾经每5分钟重启一次服务器,不重启过一段时间服务器远程都连不上了,只能手动去按服务器上的按钮重启。

2、有时候只改css的文件的时候样式都改不过来,即使已经清楚了所有服务器的缓存,drupal的缓存,和浏览器的缓存,

3、drupal自己把数据库回档了2次,本来我们都已经改好了功能,但却回档到某个版本,因为都是纯在在drupal的数据库里,根本无法找到问题所在,只好重做一遍。 而另一次是在切换域名的时候,也是数据丢失。 (drupal有自我修复功能?)

4、drupal 在我们切换域名的时候,强制把mysql服务器关闭了,不知道为什么,我们查看了mysql的日志,也不知道什么问题,很灵异。

5、虽然有比较好的缓存系统,但只对访客有效,对于注册用户来说居然毫无作用,其中还有很多很多问题, 我只能想起什么写什么了, 总之 drupal是程序员的恶梦, 是项目管理的恶梦,我们无法控制项目,是drupal在控制我们。不知道什么时候出问题,不知道问题出在哪,不知道如何解决,都是走一步看一步。及时备份数据库吧。

6、我非常同意我们开发经理的说的一句话,drupal只适合一个人开发,(我们那个德国专家说的是一个viewer对应一个htmler,2个人开发)那么我在想,drupal的定位是什么,如果是定位于类似supersite,织梦,这种不懂编程也能快速建站用的人,drupal显然不适合, 那么给程序员的用的,把程序员强制了变成了一个viewer,终结了程序员发展,也不适合,开发大型的商业网站,不稳定,不适合多人协作,也不适合,那么drupal到底适合做什么呢? 所以我的结论就是drupal不适合中国。真的不适合。

分类·技术相关 评论(9) 浏览(3820) 2011-12-28

最新评论:

no.3318 ishareu 113.106.103.130 2013-02-15 17:15

drupal能承受100万级的node,多用用feature或许有帮助

no.2927 xwuxin 124.193.126.162 2012-09-12 02:16

它是个CMS框架,相对于纯的mvc框架来说本身就复杂,如果它相对于轻量的mvc框架(比如CI)并不能减轻工作量,而且也不够灵活,那么为什么要用它呢,我个人一直觉得drupal只适合学习,至少我目前接触的大用户项目都没用drupal,当用户量暴增时,这个框架是否能快速适应和演进还是个大问题。

fangzi 2012-09-12 06:54

在理,绝对专家。

no.2851 07258467 222.90.141.47 2012-07-25 10:32

最近也在用drupal做一个房产中介服务的网站,感觉用drupal太难了实现自己的想要的功能 了,现在感觉最大的麻烦就是在后期的页面程现上,有很多地方的css根本实现不了。而且用cck开的话要产生很数据库表。。。views生成的查询语句很复杂而且效率不是很高。

no.2477 icac119 222.66.163.194 2012-02-09 10:03

哈哈,本身很简单的站还不如自己写来得实在。

no.2450 35984040 111.172.188.244 2012-01-14 21:21

国外的CMS的流程和国内的是有点不一样,最近做一个网站,用的joomla,也是做的头疼

no.2445 rogical 222.126.165.114 2012-01-12 13:48

至于开发成本,其他一些难点,都能解决,为何付出要多一点,缘于drupal这个开源免费cms的定位在非初级开发者,做简单站没优势,做复杂站才有力。 各种技术,实时应用,移动互联网,微博等等技术,都能找到在drupal中的实现,是的,它是一个操作系统。

fangzi 2012-01-12 22:40

那你见过哪个移动互联网应用和微博是用drupal开发的?为什么要把简单的事情搞得如此复杂?一套微博应用是可以用一个PHP框架可以解决的?我想牵涉到的层面恐怕不仅限于PHP?

no.2444 rogical 222.126.165.114 2012-01-12 13:46

大部分问题 对中级drupal开发者来说不是问题, 其中协作开发,项目管理,版本迭代是drupal目前最尖锐的问题,这在D8中已经重点提出了;

no.2443 rogical 222.126.165.114 2012-01-12 13:35

6、点击链接新开窗口打开,view中没有这个功能,真的,真的没有, -- 这个真的有, rewrite

fangzi 2012-01-12 22:42

只能说drupal太过于理论和教条化,作为PHP框架就应该做好框架该干的事情!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值