由于小程序本身的特殊性,導致 UI 設計師不能夠如同設計 App 一般自如。為了后續(xù) UI 設計師和小程序前端開發(fā)能減少溝通,返工成本,將在這里和大家聊聊小程序和 App 設計的差異,以及差異具體的表現。
本文僅為個人工作學習心得,可能概述的較片面,有錯誤不妥之處歡迎指出。
1.為什么有差異——缺乏自主性
1)功能支持
小程序我們都知道是基于微信的應用程序,開發(fā)必須依靠微信給的接口(微信給啥就是啥),能實現的功能被大大的限制了。而且小程序上線也就2年的時候,還有一些功能不完善。
App 依靠于手機系統,可以實現復雜且多的功能,App 開發(fā)已經有近10年的積累,各類控件比較完善,換句話說就是開發(fā)者能力越大,展示效果越豐富。
2)內存體積
小程序代碼提交不能超過規(guī)定大小2M,這部分程度上限制了開發(fā)的可能性。
App 就不同了,沒有這部分的限制,我們更新軟件的時候經??吹綆资祝瑤装僬?,甚至游戲類的幾個G的下載體積。
3)體驗及流暢
小程序的體驗略遜于 App , 小程序使用時沒有那么穩(wěn)定,容易出現錯誤閃退,特別是在一些功能復雜的應用中,雖然說小程序已經優(yōu)化了很多,有時仍會出現卡頓感。
2.差異在哪里?具體表現
1)頂部導航欄
App:可以保留導航欄,也可以去掉,可拓展性強,靈活性高。
小程序:導航欄右側有個無法去除和編輯的膠囊(titlebar),設計時也不能在導航上增加其他功能。所以在 App 轉小程序時,導航欄的功能要換位置或者在放在導航欄下。
實現效果也略欠缺一些,例如微信提供原生和自定義的兩種導航欄:
(一)原生的導航欄支持更改顏色,但字體顏色僅支持黑/白兩種;
(二)雖然自定義的導航欄可以去除原生導航欄,支持圖片通到導航欄上,但是所有頁面都需要重新調整(原先導航欄的高度沒有了,界面元素會跟著上移),而小程序不支持單個頁面修改。
這是目前更麻煩的地方,量級小的應用還可以,量級大的導致工作量大大增加。
同時,自定義導航容易帶來標題無法對齊、頁面機型不同安全區(qū)域不同、全局刷新時頁面會被整個下拉等等問題。
建議頁面多、復雜的情況,盡量減少使用自定義導航,也可以使用像馬蜂窩一樣,導航欄背景和圖片背景銜接,效果也不錯。
2)標簽欄
App:可支持更少2個,更多5個的tab切換,圖標大小以及底部標簽欄高度可自定義。
小程序:也可支持更少2個,更多5個的tab切換,使用原生控件時,要遵從 icon 尺寸81*81px。
使用自定義標簽欄時,可支持加入交互效果,例如提示數量氣泡等,但是體驗相比原生差一點,如果標簽頁是首次進入的頁面,那么標簽欄切換會造成跳動,需要開發(fā)做規(guī)避。
建議不帶有交互的情況,盡量使用原生控件,就像站酷小程序 一樣。
3)拖動排序
App:流暢、體驗佳,例如發(fā)朋友圈時拖動照片排序。
小程序:除非必要,否則不建議使用拖動排序。圖片和列表拖動在 Android機型上體驗不夠,會有卡頓的情況。
建議使用上下按鈕替換上下拖動,或者圖片排序使用標記的方式來進行排序。