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



内容简介

1第二部分第三课:框架和内容管理系统

2、第二部分第四课预告数据库



第二部分第三课:框架和内容管理系统

上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby,C#等。

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



框架(Framework)

什么是Framework(框架)呢?要给出一个准确的定义很难。因为它有不少不同的定义。可以自行参看这个百度百科:

http://baike.baidu.com/view/66971.htm

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

《Framework就好比一个超级工具箱。如果纯用编程语言可以解决问题,那么框架则帮助我们“站在巨人的肩膀上”,使用别人已经写好的基于某种或某几种编程语言的一个架构,更快速地解决问题。

或者如果把编程语言比喻成基本的原料,如木头,钢铁等,那么框架就好比榔头,剪刀这样的由基本原理制作成的工具,可以为我们实现更复杂的东西。》

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

如上图所见,我们不同的服务器语言有对应的Web开发框架,使用对应的框架,可以使我们不用“重复造轮子”(Reinvent the wheel,重新创造一个已有的或是已被其他人优化的基本方法。此一词语常出现在软件开发和其他工程领域中。此一词语的由来是因为轮子由人类所发明,且在各方面都带来许多便利。既然轮子已被发明,而且在使用上没有什么缺陷,重新再发明一次轮子是没有意义的,只是浪费时间,分散研究者的资源,使其无法投入更有意义及价值的目的)。

  1. PHP:Symfony2,Zend。
  2. Java:J2EE。太著名的Java框架。
  3. Python:Django,近几年火起来的,因为Python的灵活,使得Django易于上手,创建出来的网站也很美观。
  4. Ruby:Ruby on Rails,近几年火起来的Ruby,很多程序员在Python和Ruby之间抉择,这两个还都真是很好的编程语言。
  5. C#:ASP.NET。微软的东西,也是老牌著名框架了。

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



内容管理系统(CMS)

内容管理系统,英语是Content Management System,简称CMS。企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。

随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合……

内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题和需求。对网站内容管理是该软件的最大优势,它流程完善、功能丰富,可把稿件分门别类并授权给合法用户编辑管理,而不需要用户去理会那些难懂的SQL语法。

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

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

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

比较著名的CMS有Wordpress,Joomla!和Drupal,都可以让大家很快变站长,分分钟狂拽酷炫。

Wordpress



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

Wordpress官网

https://zh-cn.wordpress.com/

----------------------------

Joomla!




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

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

Joomla!官网

http://www.joomla.org/

-----------------------

Drupal

小编只用过Wordpress和Joomla!,Drupal据说也是很厉害的CMS,不过个人觉得这Logo有点“吓人”吧,感觉好“邪恶”...

光看这商标都不想用了... 是小编心理太脆弱了吗?

还是介绍一下吧:

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

Drupal的官网:

https://www.drupal.org/

总结:

  1. 如果您想建立一个博客,可以很轻松地上手安装使用,并且可以像换衣服一样随意更换各种模板,那您无疑应该选择WordPress。
  2. 如果您希望建立一个稍微复杂一点的网站(不仅仅只是博客),例如公司性质的网站,图库等等,并且拥有漂亮的模板,良好的社区支持,那么Joomla!会是您 的第一选择。
  3. 如果您希望自己创建一些功能模块,就选择Drupal 。Drupal的开发者们是极富创造力的,几乎每个月都能看到修正过的最新版本。所以,如果您想要在建立自己的站点时,有那么一点挑战,并且可以建立一些自己需要的功能模块,Drupal无疑是您的最佳选择。


