Web基礎知識和技術

原文:  http://blog.csdn.net/bjtenao/article/details/9228897

 

WEB是一個外延廣泛的概念,不單單指網站,烏徒幫專注擁有WEB界面的網站開發,幫助初學者或已經進入開發的朋友們提供參考討論平臺,然而並不一定能將所有的WEB知識講全講透,只是能滿足初涉者的建站需求,能到這一步,frustigor也算滿足了。

在 Web網站建設 一文中筆者大概談到了一個網站能搭建起來,作爲一個小型的開發者,都需要做哪些工作。顯而易見的是,這些工作並非一個人就能完成,往往需要一個有各方面技術基礎的團隊,人數不多,然而卻是必須的。那麼在網站建設領域,需要擁有哪些技術和知識呢?

一、對網站及網站建設抽象概念的理解

任何一門學科都有相應的概念,網站建設也不例外。從事多年網站建設的老手以經驗作爲知識,而剛剛步入網站建設領域的初學者可以通過閱讀書籍,查閱資料獲得知識。我曾遇到過很多想學網站建設的朋友,他們基礎爲0,然後問我後臺程序如何如何,數據傳遞如何如何,而當我告訴他一個簡單的方法或思路時,他連我口中所說爲何都不知道,更無從談程序處理。有人說網站建設很容易,不就是做網頁,管理網站麼?也有人說做網站很難,根本做不出好的作品。前者必定是不懂網站建設的朋友, 而後者也不必太過拘泥於當前,只需一步一步提高自己的知識,逐漸知識專研,才能實現蛻變。

WEB不等於網站!

在我看來,除非是已經從事網站建設多年的朋友,但凡是初學者,都應該先尋找一本關於WEB基礎知識的理論書籍看一看。通過理論的學習,可以理解網站得以存在和運行的基礎條件,在後期開發中不至於丈二和尚。

從我個人來看,這些知識包括WEB相關觀念、發展歷史、基礎理論、計算機網絡、互聯網基礎等等,雖然沒有直接涉及網站建設,卻是網站賴以生存的理論。例如很簡單的例子,什麼是網站?什麼是域名?http和IP地址?寬帶和帶寬?移動互聯網?3G?這些概念性的基礎知識,是網站建設的基礎,是房子基石下面的大地。

二、WEB基礎知識已經是大海

沒有人是全才,全才就是廢材!很多朋友見到我聽過我是搞網站的,便會用電腦技術大師的眼光來審視我,然而我想說的是:MB不是學技術的都是修電腦的好不好!搞網站跟修電腦扯不上半點關係,別人學計算機的也不是修電腦的,爲什麼普通人眼中喜歡修電腦的呢?這個問題至今我還沒有答案,可能修電腦的搬來搬去,肌肉比較大塊而符合人體美吧。。。

在WEB知識大海中,筆者只會提出涉及到我們網站建設和開發的知識,除此之外的技術一旦提出,便會有人很SB的去學習,舉例,我在剛接觸網站建設時,無意之間瞭解到linux的知識,於是狂熱的學習熱情驅使我花了幾個月的時間掌握linux的命令,在linux上配置各種軟件,實現linux服務器,然而兩年過去了,linux的命令我幾乎已經忘光,除了服務器配置還偶爾用,其他軟件的安裝和配置也都忘光。我想說的是,早期學習我們要切記兩點:1、我們要什麼就學什麼,不要偏離跑道,很多知識等到你有迫切需求的時候,會迫使自己去學習;2、不要試圖走捷徑,一個星期的入門教程其實是給已經入門的人們去溫故知新的,0基礎學習者到入門的時間是3個月到半年方能做出作品。

另外,我想對那些已經擁有網站,基礎卻很差的朋友們一個建議,在有時間的情況下靜下心來看一本有關html+css+javascript的書,它們對你來說已經夠用了,無論你使用的是什麼網站系統,認真冷靜的看一本不厚不薄的網頁表現層的書,絕對能應付你的簡單的修改。

三、一個早期的網站建設者可能具備哪些技術

