亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

對Web開發中前端框架與前端類庫的一些思考

2019-11-20 12:51:03
字體:
來源:轉載
供稿:網友

說起前端框架,我也是醉了。現在去面試或者和同行聊天,動不動就這個框架碉堡了,那個框架好犀利。

  當然不是貶低框架,只是有一種殺雞焉用牛刀的感覺。網站技術是為業務而存在的,除此毫無意義,框架也是一樣。在技術選型和架構設計當中,脫離網站業務發展的實際,一味的追求時髦新技術,可能會適得其反,將網站發展引入崎嶇小道。就好像一個日均pv只有幾百的小型電商網站,卻要大喊“某寶就是這么搞的”,然后搭建應用服務器集群,使用分布式文件系統和分布式數據庫系統...等巴拉巴拉的一堆用來處理高并發,海量數據訪問的手段。我想說,有意義嗎?

前端框架的理解誤區

  網站的價值在于它能為用戶提供什么價值,在于網站能做什么,而不在于它是怎么做的,所以在網站還很小的時候就去追求網站的架構框架是舍本逐末,得不償失的。前端框架同理,如果是一個簡單的頁面型產品,應用只是依賴服務器來生成Web頁面和視圖,并且只需要使用一些簡單的Javascript或者JQuery來使應用更加具有互動性,那么一個JQuery前端類庫就可以了,真的沒必要用上一些高大上的框架。

  當然,框架的確是很有用的,重點是我們要知道什么時候該用什么框架。大公司大項目的經驗和成功模式固然重要,值得學習借鑒,但我們不能因此變得盲從。只有深刻去理解前端框架,知道什么時候該用什么什么框架解決什么問題,才能有的放矢,直擊要害。

前端框架與前端類庫的區別

  使用框架前,我覺得很重要的一點是弄清類庫(諸如JQuery)和框架(諸如angularJS)的區別在何處。

  簡單而言,類庫,解決的是代碼或者是模塊級別的復用或者對復雜度的封裝問題,例如將一個解決復雜問題的功能模塊封裝成一個函數,提供一個簡單的接口。庫它是一種工具,它提供了很多封裝好的方法,用與不用取決于我們自身,即使用了也不會影響我們呢的代碼結構。

  而框架,更多的是對模式級別的復用和對程序組織的規范。這里的模式是指比如MVC,為了實現M和V的解耦,把復雜的耦合關系由經常變化的業務代碼轉移到不經常變化的框架內部消化。是面向一個領域來提供一套解決方案,提高開發效率,如果我們選擇了使用某框架,就應該遵循該框架所規定的規則。

  二者最主要的區別是:JQuery以DOM操作為中心,框架,準確來說是MVC框架,是以模型(model)為中心,而DOM操作是附加的。所以,以模型為中心最終達到的目的是帶來一整套工作流程的變更,使得后臺工程師可以編寫前端的模型代碼,把后臺與前端打通,交互設計師處理UI跟模型的互動關系,UI設計師可以專注、無障礙的處理HTML源碼,把它們以界面模板的形式提交給交互工程師。這一整套協作機制能大大提高開發效率。使用MVC框架使得前端任務更好的被解耦。

前端MVC框架思想

  我們知道,傳統的MVC模式將一個應用劃分為――模型層(model)、視圖層(view)、控制層(controller)。他們在應用系統中擔當不同的角色,完成不同的任務。

Model:即數據模型,用來包裝和應用程序的業務邏輯相關的數據或者對數據進行處理,模型可以直接訪問數據。

View:視圖用來有目的顯示數據,在視圖中一般沒有程序上的邏輯,為了實現視圖上的最新功能,視圖需要訪問它監視的數據模型。

Controller:控制器調控模型和視圖的聯系,它控制應用程序的流程,處理事件并作出響應,事件不僅僅包括用戶的行為還有數據模型上的改變。通過捕獲用戶事件,通知模型層作出相應的更新處理,同時將模型層的更新和改變通知給視圖,使得視圖作出相應改變。因此控制器保證了視圖和模型的一致性。

