创建具有开源CMS的Web开发项目
作为一个开发者意味着你必须学会​​阅读你所做的每个网站的源代码和项目。你要了解哪些项目需要一组代码,以及哪些项目可以完全从头开始创建。这个过程是通过行业内足够的重复和技能的经验教训。
我想用这篇文章来讨论一些细节问题与开放源码的Web开发。创建基于免费的CMS项目的往往是走的最快和最简单的方法。但你需要知道如何处理开放源代码的脚本,并避免碰壁。这需要一些练习,但也只是一些时间,致力于与您所选择的脚本播放。
为什么是内容管理系统?
你可能会问,为什么要在项目与CMS中创建,而不是建立在一个简单的PHP或Ruby代码库中?有很多伟大的例子如CodeIgniter或CakePHP的。但这些需要更多的后端开发,基本上开发到PHP,你需要从头开始编程您的应用程序。
但CMS已经具备很多功能使你在网站建设的时候随时可以使用。当您下载并安装WordPress的时候,它并没有主要的PHP定制要求。即使是没有经验的程序员可以设置自己的WordPress的博客或网站。并同样适用于编辑和更新网站的内容。
PHP框架CakePHP的网站布局设计
如果你是一个真正具有独特的想法,热爱编程的人,那么你应该尝试一些后端框架。对于开发人员来说,只需要一个快速的开源解决方案你就可以使用内容管理系统来坚持设计的每一步。它有很多不同的选择供挑剔的你所需,并从中找到一个合适的解决方案。
建立一个通用的解决方案
如果你是自由职业者,CMS的后端开发将能够完美的匹配你的大部分工作项目。这些可以包括投资组合的网站,企业,电子商务商店,甚至网上讨论区。目前开源软件几乎兼容任何你可以考虑到的脚本。
但更有趣的是定制很多类似主要的平台。WordPress和Drupal是两个令人第一时间想到的令人难以置信的可定制系统。事实上,很多开发商会说Drupal是一个PHP平台,恰好包括一个CMS。一旦你理解了其内容,几乎所有的程序都可以使用Drupal的顶尖技术来创建。
在使用WordPress的插件系统时,你还可以更轻松的将自己所拥有的功能复制到这里。WordPress拥有数量多得令人惊讶的免费插件!你可以结合一系列的组合使用,甚至建立自己的插件来扩展与WordPress的功能,以及更多的自定义插件。
编程系统
我通常会建议任何Web开发人员应该尝试至少2个或3个不同的CMS解决方案。有些刚刚完成的项目可能会与别的项目不同,因而你可能需要一点时间来了解更多的一些资料。同样重要的是要考虑在任何给定的项目环境下你的典型需求是什么。
例如,开源项目中的fork CMS配备了多语言网站的支持。你可以基于网页的语言快速地追加子域,它甚至支持2~3种甚至更多种不同的语言。现在,Drupal和WordPress用户也可以使用这种功能,但绝对不是以同样的方式。所以,如果你正在构建需要多语言支持的一个项目,你应该花一点时间来对这些程序来进行更多的了解。
你是否曾经花时间来了解这些系统?这是一个有趣的问题,并且答案明显根据不同的设计师而异。你应该问自己你最喜欢的CMS系统是什么?哪个是你在大多数web项目上使用的?你需要给出你第一时间想到的那个答案。
如果你愿意花上几个礼拜的时间来学习Fork系统的使用,那并不是在浪费时间。你会发现,Fork是一个伟大的CMS系统,但这并不意味着它能完全满足你的需求。所以,你还需要更多时间去了解别的操作系统。
翻阅脚本
调查最后的其中一点是不同的开源脚本的想法。内容管理是一个多样化的词,它通常指的是静态的,基础的网站内容。小型企业或在线零售商往往需要通过后台来管理页面的内容。
但也有一些其他的漂亮替代的开源解决方案,它们与内容管理系统差别并不大。Pligg CMS是我最喜欢的是旧Digg风格的用户投票系统的克隆版本之一。你可以推出自己的社交新闻社区,用户可以在这里注册一个帐号,并提交文章到你的网站。
Pligg CMS安装后的强大功能是令人难以置信的,同时也是任何其他的开源项目无法比拟的。而这也正是为什么fork和pligg能够流行这么久-因为他们是开源市场填补缺口所迫切需要的。你可以理解为何类似功能的phpBB为什么是更好的开源论坛之一。
开源论坛板脚本phpBB的MySQL的网站
我想,如果有任何更好的方法代替以上这些,你可以发散你的思维去想象一下。不要害怕尝试使用你从来没有听说过的新脚本或资源。Web开发人员最喜欢为他们的无畏飞跃进入未知和意愿调整到新的环境。与如此庞大的开源社区这一过程变得前所未有的简单。
寻求答案
这最后一点是非常重要的。没有人可以只使用WordPress几个星期,并立即知道所有的主要发展点。你将需要花费很长一段时间来测试和调试你选择的CMS程序。所以,如果你在连续一段时间用这些程序之后发现仍然存在问题,请不要气馁。
同样不要害怕问问题以及在技术支持上求助。大多数开源项目团队中有非常熟练的开发人员在,它们可以回答你各种乱七八糟的请求。无论你选择的是一对一服务还是在一个公开论坛,它都能够为你在项目工作中所遇到的大大小小的问题提供优质的资源。
WordPress StackExchange#网络问题答案的支持
同样也有非常熟悉的开发人员社区像WordPress StackExchange 非常乐意帮助你解决创造性的问题。不要让代码混乱成为完成你的项目开发路上的障碍。走出去,社交,学习新的东西,不要害怕问问题。
最后的思考
互联网是一个充满巨大的数据的地方,它每天都越来越大。Web开发人员已加入了开放源代码运动,因为它提供了有经验的程序员与更多没有经验的编码人员分享他们所知道的方法。这也是一个伟大的方式让你在帮助别人的同时分享一下你已完成的项目成果。
我希望这篇文章可以让你想完全开源库建设项目。它有很多甚至能够替代编程语言的选择。你将不得不花时间寻找到解决方案,并仔细测试每一个程序。但随着时间的推移你会找出其中最适合你使用的CMS产品,这些都是值得学习的系统。