公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2008年3月6日 星期四

你是設計人員,還是開發人員?

網際網路的興起,帶動了程式開發的變革,除了在開發環境上的改變之外,在使用者操作介面上,也和Windows表單開發有很多不一樣的地方。以往開發Windows表單只需要學會把控制項放到表單上,再加上事件處理常式就可以完成的工作,在Web應用程式當中,為了串接Browser與Server兩個不同的執行環境,這些程式卻變得相當的煩瑣。但其實說穿了,Web應用程式是由"兩個"執行環境所構成,因此除了原本表單需要執行的程式邏輯之外,在瀏覽器中,也可以透過Javascript操作HTML控制項,產生DHTML的效果。

另外,Browser加上了適當的外掛套件之後(ex:Flash Runtime、Java Rintime),就可以在瀏覽器當中執行Flash動畫,或是Java Applet等等其他的程式。隨著執行環境的日益複雜,就有聰明的人想到把這個複雜的環境分成Model、View、Controller三塊--也就是MVC設計模式。前面兩篇我已經稍為介紹過Model跟Coltroller,這一篇要來談的是View的部分。

記得之前做產品或是做案子的時候,公司都會有美工人員幫我把白白的網頁製作成漂亮的網頁--因為我不熟網頁設計軟體的操作(還有一部分是因為沒有美感...囧),因此雖然我會DHTML,也了解CSS的設定,但是美化使用者操作介面的工作,還是得交給美工人員來處理。特別是後來網頁流行加上Flash動畫效果之後,美化網頁的工作我可以說就放棄了......

Silverlight基本上跟Flash是一樣的東西,提供了自己的物件模型,可以幫助建立友善又具有高互動性的使用者操作介面,但是就像我前說的一樣,Silverlight也是屬於外掛的東西,所以第一個會遇到的就是相容性的問題。本人的64位元瀏覽器到現在還是沒有辦法執行Flash就是其中一個例子,我們也沒有辦法期待或是期望Silverlight將來"一定"可以使用在所有的瀏覽器--特別是手持裝置的瀏覽器。

再者就是,我從來不會覺得,網頁中有沒有美美的按鈕或是效果是一件很重要的事。一個灰色的按鈕和一個漸層的按鈕,對我來說都是一樣的;反而我比較在乎的是網頁邏輯處理的速度--這就是開發人員和設計人員的差別。基本上,Silverlight跟Flash都是給設計人員用的東西,雖然目前看來加上一些Script程式之後,也可以用來執行程式邏輯甚至式資料繫結,但是有了之前寫DHTML與RDS的經驗,我實在沒辦法對於這技術有太多的興趣--畢竟這還是執行在瀏覽器框架裡的東西,除非瀏覽器有重大規格的改變,否則最後的限制都是一樣的。

最後,目前暫時也還沒有像Flash的設計工具方便的工具可以套用在Silverlight上(應該是正在研發中),就算有的話,我想也是提供給"設計人員"用的。對於開發人員來說,我想設計一個會動、會變色的按鈕的時間不如拿來解決堆積如山的使用者需求。

但Silverlight也不是不值得學,因為Silverlight是WPF的子集,因此學會Silverlight之後,將來就可以使用相同的設計經驗來建立WPF的表單。不過話說回來,在MVC的設計模式中,開發人員只需要先定義好View與Controller溝通時所使用的規格,將來不管設計人員表單如何設計,都可以觸發後端的工作流程邏輯執行。因此對於開發人員而言,如何建立彈性、可靠的工作流程,並且和不同的端點繫結,應該是相當重要的;而如何使用工具設計Silverlight或是WPF表單,則是設計人員需要花時間學習的。問問自己下面的問題:

你覺得你是開發人員還是設計人員?

你的美術創意會比設計人員好嗎?

你就知道該把時間花在哪裡.......Orz

7 則留言:

Byron 提到...

我很贊同你的意見:) 只是疑問 SilverLight 能不能取代原來的 HTML/ DHTML/Ajax?若能取代,還要多久後?可否讓 Web/Windows Form 的開發再度合一?我期待藉由 SilverLight 跨平台,但 Developer 只開發一套,不分 web/windows/os,在 Windows 平台就比較漂亮,在 Linux 或其它平台雖然醜一點,但依然 work...

米米貓學開發 提到...

不管你是設計人員還是開發人員
老版交待的大小跟設計開發沒關的喵事,通通要做啊!

John 提到...

其實重點就是在於,從Java Runtime-->.NET Runtime都證實了一件事--那就是應用程式不可能跨所有平台執行。Browser雖然透過了Html建立了一致的顯示使用者操作介面的環境,但若是要讓DHTML可以跨所有的瀏覽器執行,特別是複雜的功能,到目前也都還有問題--更何況也不是每一個使用者都喜歡在瀏覽器中亂裝東西,更何況是在一些Device中....

於是乎我想說的是,回到MVC的架構中尋找活路。Silverlight只是治標,最多可以做到目前Flash的效果,但不一定可以適用在企業上。就像是Flash也支援Data binding、動畫的效果,但是Flash發展了這樣久,也不過到今天的成績。Browser環境限制比Server多太多了,因此我很難覺得 Sliverlight之於Flash,可以有像ASP.NET之於JSP的突破.....

John 提到...

再補充一下,未來用戶端(View)我看好的是"分",不是"合",也就是走多元化路線發展,而不是使用者介面統一的時代。因此我才會將"設計人員"與" 開發人員"的工作切開,因為"RIA"、"Web 2.0"這些跟"M型社會"一樣,都是鬼扯的東西。用瀏覽器執行程式就像是用電視機看電視一樣,黑白電視看的永遠都是黑白電視-->除非你升級你的電視機;但是有了網路,有了PPStream之後,電視機播的節目,似乎就不是那樣重要了......

Anita 提到...

我想到Jerry 的故事,
網頁寫完請老闆看, 老闆看完只是點點頭的走了.
沒來幾天的美工, 將網頁美化之後, 請老闆看, 老闆看完拍拍美工說,嗯! 你有前途...

哇~ 哈~ 老闆永遠分不出, 設計人員,還是開發人員? 工作的差別...是誰讓網頁可以運作的...

難怪, Flash 之類的課那麼紅...

亞當斯(Adams) 提到...

用SilverLight設計,總感覺往後一個工程師不只有要學會開發,還要學會美工設計的基礎概念和培養美感,才能在設計的過程中,得到一個平衡。Orz

Anita 提到...

不過說真的, 走開發人員這行需要天份. 要當個專業美工(應該說美術工程師)也真的需要天份.
不信, 你畫個自畫像來看看...

兩者還真的有不同的專業. (當然有人兩項兼具, 只能說羨慕!)

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)