我對前端的View的理解是,與頁面上元素直接相關的部分都屬于View。包括html,CSS和一部分直接控制頁面元素的JS。可以從Model中得到數據,并將其顯示到頁面上。而關于數據的變更與請求,則統統交給Controller處理。

  那么Controller呢?作為Model和View的粘合劑,Controller將View方面的請求轉發給合適的Model,在必要時也會去更新View。而Controller本身也可以作為Model的觀察者,獲取Model的變更。而作為Controller本身,就不應該有涉及到頁面元素的代碼了。

  最后談談Model,與后端的溝通、AJAX請求以及對數據的處理都屬于Model的工作。Model本身不知道誰是View,誰是Controller。它只提供一些方法供View和Controller調用,并且將變更通知給它的觀察者View或Controller。顯然,Model與頁面元素之間也解耦了。

  雖然基于MVC模型的框架之間也有很多不同之處,但是總體而言,Model負責保存vier需要的數據以及數據處理邏輯,例如讀寫,更新,刪除,驗證,轉換等。View負責接收并顯示Model提供的數據以及接收用戶的輸入,并且響應事件,Model更新后及時將更新反饋回用戶。Controller處理業務邏輯和事件邏輯。

知己知彼,對癥下藥

  在前端框架和類庫越來越豐富的今天。選擇一款對的框架或類庫就顯得尤為重要了,我覺得沒必要盲目跟風,看見什么框架火就屁顛屁顛跑去啃一個星期,然后因為項目工作上用不到,幾個月之后又全忘光了。

  所以我覺得重要的是把基礎打扎實,重點是去了解各個類庫與框架的作用,某類框架著重用于解決什么問題,然后在項目需要用到時候再去研讀API才是上策。

  最后,我們要清楚MVC在前端開發中的應用具有的局限性,簡單的項目如果使用MVC框架會可能導致項目變得更加復雜。當然隨著Web前端的復雜度不斷增加,前端MVC框架的不斷發展,相信在未來的應用軟件類復雜產品當中,MVC框架一定會給前端工作帶來效率上的飛躍。

  以上只是我對前端框架和類庫一些淺顯的認識,不喜勿噴,更希望您能提出更好的學習框架和類庫的方法。共同進步,共同學習。

  文中若有技術層面的錯誤還請斧正,誤人子弟實乃罪過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区二区久久国产| 亚洲美腿欧美激情另类| 精品视频在线观看日韩| 国产日韩亚洲欧美| 国产精品久久久久一区二区| 午夜精品理论片| 亚洲国产精品嫩草影院久久| 国产福利视频一区| 精品国产31久久久久久| 精品久久香蕉国产线看观看gif| 久久久久久久一区二区三区| 亚洲国产精彩中文乱码av在线播放| 中文字幕日韩欧美在线视频| xxav国产精品美女主播| 中文字幕日韩av综合精品| 日韩欧美在线一区| 欧美疯狂xxxx大交乱88av| 久久电影一区二区| 国产精品在线看| 亚洲欧洲自拍偷拍| 亚洲风情亚aⅴ在线发布| 亚洲综合中文字幕在线观看| 国产精品69久久| 2018日韩中文字幕| 亚洲成人激情图| 日韩欧美一区二区三区| 九九精品视频在线观看| 欧美一级高清免费播放| 日韩**中文字幕毛片| 精品毛片三在线观看| 国产精品极品在线| 欧美激情一区二区久久久| 欧美另类精品xxxx孕妇| 亚洲福利视频网站| 成人中心免费视频| 亚洲国产精品久久久久秋霞不卡| 91免费国产视频| 最近2019年手机中文字幕| 久久九九精品99国产精品| 最新69国产成人精品视频免费| 欧美在线观看网址综合| 成人免费看吃奶视频网站| 狠狠躁天天躁日日躁欧美| 激情懂色av一区av二区av| 亚洲一区二区三区视频| 亚洲国产一区二区三区在线观看| 国产日韩欧美在线看| 国产精品一区二区性色av| 亚洲新声在线观看| 国产91色在线| 国产精品爽爽爽爽爽爽在线观看| 国产亚洲一区二区精品| 欧美精品在线观看91| 亚洲免费电影在线观看| 一道本无吗dⅴd在线播放一区| 国产精品免费在线免费| 国产精品色悠悠| 欧美高清一级大片| 国产成人精品一区| 久久久女女女女999久久| 2019最新中文字幕| www.日韩系列| 国产精品中文在线| 国产精品久久999| 国产精品日韩久久久久| 亚洲成年网站在线观看| 久久在线免费观看视频| 亚洲www视频| 亚洲www永久成人夜色| 亚洲欧美另类中文字幕| 97久久精品人人澡人人爽缅北| 国内精品久久久久久久久| 日韩国产激情在线| 日韩禁在线播放| 97精品在线视频| 欧美黄色www| 国产69精品久久久久久| 欧美人在线视频| 美女999久久久精品视频| 日韩一区二区三区xxxx| 欧美性猛交xxx| 不卡av电影在线观看| 97精品一区二区三区| 亚洲一区中文字幕| 一区二区欧美在线| 日韩在线观看成人| 欧美成人精品在线| 国产精品69久久久久| 国内精品小视频在线观看| 欧美午夜激情在线| 日韩av综合中文字幕| 全色精品综合影院| 日韩av在线资源| 欧美日韩电影在线观看| 欧美亚洲在线播放| 日本国产一区二区三区| 日韩精品在线观| 欧美多人乱p欧美4p久久| 性色av一区二区三区在线观看| 性色av一区二区三区红粉影视| 亚洲精品综合精品自拍| 国产精品一区av| 久久久久久久国产精品视频| 色婷婷综合久久久久中文字幕1| 亚洲第一页自拍| 91九色精品视频| 国产91精品网站| 国产亚洲精品日韩| 国产日韩欧美黄色| 九九九久久国产免费| 日韩激情视频在线播放| 久久影视电视剧免费网站清宫辞电视| 欧美肥臀大乳一区二区免费视频| 欧美亚洲国产成人精品| 久久久久久伊人| 亚洲乱码一区二区| 91精品国产综合久久香蕉| 91久久久久久国产精品| 欧美人与物videos| 久久韩国免费视频| 亚洲一区二区三区香蕉| 亚洲国产三级网| 国产精品美女在线| 午夜欧美大片免费观看| 国产在线一区二区三区| 日本欧美黄网站| 成人高清视频观看www| 日韩h在线观看| 一区二区三区高清国产| 青青草国产精品一区二区| 成人h视频在线| 在线观看日韩av| 97国产精品久久| 国语自产偷拍精品视频偷| 不卡中文字幕av| 亚洲精品天天看| 欧美午夜精品久久久久久浪潮| 久久伊人精品视频| www.久久久久| 欧美午夜影院在线视频| 亚洲福利视频在线| 日韩欧美a级成人黄色| 国产99久久精品一区二区永久免费| 国产经典一区二区| 国产精品美女主播| 狠狠久久五月精品中文字幕| 欧美日韩国产中字| 91精品国产91久久| 久久精品视频播放| 成人精品在线观看| 久久99久国产精品黄毛片入口| 欧美小视频在线| 亚洲综合成人婷婷小说| 91色精品视频在线| 成人中文字幕在线观看| 在线视频免费一区二区| 免费91麻豆精品国产自产在线观看| 欧美极品少妇与黑人| 精品日韩美女的视频高清| 成人免费网站在线| 91热精品视频| 91香蕉嫩草神马影院在线观看| 91精品国产91久久久久久久久| 91欧美视频网站|