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

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

不過最近,在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架構都建好
希望有幸之年 能看到
芭樂寫道…
注意到文章開頭第一句,讓人想了解作者寫企劃案指的是什麼,每個月工作中有多少時間比例花在寫企劃案?
芭樂寫道…
作者已經移除這則留言。

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

精彩(且驚人)的Semantic Kernel入門範例

使用Semantic Kernel 建立自然語言請假系統

在 LINE Bot 開發中使用Semantic Kernel建立自然語言請假系統

專業的價值...