在學習網站建設的早期,幾乎由一個人承擔了網站的策劃、開發、維護、管理、運營,而他的角色更是讓人感到力不從心,從技術到美工到編輯到運營,簡直就是一場自我的博弈。然而當你擁有了一個小的作品的時候,成功的喜悅能暫時抹去你的痛苦,並激勵你學習更多的東西,促進你的成長。

如果你下定決心要開始建設自己的網站,並且想通過自己一手之力,而非藉助他人來完成自己的網站,那麼你可能需要掌握以下的一些技術或知識:

1、HTML

你不得不承認,大學裏的老師從dreamweaver開始教網頁設計是一種錯誤的理念,這讓學習者將工具看的很重要,甚至將網頁設計完全認同爲使用好這些開發工具。之所以要從開發工具開始教,是因爲開發工具能即時的將製作的效果給學習者看,並有利於講解。如果你已經脫離了大學,或還沒有開始上網頁設計課程,那麼直接學習HTML是件可以考慮的事。

HTML不單單是網頁結構代碼,而是一套超文本的理念,隨着HTML5的興起,它也不單單是超文本了,而是有語義的超文本,HTML也是可以有感情的。當然,這是網頁背後的事,作爲初學者,你只需要瞭解各個標籤起到什麼效果、使用時需要注意哪些,並不必掌握所有的標籤,而是掌握到可以滿足你的寫作需求的那些標籤。做好了這些,等以後慢慢即可接觸更多的知識。

2、CSS

不要把CSS看的很難,因爲太依賴寫作工具軟件,所以初學者會認爲css很難,其實css是件很簡單的事,就像一個人穿衣服一樣,它讓網頁擁有不同的佈局、顏色、線條、隱現。css=class的時代也過去了,隨着HTML5的發展,css也變得開始有語義,有動作,可以實現一些動態的效果。

那麼你是要學HTML5麼?

HTML5並不是HTML4的不同版本,而是一種新的理念,在HTML4的基礎上增減了一些標籤,如果你想要學習HTML+CSS,並不會太多的深入研究其他WEB技術的話,那麼選擇HTML5+CSS3是一項不錯的決定,當然,學習HTML5會變得很困難,因爲所有的HTML5的書籍都把讀者當做是已經非常瞭解HTML+CSS+JavaScript的,因而,如果你只是想入門,那麼學習html傳統教程吧,學完之後,看看HTML5都增減了哪些標籤即可。

3、JavaScript

即使javascript是編程,你也無法繞過它,因爲你必須自己嘗試着理解網頁上的動作是怎麼發生和執行的。如果你只希望掌握網頁的色彩、佈局、線條的話,那麼只需要瞭解javascript能幫你做什麼,以便於你不用拼命考慮這些效果是不是css來完成的。這樣你就不用深入學習javascript了。然而事實是幾乎所有的學習者都有強烈的征服欲,所以學習javascript是必經之路,即使你曾經繞過,但也不得不在後期某個階段後頭重新走過一遍。

javascript本身就包含了很多知識,因爲javascript就已經涉及到跟設備打交道的部分,通過腳本調用系統資源實現一些動作和效果。而在學習javascript之前,你最好有編程的經驗,如果沒有,那麼肯定需要在第一次學習中花更多的時間。

ajax、jquery都是javascript的延伸學習部分,當有一天,你會需要它們。

而當學習完這些,你就已經可以製作一個非常漂亮,並且還擁有一定功能的網站了,雖然沒有後臺,雖然沒有用戶活躍,然而能夠在互聯網上看到自己的作品,已經是件非常了不起的事情了。

相關技術:flash製作、PS圖片處理

四、進入到網站開發和運營階段需要掌握哪些技術

當擁有一個靜態的網站之後,自然而然會產生一個問題:我怎麼去更新自己的網站,擁有更多的內容?

於是,學習者開始接觸CMS、blog、論壇等現成的網站系統,並希望利用它們可以打造出自己的網站,開始運營,甚至希望從中獲利。於是通過學習,不僅製作出了自己的漂亮的頁面,而且開始不斷更新內容,打造一個有氛圍有風格的網站,進入到推廣和運營階段。

