于UI開發(fā)人員和前端開發(fā)人員有一個常見的誤解,即他們基本上在做相同的工作。我已經聽過很多次了,不僅是從普通人口中,而且是從IT行業(yè)的從業(yè)人員口中。為了解決這個問題,我決定在這兩個同樣重要、同樣有趣、但卻截然不同的職業(yè)之間劃清界限。具體區(qū)別哪里,下面和千鋒廣州小編一起來看看吧!
讓我們從用戶界面(UI)的定義開始。在數(shù)字行業(yè)中,用戶界面意味著用戶可以跨各種設備(臺式機、筆記本電腦、平板電腦和手機)控制或交互的每個細節(jié)(屏幕、鍵盤、鼠標、附加控制器等)。
界面開發(fā),無論是應用程序、網站、游戲還是模擬器(事實上,尤其是模擬器),都是一個包含設計、工程和心理學元素的復雜過程。
界面開發(fā)人員的主要目標是創(chuàng)建方便的界面,以滿足用戶的需求。要做到這一點,您必須理解并識別用戶的努力、目標、行為模式和用戶交互的模型場景。你精通的跨行業(yè)領域越多(分析、心理學、市場營銷、用戶體驗),你就能創(chuàng)造出更好的解決方案。
UI開發(fā)人員的工作
對于UI開發(fā)人員,主要的工作工具是adobeillustrator或類似的軟件。它需要繪制草圖和準備圖形材料。Illustrator擅長使用矢量圖形,它可以根據(jù)不同的屏幕分辨率縮放和調整概念界面。
對于輔助工具,UI開發(fā)人員也可以使用MicrosoftExpressionDesign和ExpressionBlend。最后設計人員必須深入研究相關操作系統(tǒng)的UI指導原則,他們希望根據(jù)這些指導原則調整界面(WindowsUI指導原則、MacOS指導原則)。
UI開發(fā)人員的關鍵特征是邏輯思維,這就是為什么這些人從來不是純粹的藝術家。UI設計師是100%的技術人員,只有人文素養(yǎng)。為了解決項目的問題,必須采用數(shù)學方法來結合標準工具。至于備受贊賞的創(chuàng)造力——只有在標準工具不能提供令人滿意的解決方案時才允許。
UI開發(fā)人員心中有一組明確的優(yōu)先級。
1.首先,接口必須是功能性的。
2.其次,它必須方便,在不刺激用戶的頻繁工作。
3.最后,它必須是“美麗的”,也就是“美麗”得足夠吸引眼球。
一個好的UI開發(fā)人員是設計技能和技術知識的結合,他們的職責是可視化理解用戶界面。
那么Web前端開發(fā)人員呢?
前端是開發(fā)Web界面的客戶端。前端開發(fā)人員負責運行和操作界面,而不是由UI專家設計的可視化外觀。
如果我們要將其與打印媒體進行比較,那么UI開發(fā)人員將創(chuàng)建總布局,而前端開發(fā)人員將進行頁面校對,以便實際打印布局。
?
與前端開發(fā)相關的挑戰(zhàn)是用于創(chuàng)建網站前端的工具和技術不斷變化,因此開發(fā)人員需要不斷了解該領域是如何發(fā)展的。前端通常構建在三個支柱上。它們是HTML、CSS和JavaScript。作為一名程序員,前端開發(fā)人員還必須接受算法、數(shù)據(jù)結構、編碼模式、面向對象編程和函數(shù)方法方面的培訓。(推薦相關視頻教程:《HTML教程》、《CSS教程》、《Javascript教程》)
通常,前端開發(fā)人員必須在產品開發(fā)階段找到UI/UX問題的解決方案。這就是為什么擁有一些基本的UI開發(fā)人員技能對他們來說是一個巨大的優(yōu)勢。
以上就是前端和UI的聯(lián)系與區(qū)別,這次你懂了嗎?
evExpress WinForm擁有180+組件和UI庫,能為Windows Forms平臺創(chuàng)建具有影響力的業(yè)務解決方案。DevExpress WinForm能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業(yè)務數(shù)據(jù),它都能輕松勝任!
注意:目前基于HTML & CSS的控件正在積極研發(fā)中,可以作為技術預覽提供,如果需要使用請下載最新版組件體驗哦~
DevExpress WinForms Subscription官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網
一組控件和組件允許開發(fā)人員構建HTML格式的UI,并使用CSS樣式自定義UI元素的外觀設置、大小、填充和布局選項,不再需要處理自定義繪制事件或更改大量屬性來修改控件以匹配UI規(guī)范,可以使用HTML和CSS標記的知識為桌面應用程序構建布局。
在上文中(點擊這里回顧:用DevExpress實現(xiàn)基于HTML&CSS的桌面應用程序的UI(二)),我們?yōu)榇蠹医榻B了HTML-CSS標記的動態(tài)自定義項目、數(shù)據(jù)綁定等,本文將繼續(xù)為大家介紹如何使用外部控件和就地編輯器、按鈕的使用等,歡迎持續(xù)關注這個系列的文章哦~
<input>標記允許開發(fā)者向基于HTML的UI添加就地編輯器或外部控件,標簽支持以下控件:
HtmlContentControl
使用<input>標記作為想要在布局中顯示的外部控件和存儲庫項(就地編輯器)的占位符。
Data Grid Views (ItemsView, TileView和 WinExplorerView)
使用<input>標記作為Repository Items(就地編輯器)的占位符,不能使用此標記在數(shù)據(jù)網格視圖中顯示外部控件。
HTML
<input name="textEditEmail" class="field-input"/>
<input name="repositoryItemPictureEdit1" value="${ImageData}" class="editor"/>
按照下面的步驟渲染一個按鈕:
下面的示例使用<div> 標記來定義一個按鈕:
HTML
<div id="uploadBtn" class="centered button">Upload</div>
<div id="removeBtn" class="centered button">Remove</div>
CSS
.centered{
align-self:center;
}
.button {
width: 70px;
height: 20px;
min-width: 20px;
padding: 8px;
margin-left: 2px;
opacity: 0.5;
}
.button:hover {
border-radius: 4px;
background-color: #F2F2F2;
}
開發(fā)者可以再控制級、HTML標記級和使用Fluent API時響應HTML UI元素上的鼠標操作。
控件的鼠標事件
支持HTML的控件公開可以處理的事件,以響應HTML UI元素上的鼠標動作,這些事件通常被稱為:
C#
void htmlContentControl1_ElementMouseClick(object sender, DevExpress.Utils.Html.DxHtmlElementMouseEventArgs e) {
if(e.ElementId == "btnSend") {
//...
}
}
VB.NET
Sub HtmlContentControl1_ElementMouseClick(sender As Object, e As DevExpress.Utils.Html.DxHtmlElementMouseEventArgs) Handles HtmlContentControl1.ElementMouseClick
If e.ElementId = "btnSend" Then
'...
End If
End Sub
HTML鼠標事件
HTML標記中支持以下鼠標事件:onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove和onmouseout,開發(fā)者可以通過以下方式訂閱這些事件:
C#
void <MethodName>(object sender, DxHtmlElementMouseEventArgs args)
VB.NET
Sub <MethodName>(ByVal sender As Object, ByVal args As DxHtmlElementMouseEventArgs)
HTML
<img onclick="<MethodName>" ... />
示例:
C#
void OnPhoneClick(object sender, DxHtmlElementMouseEventArgs args) {
XtraMessageBox.Show("Phone!");
}
VB.NET
Sub OnPhoneClick(ByVal sender As Object, ByVal args As DxHtmlElementMouseEventArgs)
XtraMessageBox.Show("Phone!")
End Sub
HTML
<div class='buttonPanel'>
<img onclick="OnPhoneClick" src="PhoneCall" class="button" />
</div>
Fluent API
開發(fā)者可以使用Fluent API訂閱元素的鼠標單擊事件。
C#
var fluent = context.OfType<ViewModel>();
fluent.BindCommandToElement(htmlContentControl, "btnPhone", x => x.Phone);
//...
public class ViewModel {
public void Phone() {
//...
}
//...
}
VB.NET
Dim fluent = context.OfType(Of ViewModel)()
fluent.BindCommandToElement(htmlContentControl, "btnPhone", Sub(x) x.Phone())
'...
Public Class ViewModel
Public Sub Phone()
'...
End Sub
End Class
'...
HTML
<img id="btnPhone" src="PhoneCall" class="button" />
在程序員開發(fā)軟件界面系統(tǒng)也都是有多種多樣,每種開發(fā)語言基本上都有一種或多種界面引擎如:C skin, Direct UI , 還有金山、迅雷等廠商的界面SDK。
今天推薦一個輕量級、自由度高、使用方便的界面庫 Htmlayout/Sciter。HTMLayout是一個免費的開源界面庫(核心未開源),以DLL的方式運行,并提供一個API的調用接口和一系列的C++封裝和sample例程。HTMLayout: 快速,輕量、嵌入式的,基于HTML/CSS渲染技術和布局管理的界面引擎組件,可以高效地解析和渲染HTML網頁。其幾乎支持所有的HTML元素和CSS3標準,并根據(jù)界面庫的特征,做了很多有用的功能性擴展。
界面預覽
這里著重地說一下在 aardio 軟件中的使用,作者把 HTMLayout和 Sciter 制作成了擴展庫, 并且免費開源, 通過這個擴展庫你知道會一點點 HTML 和 CSS 知識就可以方便地制作各種漂亮的 ui。通過作者的努力你還可以直接在界面上使用現(xiàn)在最流行的字體圖標,還使擴展庫支持了模板功能,你可以像寫PHP一樣寫桌面軟件的界面HTML,雖然看起來簡單的代碼,但用起來會非常方便。
效果圖
效果圖
言歸正傳, 我們用aardio一步步來制作一個最簡單的界面。
1、打開軟件》新建工程》選擇web界面》選擇HTMLayout》創(chuàng)建工程
字體圖標
效果圖
aardio 里查看 main.aardio 源碼
import win.ui;
/*DSG{{*/
var winform = win.form(text="htmlayout";right=761;bottom=609;border="none")
winform.add()
/*}}*/
import web.layout;
import web.layout.behavior.windowCommand;
import web.layout.behavior.tabs;
// 加載網頁
var wbLayout = web.layout( winform );
wbLayout.go("\layout\ui.html");
if(_STUDIO_INVOKED){
import web.layout.debug;
wbLayout.attachEventHandler( web.layout.debug );
}
//添加陰影邊框
import win.ui.shadow;
win.ui.shadow( winform,50,3 );
winform.show()
win.loopMessage();
從上面我們可以看出,軟件的主要界面是由 ui.html,ui.css,tabs.css 這幾個文件組成的。然后你可以根據(jù)自己軟件界面的需要進行調整。
工程項目
以下是我自己這二天搭建的一個軟件的界面,就是一個簡單的軟件基本框架。
演示圖上
工程項目目錄結構
如果你對htmlayout感興趣,可以查看 https://bbs.aardio.com/forum.php?mod=forumdisplay&fid=128&page=1 了解更多更詳細的教程。
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。