F.A.B IoT原型設(shè)計(jì)踽踽獨(dú)行

Flask Web Design的作者M(jìn)iguel說,許多Web框架可能集成度雖然高岖寞,但是一旦開發(fā)者的需求與框架設(shè)計(jì)者設(shè)定的方案相悖拴念,則會(huì)感覺非常痛苦类垦。而Flask是一個(gè)靈活的框架,可以自由選擇其中的組件蹂匹。

使用F.A.B設(shè)計(jì)過一段日子了碘菜,可以至少歸納出幾點(diǎn):

  1. F.A.B基于Flask,集成了許多額外組件限寞,如sqlalchemy忍啸,oauth等;
  2. F.A.B底層設(shè)計(jì)中履植,將Model/View緊密結(jié)合计雌,但是Controller部分,即Model/View整合的“glue”部分給開發(fā)者留下的余地較少玫霎。
  3. F.A.B最簡(jiǎn)設(shè)計(jì)只需要設(shè)計(jì)數(shù)據(jù)庫表格(Model)凿滤,界面View部分也是從Model部分自動(dòng)生成的資源列表妈橄、相關(guān)資源列表和細(xì)節(jié)。
  4. 開發(fā)一個(gè)Admin的管理界面翁脆,的確可以在幾百行代碼以內(nèi)完成眷蚓。
  5. IoT原型與傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用中,增加了受控物聯(lián)網(wǎng)資源鹃祖,也因?yàn)槲锫?lián)網(wǎng)與共享經(jīng)濟(jì)的結(jié)合溪椎,其內(nèi)部關(guān)系數(shù)據(jù)庫,出現(xiàn)了更多多對(duì)多的關(guān)系恬口。
  6. 根據(jù)stackoverflow網(wǎng)站統(tǒng)計(jì)數(shù)據(jù)校读,F(xiàn).A.B提問者較少,其中5~10%與我有關(guān)祖能。但是回應(yīng)不太積極歉秫。后來發(fā)現(xiàn)Github上的issues才是主要QA場(chǎng)所。

接下來我的主要工作是养铸,結(jié)合工程文檔和Github解決對(duì)于Model/View/URL/Controller的定制需求雁芙。發(fā)布一個(gè)工程源碼提供給大家使用。

基于FAB的工程

采用F.A.B的設(shè)計(jì)不算多钞螟,最知名的是Apache軟件基金會(huì)正在孵化中的Apache Superset兔甘,是由Airbnb提交給ASF的開源項(xiàng)目,是開源的數(shù)據(jù)挖掘和BI鳞滨。算是一個(gè)比較重型的框架洞焙。其中安全、認(rèn)證部分直接來自于F.A.B.

更新

今天閱讀了一些文檔和問題清單拯啦,發(fā)現(xiàn)在models.py中可以使用額外方法來返回不同HTML代碼片段的方法澡匪,雖然這樣做混淆了model/view的界限,但是畢竟是一種可行方法褒链。如此唁情,則可以實(shí)現(xiàn)添加定制頁面代碼,甚至列表字段甫匹,并指向詳情頁面和單獨(dú)頁面甸鸟。

同時(shí),在views.py兵迅,即使是采用ModelView抢韭,即模型視圖類中,也可以定義方法喷兼,映射成為路徑篮绰,并在方法中使用更加底層的sqlalchemy來查詢數(shù)據(jù)庫。這樣可以采用類似MVC方式來構(gòu)建一些定制的網(wǎng)頁季惯。

第三吠各,在前些天的開發(fā)中臀突,通過模板方式直接替換了Google Chart API,而支持了ECharts贾漏。當(dāng)然候学,如果要更好地支持ECharts,還需要override某些JSON數(shù)據(jù)源等底層類纵散。也可以支持其他的主流js庫梳码,如D3.js。

換而言之伍掀,在F.A.B中掰茶,依然可以依靠Flask以及擴(kuò)展來實(shí)現(xiàn)兩種不同風(fēng)格的編程,一種是Flask MVC蜜笤,一種是F.A.B的ModelView濒蒋,前者適合定制,后者適合快速的Admin開發(fā)把兔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沪伙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子县好,更是在濱河造成了極大的恐慌围橡,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缕贡,死亡現(xiàn)場(chǎng)離奇詭異翁授,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)善绎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門黔漂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诫尽,“玉大人禀酱,你說我怎么就攤上這事∧良担” “怎么了剂跟?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)酣藻。 經(jīng)常有香客問我曹洽,道長(zhǎng),這世上最難降的妖魔是什么辽剧? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任送淆,我火速辦了婚禮,結(jié)果婚禮上怕轿,老公的妹妹穿的比我還像新娘偷崩。我一直安慰自己辟拷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布阐斜。 她就那樣靜靜地躺著衫冻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谒出。 梳的紋絲不亂的頭發(fā)上隅俘,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音笤喳,去河邊找鬼为居。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杀狡,可吹牛的內(nèi)容都是我干的颜骤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捣卤,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼忍抽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起董朝,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸠项,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后子姜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祟绊,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年哥捕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了牧抽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遥赚,死狀恐怖扬舒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凫佛,我是刑警寧澤讲坎,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站愧薛,受9級(jí)特大地震影響晨炕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜毫炉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一瓮栗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦费奸、人聲如沸鲸郊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秆撮。三九已至,卻和暖如春换况,著一層夾襖步出監(jiān)牢的瞬間职辨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工戈二, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舒裤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓觉吭,卻偏偏與公主長(zhǎng)得像腾供,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鲜滩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容