標籤:
說實話,自己對於web前段的認識並不是太深入,但是因為項目的需要,所以有的時候肯定會需要接觸到web前段的知識點。說到web前端想必大家肯定會想到css+js+html,的確web前端的工作,從某總角度來說就是給頁面添加必要的一些頁面樣式來達到美化的效果。我們先來說一說css吧,一種樣式語言,它允許我們通過給頁面html標籤添加一定的屬性功能,從而達到美化的目的。在css樣式書寫的時候,允許我們定義三種類型的css樣式:1.class樣式;2.屬性樣式;3.id樣式;其實這三種樣式的作用是一樣的,但是使用範圍的便捷性方面就會差很多。當我們覺得一個html頁面裡面冗餘的樣式太多的時候,我們可以將相同的css單獨抽離出來,這個時候將會一種外聯樣式的情況。我們可以在html的header標籤裡面通過link屬性進行css的外聯。你可以會覺得這還真有點物件導向編程的屬性一樣,可以很方便的實現抽象封裝。但是這種情況下,極有可能會發生頁面渲染太慢的問題。因為瀏覽器的渲染引擎的機制就是這樣的,當它從上至下開始渲染的時候,遇到link屬性的時候,瀏覽器就要阻塞當前頁面渲染的動作,開始外部樣式表的載入。當外聯的css載入完成之後,瀏覽器才會開始後面的html頁面渲染的動作。那麼js呢?在整個web前端啟動一個怎樣的目的呢?很顯然js是出於一種最核心的位置。假如將css比作繪製html頁面的畫筆的話,那麼我們就可以將js比作以為美術指導老師,css繪製的過程中,js可以動態指揮它應該怎樣做?不僅如此,js還可以啟動前端頁面的資料請求作用,將請求回來的資料無重新整理的展示會html頁面。所以有的時候,如果我們想要很好地html頁面效果,只要你具有很好地css+js運用技術,那麼你就能做出非常cool的html頁面。
有的時候,我自己認為css+js學起來應該是非常簡單地一門技能。因為它就是那種即學即可用的東西,可是它確實非常的麻煩。但不是說它裡面會有多麼高深的演算法問題,而是因為東西煩複,還有各種瀏覽器的相容問題。那麼有沒有一種很好地架構能夠幫我們很好地完成:頁面資料無重新整理展示、請求發送、css樣式的動態更改呢?我想angularjs就能夠很好地滿足你的要求。angularjs最大的特點是什麼呢?基於單頁面無重新整理的app/controller兩套js的模組化前端編程。運用angularjs,我們可以很好地組織自己的js指令碼,同時背景基於$scope範圍的js變數可以很好地更新到、關聯到前端頁面。好了,angularjs已經很好地解決了我們html到js的問題,然後呢?我們是不是就應該考慮js到後端代碼的處理邏輯了。你想如果後端語言是java的話,那麼我們就需要通過js將html頁面裡面展示的資料發送到後台java代碼裡面,同時呢?我們還需要將後台java代碼響應的資料放回到html頁面。中間從js到java語言的一種跨度,那麼有沒有一種很好地方法,同時保證前端和後端都是同一種語言呢?答案就是nodejs,通過nodejs我們可以很好地將前端和後端統一成js語言。這將是一種很好願景了,這麼一來只要我熟悉js,是不是意味著我前後端都可以同時進行開發了?是不是項目的開發成本就可以降到很低了。原來至少需要兩個人才能夠做的事情,現在我找一個懂設計的web前端,理論上來說都可以幹了。通過nodejs,大型的商用項目我沒有測試過,但是中小型的項目肯定是沒有問題的。而且開發效率是非常高的,我曾經就通過nodejs用了一周的實現就實現了類似於豆瓣讀書模組的二手書平台,雖然功能、設計各方面還不太完整,但是勝任高強度的開發需求是絕對沒有問題的。說道這裡,你也許會覺得奇怪了,通過js我能夠連上資料庫嗎?我能實現資料的持久化儲存嗎?答案是肯定,因為資料庫連接主要依靠的就是資料庫驅動了,接入我資料庫驅動就支援js語言串連,那麼不會可以了嗎?
現在針對大資料平台,出現了一種nosql的概念,我想後端開發的同志肯定是不陌生的。問什麼會提出這麼一種概念呢?主要是現在這個時代背景下,資料資訊量實在是太大了,如果我們還是運用傳統意義上的關係型資料庫儲存資料的話,一個是現實世界裡面的資料資訊不一定都是那麼的具有規則性、關聯性。另一種通過關係型資料庫進行資料讀取操作的時候特別的費勁,而且讀出來的資料格式我們還需要進行另一層面的處理才能夠滿足我們的項目使用需要。所以面對這樣一種情境需求,就出現了nosql的意思:not only sql。我們可以直接將資料按照更加接近現實世界的情境習慣去儲存資料,比如現實世界裡面的一個人,我們會說這個人叫什麼、多大了、男的女的、住哪、帥帥、漂不漂亮等。如果這種情況下,我們按照關係型去儲存的話,就可能將上面的資訊拆解成一個一個的欄位。可是呢?運用nosql,我們就可以直接一個json格式的資料儲存進去,這條json格式的資料,就包括了你這個人。讀取的話,我直接找到這條資料即可,不需要這個表連查一下,那個表連查一下。
在nosql的眾多資料庫產品裡面,我想mongodb應該是運營最多、比較成熟穩定了吧。
現在我們可以再試想一下,如果有一款基於h5或者或者中小型web網站的項目,我們運用這三劍客去開發,該是一種怎樣的享受體驗呢?有的時候不到一周時間,可能項目就成型了。成本之下,可想而知!
angularjs+nodejs+mongodb三件套