駁HTML+CSS+JS就是MVC組合

來源:互聯網
上載者:User
  今天看到某位童鞋的筆記,提出了一個HTML + CSS + JS就是一個MVC 的觀點,大意就是由HTML提供資料模型,CSS負責視圖顯示,JS來總管邏輯控制,列舉了將一部分HTML寫在JS中到用時還是需要copy CSS十分不便捷,還附帶一句"前端不像後台那樣能夠一門語言吃天下",筆者不敢苟同,拿出一些看法供君判斷一二.

 

第一:
    後端沒有一語言定天下.相比前端的多瀏覽器.後端還是非常多的領域語言必須掌握,多個平台的區別(不是瀏覽器),語言上T-SQL訪問資料庫,shell管理伺服器,而多個業務平台互動更是交融反覆(筆者常使用的Python調用C模組只是一個小例子,為什麼XML曾經被寄以眾望. Web Service不正是為瞭解決這種跨平台的工具麼)
第二:
    HTML絕不僅僅只是Model.還有多的視圖成分在裡面.HTML在很長的一段時間裡都被人詬病,因為包含的內容太多,CSS,JS,圖片甚至Flash,Java app…不能不說混雜.即便如今html5也改變不了他的視圖身份,這裡要注意:瀏覽器是解析HTML來產生頁面的,而不是CSS,HTML由於包含太多,所以不能僅僅作為模型存在.
    前端也不一定非要往MVC裡硬套.而且MVC本身存在很多問題,諸如結構不靈活,銜接不緊密等等.所以又會有MVP,MVVP等多個拓展模式.需要注意的一點,MVC提供給我們最基礎的是一種分層思想,而不是固定不變的視圖模型和控制器.
    比HTML+CSS+JS更MVC的應該是XML+XSL+XPATH,這套組合才是完全的MVC.CSDN就是使用的這套.
第三:
    將部分功能獨立出來時,猶豫HTML本身包含太多,所以還是會碰到又要copy CSS, JS之類的.

     我曾經也碰到過,那時我的解決方案是全部動態載入,使用JS.益處是完全作為了一個獨立的模組,引入js就可以了,弊處就是所有修改都在JS總以字串的形式修改,沒有IDE的輔助略顯麻煩,但是他們(HTML,CSS,JS)誰又不是能任意編輯的字元呢?

相關文章

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.