思考:用開發移動app的觀念來開發網站

首先祝你們新年快樂。萬事如意。前端

 

開發網站程序也有一些年頭了,從最初的靜態HTML+ JS,到後來的WebForm,而後過渡到如今的MVC。程序員

因爲最近作一些技術調研,也接觸了不少移動開發,iOS和Android的東西也知道點,會作一些簡單的app。數據庫

作移動app作多了,再回頭看網站開發,我開始懷疑,咱們到底需不須要ASP.NET MVC這樣的框架?後端

網站的本質就是 HTML + CSS +JS + HTTP(TCP/IP)協議 + 能夠響應HTTP協議的服務器。前端框架

移動app的本質是 移動UI +  HTTP(TCP/IP)協議 + 能夠響應HTTP協議的服務器。服務器

其實,他們沒有多少本質區別,因此,如今各類 Hybird App 大行其道。微信

 

咱們常常說,先後端分離,真正操做的時候,或多或少都會違反這個原則。app

在真正作好一個先後端分離的系統,其實能夠強迫這個系統現實 移動app和網站共享的功能。框架

若是一開始的目標就是移動網站共享內容,則設計的時候,就是圍繞REST的API開始的,而不是先後端雜糅的Razor的設計。前後端分離

對於一些老的程序員,習慣MVC的人來講,必然會有些反感,畢竟傳統的作法,開發效率很是高,一個小型的網站,能夠用小時來計算開發時間。

若是改用新的方法,頁面和服務器只是經過AJAX來通信,則很是考驗前端的水平。

AngularJS 或者 ReactJS這樣的框架雖然不是必須的,可是若是能夠的話,在深刻理解的前提下,可使用。

WebPack,Gulp,Nodejs這些東西,也會隨着AngularJS,ReactJS的引入而進入工做範圍以內。

 

這樣作的結果就是 MVC裏面,

V徹底在前端,這個毫無疑問

數據庫關聯的業務邏輯M徹底在服務器端(購物車計算總價格,複覈,扣款),前端也會處理一些簡單的業務邏輯(購物車計算總價格,只是初步計算,不做爲服務器處理憑證),

C的話,基本上變得極其薄了,被Angular或者React和他們的衍生品取代了。或者說,C的話,變成了前端的C和後端的C。

 

MVC的核心功能:路由,數據和表單綁定,數據驗證

數據驗證,TypeScript(強數據類型),ES6(完整正則功能)均可以處理了。本來MVC也是靠JS+特性標籤作到數據表單驗證的。

如今的前端也開始慢慢引入強數據類型的概念了。React框架的prop也是支持強類型的。

數據驗證,Razor基本上能夠徹底被前端框架取代了,(固然,微軟在模板上曖昧的態度也值得吐槽一下,Razor以後又推出智能標籤(MVC6),本來以爲模板應該像後端,如今以爲模板應該像前端)

路由卻是一個我不熟悉的領域,不發表意見。

 

未來的網站開發,在大數據和愈來愈成熟的各類服務的幫助下,可能核心價值會發生很大的變化。

之前咱們須要作一個登錄,註冊的頁面,如今能夠直接用微信,QQ,微博進行註冊和登錄了,這些功能能夠簡化了。

像博客園這樣的網站,UGC,各類現成的UGC能夠直接拿來使用,各領域的內容管理系統,內容的數據挖掘,內容分析,UGC到知識庫的整理將變成UGC網站的核心價值。

一個UGC網站的價值不只僅是提供寫做平臺,而是如何經過大數據手段,提煉數據中的內容,分類,整理,自動摘要和歸檔。

若是作不到這一點,即便之後界面再漂亮,也是一個除了用戶和文章,什麼都沒有的網站。

 

 

相關文章
相關標籤/搜索