总结

  1. Framework:框架。是整合的工具集,基于编程语言。可以帮助我们快速开发网站。比较常见的是J2EE(基于Java),Symfony2(基于PHP),Django(基于Python),Ruby on rails(基于Ruby),ASP.NET(基于C#)。
  2. CMS:Content Management System。比Framework更简单的快速开发网站的工具,甚至不需要有编程经验,你就可以迅速开发出非常高大上的网站。缺点是自定制性比较差。比较著名的是Wordpress(小编推荐),Joomla!  。

第二部分第四课预告

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

下一课我们学习:数据库



程序员联盟社区

目前有一个微信群和一个QQ群,凡是对编程感兴趣的朋友都可以加,大家可以交流,学习,互动,讨论编写的程序的源代码,编程问答等。

微信群(程序员联盟),加群请私信我(微信群人数超过100之后,不能通过扫描二维码加入了,只能私信我,谢谢)

QQ群: 413981577 (1000人群)

QQ群文件里有很多编程书籍PDF和其他资料。扫描下面二维码加QQ:

我们还建立了一个公共的百度云盘,2TB容量,已有很多优秀编程资源,大家也可以上传。链接加群之后会发送。

百度贴吧 【程序员联盟】 欢迎您加入,交流编程,讨论代码,共享资源,已经有很多话题。吧主就是小编。

http://tieba.baidu.com/f?kw=%E7%A8%8B%E5%BA%8F%E5%91%98%E8%81%94%E7%9B%9F&ie=utf-8

《程序员联盟》的微社区,方便大家提问和互动。可以关注一下。

微社区地址和二维码如下:

http://m.wsq.qq.com/264152148

谢谢!



程序员联盟 微信公众号

*您若觉得本文不错,请点击画面右上角《···》按钮“分享到朋友圈”或“发送给朋友”

*新朋友请关注「程序员联盟」微信搜公众号  ProgrammerLeague

小编微信号: frogoscar

小编QQ号:  379641629

小编邮箱:    [email protected]

程序员联盟QQ群:413981577

程序员联盟微信群:先加我微信

有朋友反映看手机端的文章太累,其实是可以用浏览器网页来看的:

方法1. 点击画面右上角的《···》按钮,然后选择“复制链接”,再把链接黏贴到你的浏览器里面或用邮件发送给自己,就可以在电脑的浏览器里打开了

方法2. 头条网www.toutiao.com,搜索我的自媒体“程序员联盟”,内有所有文章,也可以直接进这个链接:http://www.toutiao.com/m3750422747/

方法3. 我的51CTO博客,CSDN博客,博客园和开源中国博客链接(所有文章都在上面)
http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://my.oschina.net/frogoscar/blog

如何查看所有文章

1. 点击“查看公众号”,再点击“查看历史消息

2. 在公众号回复任何信息,可以看到包含“查看历史消息”的链接。

【支持小编的劳动】

觉得文章对你有帮助,请纪念小编的辛勤劳动,扫描二维码捐赠给小编,谢谢!

支付宝

Paypal

时间: 2024-12-19 02:36:33

【Web探索之旅】第二部分第三课:框架和内容管理系统的相关文章

【Web探索之旅】第三部分第一课:服务器

内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着眼于一个Web site(网站)是如何工作的,我们会更深入地了解Web背后的网络.这里的网络是network,泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个很大的蜘蛛网.对于有蜘蛛恐惧的朋友我只能献上我诚挚的歉意,看到我真挚的表情了吗.

【Web探索之旅】第三部分第一课:server

内容简单介绍 1.第三部分第一课:server 2.第三部分第二课预告:IP地址和域名 第三部分第一课:server 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理.还是非常重要的. 这一部分我们会着眼于一个Web site(站点)是怎样工作的,我们会更深入地了解Web背后的网络. 这里的网络是network.泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个非常大的蜘蛛网.对于有蜘蛛恐惧的朋友我仅仅能献上我诚挚的歉意

【Web探索之旅】第二部分第一课:客户端语言

内容简介 1.第二部分第一课:客户端语言 2.第二部分第二课预告:服务器语言 第二部分:Web编程语言和工具 大家好.上一个部分我们学习了Web的一些基本概念: 什么是Web? Internet和Web的区别 Web的历史 第二部分我们会正式进入Web学习的主题了.我们会带大家了解一个我们平时访问的网站(Web site)是如何运作的.首先我们来看看Web开发使用到的编程语言和数据库,一些框架和内容管理系统,还有响应式设计.这一部分会有不少原理,概念比较重要,不过我们会用形象地比喻来阐明. 第二

【Web探索之旅】第二部分第二课:服务器语言

内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HTML,CSS和JS),那么我们服务器端岂能逊色呢,对吧. 服务器端也有不少种编程语言.这些编程语言写成的程序会在服务器端的电脑上被执行. 如果说客户端的语言编写的程序决定了我们的网页的外观,那么服务器端的语言编写的程序决定了网页的功能和如何与用户交互. 你也许会问:"既然我们可以用HTML,CSS和

【Linux探索之旅】第二部分第三课:文件和目录,组织不会亏待你

内容简介 1.第二部分第三课:文件和目录,组织不会亏待你 2.第二部分第四课预告:文件操纵,鼓掌之中 文件和目录,组织不会亏待你 上一次课我们讲了命令行,这将成为伴随我们接下来整个Linux课程的一个重要部分. 大宝啊明天见,命令行啊天天见~ 今天的标题里的那句"组织不会亏待你",不是说Linux社群是个非*法组织,不*良帮*派.不是的,我们还是很廉洁的啊~ 是因为这一课我们要来谈一谈Linux系统的文件和目录是如何组织的. 使用过Windows系统的用户,应该对Windows系统里的

【C语言探索之旅】 第二部分第三课:数组

内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写 动态分配

【Web探索之旅】第一部分:什么是Web?

内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课程相对比较简单,比[C语言探索之旅],[C++探索之旅],[Linux探索之旅],[TCP/IP网络探索之旅]简单,会让大家在轻松中理解关于Web的方方面面. 您是否对Web感兴趣但是不知道什么是Web呢? 您是否觉得"网络黑客"很神秘? 您是否不清楚Internet和Web有什么区别?

【Web探索之旅】第四部分:Web程序员

内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[Web探索之旅]的最后一部分. 我们的第二和第三部分都略有难度,不过这第四部分和第一部分一样,都会比较轻松愉快. 这一课我们来聊一聊Web程序员,Web的文化,如何成为一名优秀的Web程序员. 或许看完这部分,你会跃跃欲试,想要成为一名Web程序员也不一定.毕竟现在Web程序员还是比较吃香的. 第四部

shellKali Linux Web 渗透测试— 初级教程(第三课)

shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课)... 1 课程目录... 1 通过google hack寻找测试目标... 2 一个asp站点的sql注入... 3 一个php站点的sql注入... 4  课程地址:点击 课程目录 两个基本案例,以sql注入入手,目标为熟悉基本的思路,关注细节信息. 关于google hack,web 扫描,sql注入更详细和复杂的内容后续教程会专门讲解