Web探索之旅 | 第二部分第三课:框架和内容管理系统

543 阅读6分钟

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。 转载请注明出处。 原文:www.jianshu.com/p/0038473f3…


《Web探索之旅》全系列

内容简介


  1. 前言
  2. 框架和内容管理系统
  3. 总结
  4. 第二部分第四课预告

1. 前言


上一课 Web探索之旅 | 第二部分第二课:服务器语言 中,我们介绍了服务器端的编程语言,有 PHP,Java,Python,Ruby,C#,Go,等等。

这一课我们来学习基于这些语言衍生出来的框架(Framework),然后再看看什么是内容管理系统(CMS)。

2. 框架和内容管理系统


框架(Framework)

什么是 Framework(框架)呢?

framework 在英语中是“框架,骨架;结构,构架”的意思。

要对 Framework 给出一个准确的定义很难,因为有几种不同的定义。可以参看这个百度百科:框架

不过我想给它一个简单,也许并不十分准确的形象表述:

Framework 就好比一个超级工具箱。如果纯用编程语言可以解决问题,那么框架则帮助我们“站在巨人的肩膀上”,使用别人已经写好的基于某种或某几种编程语言的一个架构,更快速地解决问题。 或者如果把编程语言比喻成基本的原料,如木头,钢铁等,那么框架就像榔头,剪刀这样的由基本原料制作成的工具,可以为我们实现更复杂的东西。

所以,既然我们有 PHP,Java,Python,Ruby,C# 等服务器端语言,一些大牛或社区就写了不少对应的 Web 框架。

  • PHP:ThinkPHP,Laravel,Symfony,Zend,Yii,等等。

  • Java:J2EE,老牌的著名 Java 框架。十分火热的 Spring 框架。

  • Python:Django,Flask,Tornado,Web2py,等等。Python 的灵活使得 Django 和 Flask 易于上手,创建出来的网站也很美观。

  • Ruby:Ruby on Rails,基于 Ruby,很多程序员在 Python 和 Ruby 之间抉择,这两个还都真是很好的编程语言。不过 Ruby 已经呈现衰退之势。

  • C#:ASP.NET。微软的产品,也是老牌框架了。

正如服务器端的编程语言一样,这么多框架中,我们不能说哪个最好,只有你用着最合适就是最好的。

我们不同的服务器语言有对应的 Web 开发框架,使用对应的框架,可以使我们不用“重复造轮子”。

重复造轮子,英语是“reinvent the wheel”,是指重新创造一个已有的或是已被其他人优化的基本方法。这个词常出现在软件开发和其他工程领域中。这个词的由来是因为轮子由人类所发明,且在各方面都带来许多便利。既然轮子已被发明,而且在使用上没有什么缺陷,重新再发明一次轮子是没有意义的,只是浪费时间,分散研究者的资源,使其无法投入更有意义及价值的目的。

内容管理系统(CMS)


内容管理系统,英语是 Content Management System,简称 CMS。

对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。

随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;

遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合…

内容管理系统 CMS 应运而生,为的是有效解决用户网站建设与信息发布中常见的问题和需求。

对网站内容进行管理是 CMS 软件的最大优势,它流程完善、功能丰富,可把稿件分门别类并授权给合法用户编辑管理,而不需要用户去理会难懂的 SQL 等语法。

CMS 比框架更易于使用,更亲民。以前大家可能使用过 Dreamweaver 这个建站工具,它虽然不是 CMS,却也风靡了很久。

不过 CMS 一出,Dreamweaver 这样的老古董就显得太繁琐了。

使用 Framework(框架),你还是需要编程的。比如使用基于 Python 的 Django,你还是需要自己写一些 Python 代码;而如果使用 CMS,几乎不需要编程,即使你没有任何编程经验,也能轻松建设一个网站。

比较著名的 CMS 有 Wordpress,Joomla! 和 Drupal,都可以让大家很快变站长,分分钟“狂拽酷炫”。当然了,除了这三个国外的 CMS 软件,国内现在也有不少 CMS 软件,大家可以自行上网搜索。

Wordpress

我十分推荐的 CMS。很简单,适合初学者,特别是不会编程的朋友。分分钟建立一个网站,插件丰富,主题模板多,社区支持很强大,因为全世界有很多人使用 Wordpress。

Wordpress 官网:wordpress.com

Joomla!

中文译为“囧啦”,也是很有意思。相对于 Wordpress,不是那么知名。但是可定制性强过 Wordpress,较 Wordpress 难入门。最好有一定编程经验,再使用 Joomla 会比较顺手。

Joomla 为设计者提供了足够的便利去创建一个新的模板,所以更多的设计者乐意去创建 Joomla 的模板而不会选择 Drupal。

Joomla! 官网:www.joomla.org

Drupal

我只用过 Wordpress 和 Joomla!。Drupal 据说也是很厉害的 CMS。

如果你喜欢编写和探索程序,或者喜欢自定义某一个功能部分,那么 Drupal 无疑是你不错的选择。 Drupal 正是这样一款可以非常方便进行二次开发的程序。相比其他的 CMS 系统,Drupal 良好的安全性显现无疑,因而赢得了很多用户的亲睐。

Drupal 官网:www.drupal.org

小结


  1. 如果你想建立一个博客,可以很轻松地上手安装使用,并且可以像换衣服一样随意更换各种模板,那你无疑应该选择 WordPress。我个人也非常喜欢 WordPress,也用 WordPress 来建设过网站。

  2. 如果你希望建立一个稍微复杂一点的网站(不仅仅只是博客),例如公司性质的网站,图库等等,并且拥有漂亮的模板,良好的社区支持,那么 Joomla! 会是你的第一选择。

  3. 如果你希望自己创建一些功能模块,就选择 Drupal 。Drupal 的开发者们是极富创造力的,几乎每个月都能看到修正过的最新版本。所以,如果你想要在建立自己的站点时,有那么一点挑战,并且可以建立一些自己需要的功能模块,Drupal 无疑是你的最佳选择。

3. 总结


  1. Framework:框架。是整合的工具集,基于编程语言。可以帮助我们快速开发网站。

  2. CMS:Content Management System。比 Framework 更简单的快速开发网站的工具,甚至不需要有编程经验,你就可以迅速开发出非常优秀的网站。缺点是自定制性比较差。

4. 第二部分第四课预告


今天的课就到这里,一起加油吧!

下一课:Web探索之旅 | 第二部分第四课:数据库


我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。 热爱生活,喜欢游泳,略懂烹饪。 人生格言:「向着标杆直跑」