持續地改變是必然的趨勢...

大多是不想寫程式,不願意寫規格書,沒精神寫企劃案的時候,我才會寫文章。

不過最近,在FB上看到一篇文章,主要是提到Silverlight技術的目前狀況,以及與未來HTML5之間的一些問題,還有未來開發技術云云。最近半年看到很多這樣的文字或報導,也有不少學員詢問,所以有感而發。

說真的,大夥,別再問這個問題了,原因很簡單,就是展示層技術的改變根本就是必然的趨勢。(相信我,這還不是軟體開發趨勢裡面最讓人感到痛苦、悲憤、無奈、沮喪的一塊...那David言下之意,還有其他讓人更嘔的地方嗎? 當然有,還多著呢,以後有空再說)

前陣子上課,和學員聊到分散式應用程式開發,說到一個結論:『在商業應用程式開發當中,越沒有UI的程式越值錢!』

學員臉上泛起疑惑和不太相信的目光,我隨即解釋,你看過SQL Server吧,看過Skype,看過MSN,難寫的是MSN Server, 還是MSN UI? 有技術難度的是Skype Server, 還是Skype Client, 真正賣錢的是SQL Server的Services,還是SQL Server的Management Studio?

這就是啦,你寫的不是Game,那就讓我告訴你,在商業應用程式的世界裡面,UI是不值錢的,UI可以是賣點,但常常不是成交的關鍵,UI可以是客戶嫌棄你的理由,但UI不是會讓客戶付你多一點錢的原因。

過去這20年, UI層開發技術是一變再變的,從DOS的文字畫面,到Windows的GUI,到後來的Web UI,乃至於現在的WPF/Silverlight/Multi-Touch,這一路上的改變沒在少的,而且趨勢是改變的速度越來愈快,改變的幅度越來越大。

也因此,每當我聽到學員感嘆某些展示層的開發技術改變太快,我就很擔心,大夥把焦點放錯位置了,UI從來不是一套軟體(或專案)成功的關鍵,UI只是你跟客戶表演時候吸引人目光的火花,有時候不同的客戶你還得放不同種類的煙火(平板? 行動? PC? Web? Windows? RIA?),才會得到你想要的效果。

過去這十多年的展示層開發技術,有哪一些可以沿用或重用的? 其實少之又少,先不管是否component可以reuse, 連source code要拿來reuse都很困難。所以,最理想的展示層技術是什麼? 是不要寫。或是我講一講就出來(例如,我說,要有選單,選單就出現;給我來個master-details維護畫面,畫面就誕生),當然這種技術目前還沒出來(但星艦迷航記裡面有,所以我相信不久以後一定會有)。

展示層技術是你的操作介面,操作介面不負責核心的運算,大部分分散式應用程式的核心運算都在伺服器端,這也是真正賣客戶比較值錢的地方,至於過去選擇Windows/Web,現在使用Silverlgiht,以後要變成什麼技術,相信我,都無所謂的,因為未來3-5年一定會變...

1995年之前,我們用文字畫面做出來一堆App
1995年到2002年,我們用Windows模式做出來一堆App
2002年到2007年,我們開始走Web模式
2007年到現在,我們上了 RIA(Rich Internet Applicatiion)
現在到未來,我們還要掙扎在多種不同的展示層開發技術與應用平台之間...

但是, 請記得,上面這些都不是一套真正有價值的軟體賣錢的關鍵,因此,也別太執著了。如果可以,多花點時間在值錢的地方,至於UI,當然也很重要,但當你時間有限時,取捨就是一門藝術了。
(BTW, 請注意,UI跟使用者體驗有關,但不絕對有關~)

留言

Leo寫道…
心有戚戚焉~ 老師寫的真好。
阿A 力Li 酷Ku寫道…
改天再請老師講解值錢的有那些喔 ~ 感恩!!
匿名表示…
作者已經移除這則留言。
匿名表示…
真是發人身省!
陳傳興寫道…
一針見血。看看自己公司的產品,人家要的不是你的UI,人家要的是你的功能。

例如,Cisco,功能強大到不行,對不起,你就是要下指令,黑白畫面。但它就是「值錢」!
543寫道…
我也早有 語音(命令)生code的想法
不光只是 Siri這樣 問問題+回答而已
而是幫我把 AP UI及基本code架構都建好
希望有幸之年 能看到
芭樂寫道…
注意到文章開頭第一句,讓人想了解作者寫企劃案指的是什麼,每個月工作中有多少時間比例花在寫企劃案?
芭樂寫道…
作者已經移除這則留言。

這個網誌中的熱門文章

原來使用 .net 寫個 MCP Server 如此簡單

使用LM Studio輕鬆在本地端以API呼叫大語言模型(LLM)

開啟 teams 中的『會議轉錄(謄寫)』與Copilot會議記錄、摘要功能

原來使用 .net 寫個 MCP Client 也如此簡單

使用 Dify 建立企業請假機器人