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

來源:互聯網
上載者:User

標籤:

首先祝大家新年快樂。萬事如意。

 

開發網站程式也有一些年頭了,從最初的靜態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和網站共用的功能。

如果一開始的目標就是移動網站共用內容,則設計的時候,就是圍繞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網站的價值不僅僅是提供寫作平台,而是如何通過大資料手段,提煉資料中的內容,分類,整理,自動摘要和歸檔。

如果做不到這一點,即使以後介面再漂亮,也是一個除了使用者和文章,什麼都沒有的網站。

 

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.