等等,似乎一切來的太快了!是的,其實當你開始擁有這樣的一個網站的時候,你就會發現,這些系統雖然滿足裏你更新內容的需求,然而你新生的一些功能需求又無法滿足了,於是你走上了一條不歸路,開始反覆糾結,進入徘徊期,直到最後決定選擇一套技術進行深專研究,並重新審視自己,學習後臺開發技術。

那麼在這個過程中,你又會開始接觸哪些技術呢?

1、一門網絡編程語言:ASP或PHP或JSP或其他編程語言

而作爲初學者,我們一般在ASP和PHP中選擇,更多的人選擇PHP,因爲它更流行。這時,你將接觸到後臺,接觸到調用數據,增減數據,和數據庫打交道,並無時無刻不再思考一些程序處理邏輯。

前臺表現的東西並不是已經到了十全十美出神入化的境界,然而後臺的需求已經戰勝了一切,如果你不去取數據出來,那麼網站就是死的沒有生機的一樣。可是你必須經歷一場新的洗禮,如果你有編程基礎,那麼這條路將走的很順利,並花掉很少的時間,或許一個星期就能入門,記住,是入門!而當利用這些知識和技術實現了數據的插入、獲取、刪除之後,你渴望新的功能,例如排序,例如檢索,例如不同風格的調用,總之就是一些以前從來沒想過的,現在卻因爲動了一些調用的知識而不斷冒出來的新的需求。

網絡編程語言不止這3P,還有很多其他語言。它們要做的,既不是表現,也不是數據,而是在表現和數據之間進行數據處理。

2、一個數據庫工具:或許是MSSQL,或許是MySQL,或許是其他

數據庫在你之前或許是從來沒考慮過,從來沒想過的一件事,但是現在你必須考慮了,你的數據放在哪兒?數據庫裏!

學習數據庫並沒有想象的那麼難,可是你不得不買一本關於SQL的書,去學習SQL語句怎麼寫,並不斷的通過搜索引擎查找資料,完成不同的數據調用。記住,這個時候還是在談入門,我們幾乎在每一項技術中處在入門的位置,但不必爲此懊惱,因爲這是必經之路,能走到此處的入門,已經很不易了。

國內目前在數據庫方面的人才還是很匱乏了,而從事數據庫工作的,幾乎都來自計算機專業,並且在行業中積累了豐富的經驗。

相關技術:開發測試軟件、數據庫軟件、網站空間、開發文檔、手冊

相關知識:開源CMS或網站系統、模板製作、開發工具、SEO、網站性能、站長;python、Ruby、SQL、服務器配置...

五、進入到項目開發階段你所要思考的問題

在上一章中我們依稀可以看到一個小型項目的開發過程,你不得不考慮一些技術性問題,於此同時,你還要考慮除了技術之外的諸如策劃、設計、運營、管理等等方面的問題,這個時候你常常渴望擁有一個團隊。

而烏徒幫要幫你解決的是技術上的問題,即使你的IDEA非常出色,甚至在你看來是改變世界的項目,然而你仍然需要考慮自己的技術團隊是否能夠實現,並且有足夠的空間讓你的團隊成員自由發揮。更重要的是,項目從無到有,技術的因素佔的越多開發的時間越短,技術的因素佔的越少,項目的內涵更豐富更有價值,這並不矛盾,即使你的技術因素很少,但對於那些技術因素佔據很多的項目,或許你的技術成本比他們還要高。

而我的觀念是:用自己最熟悉最拿手的技術,去完成最多的功能,實現最終的效果。一味追求高技術含量是不對的,facebook的技術含量很高嗎?不是表現在使用先進技術上,而是表現在處理能力運行性能上。作爲網站開發的學習者,用掌握的技術去實現自己的項目纔是最關鍵的所在,任何異想天開的衝動,都會浪費你的時間和精力。

你可能要面臨的技術選擇:1、用什麼開發語言,2、是否使用ajax,3、用什麼操作系統,4、注重頁面表現還是注重運營和站內氛圍,5、使用什麼開發框架,6、使用什麼腳本框架,7、手機端開發...

我們所有的設想都建立在你單兵作戰或兩三個人小團隊作戰的前提下,哪一天你進了大公司,請忘記這一切,因爲你會發現那些工作看上去那麼簡單。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章