發佈了smartjs後,有朋友問:「沒看懂到底是幹嗎的」。唉,打擊了,每次我都想高唱其實你不懂個人心。前端
今天把相關的東西都整理了一遍,給你們介紹一下。裏面絕大多數都已經實現過,有些則是有新的思路重作或者是增強。哈哈,應該也算不上從新造輪子,jquery
這幾年一直在之前端顧問的身份外包給國內某大型h公司作企業級的框架,而後提供給h公司內部項目使用。先後經歷過三個這樣項目,都是擔任前端架構師,其中一個是移動web類,是支援過去的,沒有深刻,搭了個架子子就被拉回原來項目。只惋惜該公司沒有開源的文化,因此不少東西都沒法分享出來。git
同時,我本身的smartui2.0的內容也籌備的差很少了,因此順勢就在框架上面引入了很多smartui2.0思想和實現。而由於項目的忙碌,我本身的smartui2.0卻進度緩慢。github
今年,之前作的框架在h公司使用率很是搞,獲得不少好評,同時頗有意思的東西也搞的差很少了,而後…………,就沒有而後了。h公司結構調整,框架與另一個合體,又要從新搞出一個高大上的cloud app engine.web
藉此機會,我恰好把一些新的思路和以往作的東西都梳理了一遍,這就有了smartjs。編程
是一個js庫,提供了一些前端開發支持,作的事情與jquery,zepto這些基礎庫不重合,而是補充. 主要提供了一些(aop,promise,oop,lifecycle)編程方式的輔助和一些數據的管理控制,提倡以鬆耦合,注入,插件式開發。目前版本基於Jquery,後續會提供獨立版本。promise
Smart系列是指的基於Smartjs而實現的前端產品,有mvvm框架,web ide等等架構
搭架子,封裝一些特有的東西。引入有用的第三方庫。mvc
全部系列都是一套體系。但同時每塊也都保持獨立。每塊也都是模塊化的。app
aop,promise,oop始終貫穿。
模型驅動,從建模 - ui - service - db
(…………還有些高大上的詞不記得了,就不咧了)
就是目前發佈的smartjs的內容。完成了aop,oop,dataManager的第一版;util則是部分;
基於模型驅動的mvvm引擎。之前是mvc如今實現爲mvvm;
ui庫的封裝策略是創建一個widget工廠,使用feature應用公共特性,使用plugin作擴展。由於ui的控件會比較多,前面都會以引入一些第三方的控件爲主,而後統一出入口。
輔助開發的工具庫,定位錯誤,日誌注入,調試管理等;
一個Web IDE;
這個不屬於smartjs的內容,是我一個同事(陳大師)力做。一個後臺的開源項目。是經過前端圖像配置來生成服務的引擎。到時會與smart的designer結合,提供完成的設計器功能。
——————————————————————————————————————————————————————————————————————————————————————————
就介紹到這,還有一些細節和其餘的模塊不是特別重要就沒列在裏面。一不當心又畫了個又圓又大的餅,不知道很年何月才能得償所望。如今白天基本抽不出時間來弄,所有都是業餘時間。按這個節奏是計劃是在十一以前把smartjs核心庫完成和第一版smart-mvvm。
另外文章的排版很爛,沒時間詳細整理,請各位見諒。