① 如何設計一個自己的前端MVC框架
對於一些中小型的web應用程序,為了縮短開發周期和降低開發和維護成本,往往會採用一種基本MVC開發模式的框架開發。現在市場上的開發傳統web頁面的JavaScript框架比較多,但是專門對移動應用程序的MVC設計模式的框架比較少。所以開發一套針對移動應用程序的MVC設計模盯衡式的框架還是很有價值的。參考傳統MVC設計模式框架,移動應用框架應該實現以下幾個方面:
MVC的分離
移動應用程序中,model,view,controller得到嚴格的分離,使得應用程序的結構和開發的思路更加清晰,程序的維護更加方便。
數據的更新
Model中的數據與View中數據的雙向更新,當Model中的數據發生變化時,View中的數據隨著發生變化,當View中輸入或修改數據時,Model的數據也會發生變化,省去開發者手動操作數據的變化,避免發生錯誤。
數據的格式化
當Model中的數據需要先格式化再顯示在view中的時候,可以先進行數據格式的轉化。
數據的驗證
當view中輸入數據或者是改變數據的時候,需要驗證數據時,可以先對數據進行驗證,當驗證通過時,才賦給Model中相應的數據。
頁面管理調度
實現各個頁面之間的調度,避免由開發者實現頁面調度而產生的混亂,同時也加快程序的開發速度。
框架的實現與程序的開發離不開JavaScript庫,目前的Javascript庫的形勢也比較尷尬,一方面是傳統的web頁面javascript庫的成熟,一方面卻是針對移動端應用設計開發web應用JavaScript的相對落後,雖然也有幾款優秀的,但是相對體積比較大,而且有時候出了問題也很難跟蹤,所以有必要開發一套專門針對移動端開發的JavaScript庫,使它具有靈活,小巧,功能完善的工具集和UI組件,幫助開發移動端應用的開發者快速工發並容易維護,所以具體需求有以下幾個方面:
事件的支持
DOM2級的臘褲事件使對DOM元素的操作起到了解耦作用,在程序開發的過程中,對程序對象之間的解耦的作用,在程序開發的過程中,對對象之間的解耦也是相當必要的,所以有必要做一個統一的介面,而事件是一個不錯的選擇,而且事件在MVC設計模式的實現中佔有很重要的地位,他既可以使Model,view,controller之間分離解耦,又使他們之間存在內在聯系。
插件機制
一個好的Javascript庫,他應該有自己的靈活完善的插件機制,不僅可以為庫的開發台提供方便,也應該為開發應用程序時提供方便,針對相同的功能開發插件,避免代碼的多次開發。
頁面管理
一個移動應用程序會有很多頁面需要分級管理,這是由移動辦公設備的特性決定的,面對多級與多個頁面,需要一種機制來管理各個頁面之間的關系才而已痛苦誤會頁面的載入時機與載入方法。
動畫的功能
使用移動設置性能的提升與大量移動應用的出現,使用戶對程序的選擇更多。如果程序不能更炫更苦的表現來吸引用戶,那他將難以進入市場,而動畫就是其表現手段之一,所以有必要為開發者提供一套實現動畫的方法,使開發者可以迅速開發能吸引用戶的動畫。
手勢的支持
隨著觸摸移動設備的普及與蘋果公司在它原生IOS應用程序中推出了手勢操作後,人們越來越喜歡這種交互方式了。為了適應這種潮流與提升程序的競爭力,在面向移動應用開發的JavaScript庫中添加手勢的支持是有必要的。
數據的通信
作為一個信息時候的應用程序,數據通信的功能是不可或缺的。雖然Ajax技術提供了數據通信的相應的介面,但是如果每一次的數據通信都要開發者去創建,調用相應的介面,會出現很重復的代碼,而且效率也不高,所以有必要對Ajax數據通信介面進行封裝。
數據的本地化
當應用程序與後台通信取得數據的時候,有些數據是需要保存在本地的,還有一些數據的狀態,以及一些經過運算得到的數據也是需要保留在本地的。這就需要提供一種數據本地化的介面
UI組件
開發者在開發應用程序的時候,常常會遇到一個功能相同的控制項在不現的輪則簡應用程序程序中都會用到,為了提高應用程序的開發效率,縮短開發周期,有必要把一些常用的控制項抽象出來形成組件,供開發者調用
屏幕的適配
隨著移動設備的不斷更新發展,設備屏幕的尺寸與解析度越來越多樣化,這便成了跨平台應用程序「一次開發,多處運行」的最大難題。所以有必要形成一_方案來解決這一問題。
總結
在這所有問題中,事件的擴展,插件機制,頁面的管理,MVC設計模式的實現不僅是重點,也是難點,它們的實現具有以下價值:
事件在web開發中應用已經很廣泛,不過它只有在相應的DOM元素上才有事件,而且MVC設計模式的實現需要事件的驅動,所以需要擴展DOM事件到普通對象上,使它們具有訂閱發布消息功能,且與DOM事件有相同的介面。
插件機制需要代碼的高度抽象化,它是UI組件實現的基礎,它的實現提高了代碼的重復使用。
頁面的管理,它把應用程序按業務邏輯分解為以頁面為單位進行管理,使程序的邏輯結構更加清晰,而且它為MVC框架中頁面的調度實現提供了基礎。
MVC設計模式的實現,即MVC框架的實現,對應用程序開發周期的縮短,開發成本的降低,應用程序後期的維護都會有很大的幫助。