Hybrid框架UI重構之路 二 事出有因

2022-02-21 11:08:33 字數 1598 閱讀 2796

上文回顧:hybird框架ui重構之路:一、師其長技以自強

一切的重構都是有原因的,或許為了更快速度、更好體驗、更快捷開發等,於是就有了自己的開發目標,簡單看看未重構前ui("中國移動式"風格)。

(1)規範開發

1.svn版本控制。之前的ui框架部分是沒有進行svn版本控制的,於是會導致個問題——有些檔案在多次修改後,連當初的開發者都不知道是不是最新的,存在爭議。而加上svn,使得**更加規範,有利於版本發布(打tag)。

2.職責確認。框架不是乙個完成的,需多人協同,所以確立**模組職責歸屬很重要,屬於誰的就誰改。

(2)依賴庫公升級

1.zepto

最新版1.2.5的fixed了挺多問題,更換之後效果會好很多。

在這裡不得不說乙個zepto的庫的問題,就是觸控模組(zepto的基礎庫是沒有這個模組的,要自己額外加)。

zepto使用touchstart、touchmove、touchend模擬出tap、longtap等事件,目的為解決click事件的300ms延時,但有個很大的問題是tap事件會「穿透」,「穿透」又會導致一系列問題。我認為最好的辦法是使用乙個fastclick的庫,用回click事件(但是重構的框架不能更換,原因是這個框架已經是第二個版本了,開發者對tap事件使用已成習慣,變革帶來的代價太大了)。

ps:穿透:當兩個層重疊在一起時,使用zepto的tap事件時,點選上面的一層時會觸發下面一層的事件。

2.iscroll

原本是想公升級到iscroll5,但iscroll5的用法改動太大,沒有延續性,並且嘗試多次效果不佳,於是次依賴庫就不公升級了,還是iscroll4。

3.cordova

cordova的版本不是由我決定的,是由原生開發人員決定的。

4.require

這個作為模組檔案載入的利器,是單頁模式的好工具。

功能:1.載入js檔案

2.提供載入完**

3.不重複載入

(3)單頁模式

可是我想說的是,現在功能都是碎片化的(大應用),都可以分為多個組合模組的,每個模組都不會多大,每個模組為乙個單頁,將單頁和多頁進行混用,這樣模組間互不相干,混合模式有不錯的效果!特別如果是輕應用(遠端頁面,僅web頁面),單頁有個非常好效果。

而我也用手機測試過,乙個單頁應用,每次切換會產生大概1mb無法**的記憶體,根據現在手機硬體條件(動不動幾g的記憶體),這個消耗我覺得還是可以容忍的。

(4)控制項優化

1.刪除舊ui中,難用、易錯的控制項。

ps:不刪掉,就會有人用,一用就會有問題反饋,到頭又要運維。

2.優化、增加好用的控制項

popup (from jingle框架)

側邊欄元件

tab元件

滑動列表

(5)bug修復

ps:什麼框架都無法避免的東西。

總結

Hybrid框架UI重構之路 一 師其長技以自強

這兩年在支撐公司的hybrid框架的運維發展,讓人確認這種移動開發方式確實是一條不錯的路。混合應用這種開發方式降低開發難度,極大的提高開發效率,最重要的一點效果可以接近原生應用。框架的本身是需要持續不斷發展的,這裡開始我講述我重構hybird框架的ui的這三個月 2014 11 2015 1 而在重...

CI 框架學習之路(二)

ci 配置檔案中重要變數解釋 config index page index.php 根目錄下的 index.php 檔名,codeigniter 會使用它來生成鏈結位址。如果使用隱藏 index.php 的url,將其設定為空字串 config index page config uri prot...

Qt 遊戲之路(二) 重建角色框架和炮彈的加入

建立移動物體基類,使玩家以此類為基礎 ifndef move thing base h define move thing base h include info.h class move thing base public qwidget void moveto qpointf pos void ...