1. 程式人生 > >Backbone.js選型使用分析

Backbone.js選型使用分析

    Backbone是一款很不錯的輕量級的提供前端MVC模型程式設計的解決方案,其提供的Model,View,Controller等介面可以幫我們很清晰的從一大堆海量程式碼中解脫出來,Backbone本身就體積很輕有個4K-5K的樣子,依賴也很少,只有一個underscroe,裡面提供了一大堆陣列操作還有模板解析的函式。

    我目前也在重構整個前端的程式碼,之前的程式碼因為公司初創的緣故,在寶貴的短期時間內要求上線的情況下,對模組劃分是有一定欠缺的,部分程式碼還只是簡單的面向過程程式設計的形式,考慮到日後公司第二階段擴充套件的緣故,我目前要求用2周的時間把前端程式碼重構一番,其中就考慮過用Backbone.js,但經過前端系統預估後發現,用backbone對我們的工作可能並不會帶來多大的好處。

    之前我可能會認為,有一個已經為你整理好模組形式的框架幫你去做你想做的重構不是很好嗎,看起來是這樣,但也要與公司業務還有系統規模結合起來,就像我的前端系統這樣,我已經考慮到近10年的全部業務需求了,但總體系統來看是還不會到用backbone的地步,系統比較小,不會無所止境的擴大,單獨把一些重用模組和業務模組抽象成物件,然後藉助包管理和名稱空間管理方式就完全可以解決我現在的問題了,用Backbone除了讓我的程式碼跟多以外,實際上投入是大於產出的,公司擴招前端工程師以後,他們還要去了解Backbone怎麼用,寶貴的時間顯然又花費了很多,況且MVC是一種思想上的概念,如果把M V C劃分清楚後,完全可以通過規範來自己形成這種思想架構,這樣讀起來也很容易,開發速度也會比較快,因為有了統一的模式規範,日後的管理也會容易,又因為使用requireJs來管理模組依賴,是可以應付這種情況的。

   所以我想表達的是,backbone的使用對於複雜的大型前端系統設計是一塊瑰寶,但對於小步快跑的小型公司未必適合,所謂選型還要結合業務走為妙。

相關推薦

Backbone.js選型使用分析

    Backbone是一款很不錯的輕量級的提供前端MVC模型程式設計的解決方案,其提供的Model,View,Controller等介面可以幫我們很清晰的從一大堆海量程式碼中解脫出來,Backbone本身就體積很輕有個4K-5K的樣子,依賴也很少,只有一個underscr

Backbone.js原始碼分析(珍藏版)

// Backbone.js 0.9.2 // (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. // Backbone may be freely distributed under the MIT license.

Backbone.js入門學習筆記目錄

href web back mode 應用 bookmark hello www col //來自 https://www.the5fire.com/backbone-tutorials-catalogue.html 1、初識backbone.js 2、通過hello

js prototype分析

分享 proto nbsp height 2-2 idt ima 技術 wid js prototype分析

Python-關於豆瓣發布“說句話”,添加網頁等的js行為分析

方法 blog 為我 png lin 註意點 douban tom line 想做個利用Python發布豆瓣“說句話”的工具,目前我已知的有兩種方法: 用Python驅動一些無界面瀏覽器phantomjs(因為我沒用Chrome),直接模擬發狀態的行為。 按F12分析網頁

Js分析遞迴

遞迴 相信在數學中很常見這個概念,實際在程式設計中也很常見這樣的思維。遞迴通俗的來說,就是通過不斷的將當前問題進行分解,向前追溯直到終點然後再反推求解的過程。 通俗解讀 案例一 :看電影不知道在第幾排 看電影時不清楚自己在第幾排,可以通過問前一排的人來得知,進行加1即可。那麼用遞迴的思路求解程式碼就是

Egg.js 原始碼分析-專案啟動

前言 前端時間抽出時間針對Koa2原始碼進行了簡單的學習,koa 原始碼是一個很簡單的庫, 針對分析過程, 想手把手的實現一個型別koa 的框架,其程式碼, 根據一步步的完善實現一個簡單版本的Koa, 每一個步驟一個Branch , 如: stpe-1, 對應的是我想實現第一步的程式碼, 程式碼僅供自己簡單

