Application 3.0的挑戰從上一篇文章「就說不是雲端了,是App 3.0啊!」當中,大家應該都有瞭解到DOFI在此對應用程式技術架構的世代定義方式了。

然而有人可能會想問:「這樣的世代定義方式,究竟有什麼意義?

其實,這概念很簡單-我們大家都知道,會有所謂的「世代」之分,就表示兩者之間有相當程度的差異,甚至是鴻溝,也就成為大家常聽過的「代溝」問題。

所以,到底這些Application世代之間有什麼代溝呢?

首先要瞭解一下的是,這個「代溝問題」,主要是以開發者的角度來看的。因為每一個Application世代之間,都會存在著技術與架構上形成鴻溝,以致於讓許多在前一世代的活躍開發者,遲遲無法跨越到下一個世代。然後,開發者這個產業與族群,就會來一次世代交替的大換血

接著,就讓我DOFI來跟大家分享一下,開發者在這幾個世代間所遭遇到的代溝問題或挑戰。

特別提醒:底下內容,技術成分有增多趨勢,請小心服用。

 

Application 1.0→2.0

這兩個世代之間的代溝,是屬於「外觀介面上的演進」。

開發者的挑戰:Application 1.0→2.0

從1.0的文字模式(代表性的作業系統:MS DOS、UNIX),演變到2.0圖像模式(代表性的作業系統:Windows、Mac)的過程當中,開發者的重心會從原本專注在功能面的部分,變成要開始把許多心力投入到可以讓使用者更直覺操作與使用的外觀和互動介面上

為了處理圖像的呈現與滑鼠的細緻操控,開發者要針對因為圖像介面帶給使用者的高度操控自由,而要考慮到更多有關操作和互動上的問題。此外,外觀呈現部分,也從原本小範圍的簡單字元控制工作,變成得處理到畫面上大範圍的像素點和座標的問題。

如果你曾經經歷過那個世代交替的階段的話,相信都有看過,每個要晉升為Application 2.0的開發者,身邊總是隨時抱著一本超厚的聖經-MFC。熟習這本聖經的人,大概都成為了當時候的大師了(當然我當時完全不是那塊料,只知道繼續打著我的Game..XD)。

也由於這本超厚聖經的關係,以及對於圖像介面處理的熟悉度問題,使得很多前一世代的開發者被打敗了,而造成第一次的開發者世代交替。

 

Application 2.0→3.0

這兩個世代的代溝,是屬於「架構廣度上的演進」。

開發者的挑戰:Application 2.0→3.0

由於網際網路的出現,原本只會單純在同一台機器執行的應用程式,出現了可以從客戶端來存取執行於伺服器端程式的方式。光是這種兩段式的C/S(Client/Server)架構,就讓不少開發者吃盡苦頭。因為,開發者原本只要熟悉單一系統的架構和技術即可,但是,在新的架構之下,開發者所要熟悉的平台,這下至少被拆成了使用者端和伺服器端這兩套。

而在網際網路的快速發展之下,許多使用者的客戶端主要執行工具-瀏覽器(Browser),從原本簡單的HTML技術標準,後來又發展出豐富的JavaScript和CSS技術,

而伺服器端的技術,則在一開始就已經被拆解成網頁服務、伺服端程式和資料庫服務三大類-這種以瀏覽器和伺服器所構成的應用程式架構,也就是所謂的「Web-based Application」(網頁應用程式)。

Application 3.0涉及更多的技術與標準

也就是說,開發者從上一代只需要學習一套,頂多兩套(程式語言與資料庫)的技術,這下突然間暴增變成了至少要學習五、六套以上的技術,才有機會進行完美的演出了。

開發者除了要疲於應付高達五套的技術外,還得花費更多功夫去處理網際網路這種不穩定架構下的各種例外狀況

這回真的把很多優秀的開發者才給搞掛了!

光是從DOFI身邊所認識的朋友和同學當中,就可以看到許多優秀開發者都只能繼續開發2.0架構的系統,而直接放棄跨進3.0的架構。

 

小結

其實這些世代都有其應用面,而且也沒有相衝突的地方-然而重點在於,每個新世代出現的意義,所代表的是更多新機會,以及更廣與更新的應用層面

下一次,DOFI將會向大家進一步介紹最新Application 3.0的開發架構與特性優勢,進而讓各位去思考新一代架構的發展機會。請各位看倌繼續捧場。

呃!寫到這裡突然驚覺,這篇不小心寫得有點太嚴肅了,不曉得有幾個人有耐心看到這裡。所以還是趕快收筆,下次再繼續吧!…. XDD

各應用程式世代之間也有代溝?開發者面臨的挑戰是?