單頁Web利用程序:
單頁利用(Single
Page Application)愈來愈受web開發者歡迎,單頁利用的體驗可以摹擬原生利用,1次開發,多端兼容。單頁利用其實不是1個全新發明的技術,而是隨著互聯網的發展,滿足用戶體驗的1種綜合技術,更大有吹捧者。
這類技術近幾年隨著移動真個大熱也漸漸升溫,BackBone,Angular等前端框架興起,結合NodeJs,使得前后端語言同1,前端開發可以兼容后端開發等等,并有替換前幾年1統天下的jQuery趨勢。
jQuery的缺點其實非常明顯,臃腫和保護性差。
這里推薦1篇文章:http://www.angularjs.cn/A0bz
確切,前端框架非常誘人,不過也有著致命的缺點,SEO問題,要知道,搜索引擎屆領跑者Google在Ajax爬取方面還沒有獲得突破性的成績,更別提國內競價排名的百度了。
Ajax爬取也稱為暗網爬取,爬蟲需要很復雜的算法支持,而單頁眼前端和后真個連接也基本上通過ReSTful Api,ReSTful Api最近幾年的流行程度大家也是知道的了,大家選擇ReSTful Api的緣由之1多是“ReSTful Api對搜索引擎友好”,但據我所知,國內的百度對ReSTful Api的支持尚不及傳統的Web風格(呵呵1笑了)。
所以,當你選擇了單頁眼前端利用的時候,里面的內容基本上是很難被搜索引擎獲得到的了,單頁眼前端做信息和展現的想法基本上可以否決掉,商業上的利用也是不用想的了,也許可以做1個功能,不過像Angular這個高度封裝的框架對這樣的構想不太支持,所以可能又會回到jQuery的線路。
但是,單頁面利用對移動真個響應式支持又10分誘人,不想放棄,而且單頁面利用的前端效果也非常理想。
也許可以用1種取中的方法,傳統前端與單頁眼前端結合!
不過這類想法很快就被我自己否決掉了,例如J2EE平臺,用Jsp或velocity做view層,再耦合Angular,由于Jsp和velocity屬于模板系統的范疇,${}等等標簽,遇到angular的{{}}會不兼容的,必須轉義,python平臺的Django框架也1樣,造成代碼的混亂,可保護和可讀性非常差。
就我個人覺得,單頁面利用和模板前真個結合,是1個Bad Idea!