Gulpfile.js任務分析

//引入gulp const gulp = require('gulp'); //自動載入配置檔案中的已安裝外掛,不需要一個一個require(package.json中宣告的依賴) const gulpLoadPlugins = require('gulp-load-plugins');

js詞法分析

javascript詞法分析 函式在執行的瞬間,生成一個活動物件(Active Object),簡稱AO; 具體分為兩個階段: 一.分析階段 JavaScript程式碼執行前有一個類似編譯的過程即詞法分析,詞法分析主要有三個步驟:   1.分析引數

backbone.js 教程(1) View & Model & Collection

Backbone.js Overview 它由Jeremy Ashkenas開發,最初發行於2010-10-13 它是一個輕量的JavaScript類庫,只依賴於underscore.js,非強制依賴於jquery,大小隻有7.6Kb,作為一個框架級的js檔案,它已經非常小了 它提供了Mode

訊息中介軟體選型分析 —— 從 Kafka 與 RabbitMQ 的對比來看全域性

一、前言 二、各類訊息佇列簡述 三、選型要點概述 四、訊息中介軟體選型誤區探討 一、前言 訊息佇列中介軟體(簡稱訊息中介軟體)是指利用高效可靠的訊息傳遞機制進行與平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合。通過提供訊息傳遞

關於view.js和Service.js程式碼分析

關於require.js中的require和define的問題 基礎知識:http://www.runoob.com/w3cnote/requirejs-tutorial-1.html 關於baseURL配置:https://www.cnblogs.com/lcngu/p/5712098

Migrating from Backbone.js to React.js without losing it

Migrating from Backbone.js to React.js without losing itIn this article I will share our experience as a team of migrating from old code and libraries to s

Backbone.js簡單入門範例

Backbone.js已經很古老了,在Angular.js大行其道的今天,我們公司居然還在用Backbone。。。【哭笑不得臉】 這篇文章寫的非常淺顯易懂,一步一步教你如何使用Backbone.js,特此轉過來收藏 11年剛開始用

【前端框架】Backbone.js在大型單頁面應用中的應用實踐

Backbone.js是什麼? Backbone.js是一個JavaScript MVC框架,提供了良好的程式碼組織能力,可以方便地將應用程式解耦成可以複用的部分,為建立大型的單頁面應用提供框架支援,目前的版本是0.9.10(注:現在已到1.2.1版本)。通過將應用程式分解成MVC模式中不同職責的模組,

axios.js 原始碼分析

axios.js 原始碼分析 axios.js --> Axios.js --> InterceptorManager.js --> dispatchRequest.js --> transformData.js --> adapters axios 為什麼可以在瀏覽器

Chrome-逆向分析JS-1分析google網站翻譯器原文存放位置

劇透:就是使用了一下Chrome DevTools的Memory功能,通過已知的JS變數的值查詢JS記憶體中變數的引用 # 一:不分析一下現有的網頁翻譯方法麼? 總所周知,(As is well known to us all,)谷歌的網頁翻譯很強大,根據我的使用經驗谷歌有五個途徑進行網頁翻譯: 1. 使用C

訊息中介軟體選型分析——從Kafka與RabbitMQ的對比來看全域性

本文收錄於InfoQ,未經允許不得轉載。 一、前言 訊息佇列中介軟體(簡稱訊息中介軟體)是指利用高效可靠的訊息傳遞機制進行與平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合。通過提供訊息傳遞和訊息排隊模型,它可以在分散式環境下提供應用解耦、彈性伸縮、

微信公眾平臺的登陸密碼js加密分析及Python實現

微信公眾平臺作為騰訊的一個重要產品,在登陸密碼上的加密顯得簡單只是密碼的md5加密,但是他的重點防護是在微信掃碼登陸。 首先開啟控制檯抓個包: username:[email protected]pwd:f379eaf3c831b04de153469d1bec345e

很詳細的JS底層分析

言 準備 如何嵌入網頁? 寫在網頁中 在連結上使用偽協議 使用獨立的js指令碼 語言核心 關於分號 輸出Html最簡單的方式 alert : 彈出視窗,除錯必備 命名規則 基本型別 字串 十六進位制 浮點 特殊常量 布林值 基於物件 建立 建構函式 成員函式