成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Cabloy全棧JS框架微創(chuàng)新之一:不一樣的“移動(dòng)優(yōu)先 PC適配”

sewerganger / 805人閱讀

摘要:前言目前流行的前端組件庫(kù)都支持移動(dòng)設(shè)備優(yōu)先的響應(yīng)式布局特性。充分利用了的優(yōu)良特性,充分發(fā)揮其最大價(jià)值。不重復(fù)造輪子,而是采用業(yè)界最新的開(kāi)源技術(shù),進(jìn)行全棧開(kāi)發(fā)的最佳組合。

前言

目前流行的前端UI組件庫(kù)都支持移動(dòng)設(shè)備優(yōu)先的響應(yīng)式布局特性。但基于Mobile和PC兩個(gè)場(chǎng)景的不同用戶(hù)體驗(yàn),也往往會(huì)實(shí)現(xiàn)Mobile和PC兩個(gè)版本。
PC場(chǎng)景下的Web工程,如大量的后臺(tái)前端管理模版,雖然支持Mobile自適應(yīng),但其用戶(hù)體驗(yàn)差強(qiáng)人意。
Cabloy采用不同的思路,仍然基于移動(dòng)優(yōu)先,同時(shí)通過(guò)特殊的布局優(yōu)化,使得移動(dòng)頁(yè)面可以完整的用于PC場(chǎng)景,既保證了用戶(hù)體驗(yàn),又提升了開(kāi)發(fā)效率,大大簡(jiǎn)化了開(kāi)發(fā)工作量。

演示

PC:https://admin.cabloy.com

Mobile:

上圖 Mobile布局

PC布局

進(jìn)一步分析

Cabloy的PC布局將頁(yè)面切分為若干個(gè)Mobile+Pad的組合,帶來(lái)了與眾不同的用戶(hù)體驗(yàn)。
從此開(kāi)發(fā)類(lèi)似于微信公眾號(hào)H5混合開(kāi)發(fā)的項(xiàng)目,再也不用建立兩套獨(dú)立的工程。

內(nèi)部機(jī)制

Cabloy前端基于Framework7,并一直跟進(jìn)其最近的開(kāi)發(fā)進(jìn)度,從1.0到2.0,再到3.0。Cabloy充分利用了Framework7的優(yōu)良特性,充分發(fā)揮其最大價(jià)值。
Cabloy的作者zhennannFramework7的貢獻(xiàn)圖如下:

Framework7將頁(yè)面分為若干個(gè)View,每個(gè)View對(duì)應(yīng)一個(gè)Router,管理若干個(gè)Page,從而非常方便的實(shí)現(xiàn)Page之間的堆疊。
Cabloy的PC布局,將頁(yè)面分為若干個(gè)Tab,每個(gè)Tab再包含若干個(gè)View。通過(guò)對(duì)Router的patch,實(shí)現(xiàn)Tab之間與View之間的URL跳轉(zhuǎn)。

代碼實(shí)現(xiàn) 根結(jié)點(diǎn)組件

Cabloy通過(guò)不同的模塊封裝不同布局的實(shí)現(xiàn)邏輯,然后在根結(jié)點(diǎn)組件中針對(duì)頁(yè)面的尺寸的變化渲染不同的布局。
需要特別說(shuō)明的是,Cabloy中的模塊是一個(gè)相對(duì)獨(dú)立的實(shí)體,可以根據(jù)需要異步加載,提升頁(yè)面加載性能。

egg-born-front/src/base/mixin/config.js:
config.js配置布局信息,可通過(guò)修改配置實(shí)現(xiàn)自己的布局管理邏輯

// config
const config = {
  modules: {},
  layout: {
    breakpoint: 800,
    items: {
      mobile: {
        module: "a-layoutmobile",
        component: "layout",
      },
      pc: {
        module: "a-layoutpc",
        component: "layout",
      },
    },
  },
};

egg-born-front/src/inject/pages/app.vue:
app.vue是根結(jié)點(diǎn)組件,動(dòng)態(tài)異步加載所需的布局組件

Mobile布局組件

Mobile布局組件源碼參見(jiàn):https://github.com/zhennann/egg-born-module-a-layoutmobile/blob/master/front/src/components/layout.vue

a-layoutmobile/front/src/config/config.js:
config.js可以靈活配置布局的顯示元素

