作者 謝恩銘奠滑,公眾號「程序員聯(lián)盟」(微信號:coderhub)。
轉(zhuǎn)載請注明出處。
原文:http://www.reibang.com/p/0038473f34cb
《Web探索之旅》全系列
內(nèi)容簡介
- 前言
- 框架和內(nèi)容管理系統(tǒng)
- 總結(jié)
- 第二部分第四課預(yù)告
1. 前言
上一課 Web探索之旅 | 第二部分第二課:服務(wù)器語言 中养叛,我們介紹了服務(wù)器端的編程語言种呐,有 PHP,Java弃甥,Python爽室,Ruby,C#淆攻,Go阔墩,等等。
這一課我們來學(xué)習(xí)基于這些語言衍生出來的框架(Framework)瓶珊,然后再看看什么是內(nèi)容管理系統(tǒng)(CMS)啸箫。
2. 框架和內(nèi)容管理系統(tǒng)
框架(Framework)
什么是 Framework(框架)呢?
framework 在英語中是“框架伞芹,骨架忘苛;結(jié)構(gòu),構(gòu)架”的意思唱较。
要對 Framework 給出一個準(zhǔn)確的定義很難扎唾,因為有幾種不同的定義∧匣海可以參看這個百度百科:框架 胸遇。
不過我想給它一個簡單,也許并不十分準(zhǔn)確的形象表述:
Framework 就好比一個超級工具箱汉形。如果純用編程語言可以解決問題纸镊,那么框架則幫助我們“站在巨人的肩膀上”,使用別人已經(jīng)寫好的基于某種或某幾種編程語言的一個架構(gòu)概疆,更快速地解決問題逗威。
或者如果把編程語言比喻成基本的原料,如木頭届案,鋼鐵等庵楷,那么框架就像榔頭,剪刀這樣的由基本原料制作成的工具楣颠,可以為我們實現(xiàn)更復(fù)雜的東西。
所以咐蚯,既然我們有 PHP童漩,Java,Python春锋,Ruby矫膨,C# 等服務(wù)器端語言,一些大牛或社區(qū)就寫了不少對應(yīng)的 Web 框架侧馅。
PHP:ThinkPHP危尿,Laravel,Symfony馁痴,Zend谊娇,Yii,等等罗晕。
Java:J2EE济欢,老牌的著名 Java 框架。十分火熱的 Spring 框架小渊。
Python:Django法褥,F(xiàn)lask,Tornado酬屉,Web2py半等,等等。Python 的靈活使得 Django 和 Flask 易于上手呐萨,創(chuàng)建出來的網(wǎng)站也很美觀酱鸭。
Ruby:Ruby on Rails,基于 Ruby垛吗,很多程序員在 Python 和 Ruby 之間抉擇凹髓,這兩個還都真是很好的編程語言。不過 Ruby 已經(jīng)呈現(xiàn)衰退之勢怯屉。
C#:ASP.NET蔚舀。微軟的產(chǎn)品,也是老牌框架了锨络。
正如服務(wù)器端的編程語言一樣赌躺,這么多框架中,我們不能說哪個最好羡儿,只有你用著最合適就是最好的礼患。
我們不同的服務(wù)器語言有對應(yīng)的 Web 開發(fā)框架,使用對應(yīng)的框架掠归,可以使我們不用“重復(fù)造輪子”缅叠。
重復(fù)造輪子,英語是“reinvent the wheel”虏冻,是指重新創(chuàng)造一個已有的或是已被其他人優(yōu)化的基本方法肤粱。這個詞常出現(xiàn)在軟件開發(fā)和其他工程領(lǐng)域中。這個詞的由來是因為輪子由人類所發(fā)明厨相,且在各方面都帶來許多便利领曼。既然輪子已被發(fā)明鸥鹉,而且在使用上沒有什么缺陷,重新再發(fā)明一次輪子是沒有意義的庶骄,只是浪費時間毁渗,分散研究者的資源,使其無法投入更有意義及價值的目的单刁。
內(nèi)容管理系統(tǒng)(CMS)
內(nèi)容管理系統(tǒng)灸异,英語是 Content Management System,簡稱 CMS幻碱。
對于內(nèi)容管理绎狭,業(yè)界還沒有一個統(tǒng)一的定義,不同的機(jī)構(gòu)有不同的理解褥傍。
隨著網(wǎng)絡(luò)應(yīng)用的豐富和發(fā)展儡嘶,很多網(wǎng)站往往不能迅速跟進(jìn)大量信息衍生及業(yè)務(wù)模式變革的腳步,常常需要花費許多時間恍风、人力和物力來處理信息更新和維護(hù)工作蹦狂;
遇到網(wǎng)站擴(kuò)充的時候,整合內(nèi)外網(wǎng)及分支網(wǎng)站的工作就變得更加復(fù)雜朋贬,甚至還需重新建設(shè)網(wǎng)站凯楔;如此下去,用戶始終在一個高成本锦募、低效率的循環(huán)中升級摆屯、整合…
內(nèi)容管理系統(tǒng) CMS 應(yīng)運(yùn)而生,為的是有效解決用戶網(wǎng)站建設(shè)與信息發(fā)布中常見的問題和需求糠亩。
對網(wǎng)站內(nèi)容進(jìn)行管理是 CMS 軟件的最大優(yōu)勢虐骑,它流程完善、功能豐富赎线,可把稿件分門別類并授權(quán)給合法用戶編輯管理廷没,而不需要用戶去理會難懂的 SQL 等語法。
CMS 比框架更易于使用垂寥,更親民颠黎。以前大家可能使用過 Dreamweaver 這個建站工具,它雖然不是 CMS滞项,卻也風(fēng)靡了很久狭归。
不過 CMS 一出,Dreamweaver 這樣的老古董就顯得太繁瑣了蓖扑。
使用 Framework(框架)唉铜,你還是需要編程的。比如使用基于 Python 的 Django律杠,你還是需要自己寫一些 Python 代碼潭流;而如果使用 CMS,幾乎不需要編程柜去,即使你沒有任何編程經(jīng)驗灰嫉,也能輕松建設(shè)一個網(wǎng)站。
比較著名的 CMS 有 Wordpress嗓奢,Joomla! 和 Drupal讼撒,都可以讓大家很快變站長,分分鐘“狂拽酷炫”股耽。當(dāng)然了根盒,除了這三個國外的 CMS 軟件,國內(nèi)現(xiàn)在也有不少 CMS 軟件物蝙,大家可以自行上網(wǎng)搜索炎滞。
Wordpress
我十分推薦的 CMS。很簡單诬乞,適合初學(xué)者册赛,特別是不會編程的朋友。分分鐘建立一個網(wǎng)站震嫉,插件豐富森瘪,主題模板多,社區(qū)支持很強(qiáng)大票堵,因為全世界有很多人使用 Wordpress扼睬。
Wordpress 官網(wǎng):https://wordpress.com
Joomla!
中文譯為“囧啦”,也是很有意思悴势。相對于 Wordpress窗宇,不是那么知名。但是可定制性強(qiáng)過 Wordpress瞳浦,較 Wordpress 難入門担映。最好有一定編程經(jīng)驗,再使用 Joomla 會比較順手叫潦。
Joomla 為設(shè)計者提供了足夠的便利去創(chuàng)建一個新的模板蝇完,所以更多的設(shè)計者樂意去創(chuàng)建 Joomla 的模板而不會選擇 Drupal。
Joomla! 官網(wǎng):http://www.joomla.org 矗蕊。
Drupal
我只用過 Wordpress 和 Joomla!短蜕。Drupal 據(jù)說也是很厲害的 CMS。
如果你喜歡編寫和探索程序傻咖,或者喜歡自定義某一個功能部分朋魔,那么 Drupal 無疑是你不錯的選擇。 Drupal 正是這樣一款可以非常方便進(jìn)行二次開發(fā)的程序卿操。相比其他的 CMS 系統(tǒng)警检,Drupal 良好的安全性顯現(xiàn)無疑孙援,因而贏得了很多用戶的親睞。
Drupal 官網(wǎng):https://www.drupal.org 扇雕。
小結(jié)
如果你想建立一個博客拓售,可以很輕松地上手安裝使用,并且可以像換衣服一樣隨意更換各種模板镶奉,那你無疑應(yīng)該選擇 WordPress础淤。我個人也非常喜歡 WordPress,也用 WordPress 來建設(shè)過網(wǎng)站哨苛。
如果你希望建立一個稍微復(fù)雜一點的網(wǎng)站(不僅僅只是博客)鸽凶,例如公司性質(zhì)的網(wǎng)站,圖庫等等建峭,并且擁有漂亮的模板玻侥,良好的社區(qū)支持,那么 Joomla! 會是你的第一選擇迹缀。
如果你希望自己創(chuàng)建一些功能模塊使碾,就選擇 Drupal 。Drupal 的開發(fā)者們是極富創(chuàng)造力的祝懂,幾乎每個月都能看到修正過的最新版本票摇。所以,如果你想要在建立自己的站點時砚蓬,有那么一點挑戰(zhàn)矢门,并且可以建立一些自己需要的功能模塊,Drupal 無疑是你的最佳選擇灰蛙。
3. 總結(jié)
Framework:框架祟剔。是整合的工具集,基于編程語言摩梧∥镅樱可以幫助我們快速開發(fā)網(wǎng)站。
CMS:Content Management System仅父。比 Framework 更簡單的快速開發(fā)網(wǎng)站的工具叛薯,甚至不需要有編程經(jīng)驗,你就可以迅速開發(fā)出非常優(yōu)秀的網(wǎng)站笙纤。缺點是自定制性比較差耗溜。
4. 第二部分第四課預(yù)告
今天的課就到這里,一起加油吧省容!
下一課:Web探索之旅 | 第二部分第四課:數(shù)據(jù)庫
我是 謝恩銘抖拴,公眾號「程序員聯(lián)盟」(微信號:coderhub)運(yùn)營者,慕課網(wǎng)精英講師 Oscar 老師腥椒,終生學(xué)習(xí)者阿宅。
熱愛生活候衍,喜歡游泳,略懂烹飪家夺。
人生格言:「向著標(biāo)桿直跑」