1. 程式人生 > >MUI框架-01-介紹-建立專案-簡單頁面

MUI框架-01-介紹-建立專案-簡單頁面

MUI框架-01-介紹-準備-建立專案

(1)MUI 介紹

  • MUI 是什麼,解決了什麼問題?
  • MUI 官方號稱最接近原生APP體驗的高效能前端框架
  • 簡單的說就是webapp的以個開發框架
  • webapp和原生app效能及體驗的差距,一直是移動app開發者放棄HTML5的首要原因。 瀏覽器天生的切頁白屏、不忍直視的轉頁動畫、浮動元素的抖動、無法流暢下拉重新整理等問題,這些都讓HTML5開發者倍感挫敗,尤其拿到Android低端機執行,摔手機的心都有(如果開發者需要解決這些問題,需要處理很多相容性問題,需要花費大把的時間和精力);
  • 瀏覽器預設控制元件樣式(prompt、alert)又少又醜,製作一個漂亮的控制元件非常麻煩,也有一些製作簡單的ui框架但效能低下。
  • 此時,出現了正義的 MUI
  • mui框架:一個可以方便開發出高效能App的框架,也是目前最接近原生App效果的框架。有些控制元件就是原生態的效果,mui起到了橋樑的作用。
  • MUI是國產的,北京數字天堂。和它配套的有開發工具 HBuilder,5+runtime 5+runtime:可以將H5打包成native app,原理:利用原生態的webview去承載HTML5

(2)MUI 的特點

  • 輕量 追求效能體驗,是我們開始啟動MUI專案的首要目標,輕量必然是重要特徵; MUI不依賴任何第三方JS庫,壓縮後的JS和CSS檔案僅有100+K和60+K 可以根據自個的需要,自定義去下載對應的模組。和我們接觸的zepto.js類似
  • 原生UI 鑑於之前的很多前端框架(特別是響應式佈局的框架),UI控制元件看起來太像網頁,沒有原生感覺,因此追求原生UI感覺也是我們的重要目標 MUI以iOS平臺UI為基礎,補充部分Android平臺特有的UI控制元件;
  • 容易上手
  • 不需要其他框架基礎:語法上和我們之前 學到用到 的寫法是一樣的。
  • 其他框架:ionic(Angular.js), react(native),vue(發音:view) vue、react、Angular.js是並列關係。 前端是:vue和react的天下

(3)MUI 存在的問題

(1)名氣不是很大,國產,不像react、Angular.js那樣,世界範圍都在使用。目前國內MUI使用的公司還是很多的 (2)框架本身存在一些bug還有一些待解決的問題 (3)總的來說,用著還是很不錯了

(4)開發工具

  • mui 有個開發文件預覽式 app,下載Hello mui App 點選下載 已打包好的Hello mui 手機app,直接在手機上體驗mui的控制元件UI及能力展示

(5)建立 MUI 專案

  • 選擇新建“移動APP”,並選擇“Hello MUI”工程模板,建立工程;然後通過資料線將手機連線上電腦,點選執行,就可以在手機上體驗MUI的各項能力
  • 快速構建頁面:
  • 1.新建含mui的HTML檔案
    • 在Hbuilder中,新建HTML檔案,選擇”含mui的HTML“模板,可以快速生成mui頁面模板,該模板預設處理了mui的js、css資源引用
  • 2.輸入mheader
    • 頂部標題欄是每個頁面都必需的內容,在Hbuilder中輸入mheader,可以快速生成頂部導航欄
  • 3.輸入mbody
    • 除頂部導航、底部選項卡兩個控制元件之外,其它控制元件都建議放在.mui-content控制元件內,在Hbuilder中輸入mbody,可快速生成包含.mui-content的程式碼塊
  • 4.更多開發後面介紹,今天先介紹一些注意事項

(6)簡單頁面

  • 建立專案
  • 開啟 HBuilder 新建移動 app 專案,選擇 mui 專案模板
  • 新建 html 檔案,選擇 mui 模板
  • 也可以選擇下面預製的模板

(7)HTML 檔案

  • 開啟新建的 html 檔案
  • 會看到一些預製的設定,meta 標籤,css 檔案,js 檔案
  • 然後我們主要的是在 body 中進行一些操作
  • 先輸入一個: m
  • 可以看到觸發了關鍵詞,有很多程式碼塊,這也是最常用的方法,我們就可以快速的開發
  • 例1:
  • 比如我們輸入: mh
  • 選中 header,然後回車
  • 輸入標題:MUI 入門
  • 很快吧,用 mui 做這種的話就是這麼快
  • 例2:
  • 比如我們輸入: ml
  • 選中第 2 個圖文列表,回車 在這裡插入圖片描述
  • 這時候就會有問題了,頂部重疊了,為什麼會有這個問題呢,就是因為沒有把內容放到主體裡面,然後人家還以為你是 header 呢
  • 之所以這樣,故意遇到這個問題,是因為:
  • 除了固定欄之外,其它內容都要包裹在.mui-content 中,否則就有可能被固定欄遮罩,原因:固定欄基於Fixed定位,不受流式佈局限制,普通內容依然會從 top:0 的位置開始佈局,這樣就會被固定欄遮罩,像這樣的注意事項還有挺多,我會單獨整理一下
  • 解決辦法:
  • 刪掉剛才的列表,輸入 mbo 找到 body 回車
  • 然後在 body 裡面輸入 ml 圖文列表,預覽: 在這裡插入圖片描述
  • 例3:
  • 然後我們在 主體的外面,就是 mui-content 的div的外面
  • 我們輸入:mt 選擇底部欄,回車在這裡插入圖片描述
  • 這時候簡單的搭建頁面,是不是就已經可以掌握了
  • 這時候是不是已經感覺 mui 有時候還是很強大的
  • 好,後面我們在繼續學習

關於開發