export default {
  layout: {
    login: "/a/login/login",
    loginOnStart: true,
    toolbar: {
      tabbar: true, labels: true, bottomMd: true,
    },
    tabs: [
      { name: "Home", tabLinkActive: true, iconMaterial: "home", url: "/a/base/menu/list" },
      { name: "Atom", tabLinkActive: false, iconMaterial: "group_work", url: "/a/base/atom/list" },
      { name: "Mine", tabLinkActive: false, iconMaterial: "person", url: "/a/user/user/mine" },
    ],
  },
};
PC布局組件

Mobile布局組件源碼參見(jiàn):https://github.com/zhennann/egg-born-module-a-layoutpc/blob/master/front/src/components/layout.vue

a-layoutpc/front/src/config/config.js:
config.js可以靈活配置布局的顯示元素

export default {
  layout: {
    login: "/a/login/login",
    loginOnStart: true,
    header: {
      buttons: [
        { name: "Home", iconMaterial: "dashboard", url: "/a/base/menu/list", target: "_dashboard" },
        { name: "Atom", iconMaterial: "group_work", url: "/a/base/atom/list" },
      ],
      mine:
        { name: "Mine", iconMaterial: "person", url: "/a/user/user/mine" },
    },
    size: {
      small: 320,
      top: 60,
      spacing: 10,
    },
  },
};
結(jié)語(yǔ)

Cabloy是采用Javascript進(jìn)行全棧開(kāi)發(fā)的最佳實(shí)踐。
Cabloy不重復(fù)造輪子,而是采用業(yè)界最新的開(kāi)源技術(shù),進(jìn)行全棧開(kāi)發(fā)的最佳組合。
歡迎大家拍磚、踩踏。
地址:https://github.com/zhennann/cabloy

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96794.html

相關(guān)文章

  • Cabloy.js:基于EggBorn.js開(kāi)發(fā)一款頂級(jí)Javascript全棧業(yè)務(wù)開(kāi)發(fā)框架

    摘要:文檔官網(wǎng)文檔演示是什么是一款頂級(jí)全棧開(kāi)發(fā)框架。不重復(fù)造輪子,而是采用業(yè)界最新的開(kāi)源技術(shù),進(jìn)行全棧開(kāi)發(fā)的最佳組合。漸進(jìn)式開(kāi)發(fā)由于模塊的高度內(nèi)聚,可以將業(yè)務(wù)以模塊的形式沉淀,在多個(gè)項(xiàng)目中重復(fù)使用,既可貢獻(xiàn)到開(kāi)源社區(qū),也可部署到公司內(nèi)部私有倉(cāng)庫(kù)。 文檔 官網(wǎng) && 文檔 演示 PC:https://admin.cabloy.com Mobile: showImg(https://seg...

    tomlingtm 評(píng)論0 收藏0
  • Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

    摘要:文章也不例外,只有提交進(jìn)入正常狀態(tài),才會(huì)進(jìn)行渲染。提交并預(yù)覽首頁(yè)文章頁(yè)部署實(shí)例與子域名支持多實(shí)例,實(shí)例與網(wǎng)站子域名一一對(duì)應(yīng),不同實(shí)例的數(shù)據(jù)完全隔離。 介紹 Cabloy-CMS是什么 Cabloy-CMS是基于CabloyJS全棧業(yè)務(wù)開(kāi)發(fā)框架開(kāi)發(fā)的動(dòng)靜結(jié)合的CMS,可以快速構(gòu)建企業(yè)網(wǎng)站、博客、社區(qū)、商城等Web應(yīng)用。 在線(xiàn)演示 https://zhennann.com 特性 Cablo...

    alin 評(píng)論0 收藏0
  • 如何成為全棧增長(zhǎng)工程師?

    摘要:然而這也意味著成為一個(gè)全棧工程師,比以往的任何一個(gè)時(shí)間要容易得多。所以,我們開(kāi)始談?wù)撊绾纬蔀橐幻珬T鲩L(zhǎng)工程師。再成為增長(zhǎng)工程師整一個(gè)系列社區(qū)電子書(shū)全棧增長(zhǎng)工程師指南電子書(shū)全棧增長(zhǎng)工程師實(shí)戰(zhàn)算是我對(duì)的一個(gè)研究。 (文末有驚喜) 記得我們?cè)凇禦ePractise前端篇: 前端演進(jìn)史》中提到技術(shù)在最近十幾年的飛速發(fā)展,當(dāng)然最主要的就是:技術(shù)的復(fù)雜度不斷地從應(yīng)用層抽象到了框架層。雖說(shuō): 技術(shù)...

    SillyMonkey 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<