layout: post
title: 2016-03-01-資訊系統實踐手記1-串列資料展現的6個要素
key: 20160301
tags: GIS BS CS 串列 控制元件 設計 資訊系統 實踐
modify_date: 2016-03-01
資訊系統實踐手記1-串列資料展現的6個要素
說明:
- 本文發布于: gitee,github,博客園
- 轉載和參考請指明原作者和連接及出處.
正文:
- 資訊系統實踐手記系列是系筆者在平時研發中先后遇到的大小的問題,其中比較典型的內容加以收集和分享,
- 資訊系統實踐手記目錄:博客園(或查看原始碼的README.MD檔案)
摘要:
- 介紹典型的客戶端中串列資料展現的6個要素,
1.客戶端和服務器
一般小型的資訊系統總可以分為前臺(也稱“客戶端”)和后臺(也稱“服務端”),
服務端一般提供一些列后臺功能,和DB互動,從經典的J2EE到現在的restful介面,它將業務的資料處理邏輯從呈現層的UI拆分開,資料解耦,
客戶端一般提供UI界面供用戶使用,主要分為BS和CS兩種,
BS方式:用WEB技術開發的客戶端UI界面,只要在瀏覽器打入web地址就能調出UI,使用方便但界面呈現相對弱于CS,不過近來HTML5等都很有展現力,
CS方式:用比如JAVA或.NET開發的,利用OS本地類別庫(WINAPI/MFC/WPF/GDI/DIRECTX/JAVA等)開發,有現成控制元件,運行速度快,界面元素豐富,
使用哪種方式因公司不同,研發策略,技術路線,開發團隊能力,使用場景,用戶要求,合同內容等而定,
2.為開發GIS(地圖)應用采用CS中包含BS的方式
為開發GIS(地圖)應用,需要和GIS引擎互動,典型的有:百度地圖API,公安標準PGIS,開源的arcGIS,第三方GIS供應商如數字位圖等,這些API大都提供JS介面,也有FLEX(Flash)介面,有些是restful風格,封裝的不錯,其實都比較適合開發網站應用,或手機APP,因為現在典型的GIS應用主戰場都在手機APP(安居客等),或網站(百度,大眾點評等)場景中展開,所以都提供JS介面方便開發,
但筆者遇到的專案是傳統的IT專案,客戶需要開發基于GIS的應用,但只能用CS結構實作,所以經過嘗試,采用了一種混合的方法,應該也有不少類似的情況,就是windows作業系統下的CS客戶端中嵌入了IE的OCX控制元件,在控制元件中呼叫GIS引擎的JS/FLEX的API類別庫,此方式稍有點復雜,而且對于WPF層,JS層,以及和后臺SERVER的信令互動,訊息資料傳遞,區域頁面PAGE的異步更新,都有一些注意點(在之后的手記中有機會再仔細描述),大家遇到類似背景關系環境可參考,
3.串列資料展現的6個要素
講了半天,轉入正題,一個嵌入了IE的OCX控制元件并以JS呼叫GIS引擎的CS客戶端,一般可以用C#/WPF來開發,客戶端的內容和展現上其實分2兩種截然不同的部分,既有GIS地圖展現相關的類似WEB的JS內容呈現,又有典型的CS對話框,視窗,設備串列等展現,兩種風格混在一起,可能讓開發人員不太適應,
下面針對一個具象的問題“串列資料的展現”,比如需要顯示一個dialog,里面哪怕只有一列資料,它顯示一萬個設備ID,怎么做呢?三個開發會有三個樣子的東西開發出來,在實踐,經過總結并和用戶交流,給出如下6點,基本滿足要求,
使用高效控制元件(資料量大就要考慮UI速度,比如MINIUI框架的listbox顯示超過數百行就不太好用,可以改為grid控制元件或其他,但其實百萬行的UI人怎么看的過來呢?不成立)
支持資料分頁(如果串列資料欄位可能超過200行,就應該分頁,否則不方便用戶查看)
支持資料排序(資料欄位總是必須要排序的,不排序的資訊毫無價值,用戶腦中默認是排序的)
支持資料搜索(即使分頁和排序了,還必須提供搜索功能,這樣的組合拳下來,用戶操作方便,認為界面友好)
支持滾動條(因資料項本身寬度可能很長,且記錄行也很多,在有限的dialog可視區域內很難看清楚,必須支持滾動來提升展現力,)
支持TIPS提示(有時滾動很麻煩,為了臨時看一下資料,應支持滑鼠懸停到某個資料項的時候以tips形式顯示“額外資訊”,界面就更友好,展現力層次豐富了,)
以上6個要素,對LISTVIEW型別的控制元件比較基礎,如果做好了,基本上用起來沒有大的問題,其他UI控制元件的設計(無論CS還是BS)其實也是類似的思路去尋找呈現的要素和代碼的多維度功能控制,最終是滿足用戶的要求,提升滿意度,以此類推,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225617.html
標籤:其他
上一篇:專案微管理15 - 首秀
下一篇:程式員8大準則
