公司老闆之前請人開發了一些App程式,主要是做一些活動的網路報名之用,但是據說這種「人才」很難找,做到一半還準備離職,所以希望我招收的新員工(要幫我寫程式的)能接手繼續開發。昨天我帶學生(新員工)去台中公司報到,順便了解如何接手此項工作,之後就寫了信提出一些技術建議,我想對於App開發有興趣的人也可以參考一下我的看法,有無道理就自己判斷囉!信的內容如下:
(老闆名諱):
稍稍了解您的App開發現狀與需求後,我比較建議不要繼續使用Java程式開發。因為雖然Android非常火熱,Java也號稱跨平台,但是據我所知只有HTML是真正跨平台的語言!用Java寫的App無法直接適用於iOS或Windows 8,但是HTML+JavaScript(網頁架構)的App可以!目前業界開發App的尷尬之處是一樣功能的程式要在iOS及Android都適用,就必須用兩種語言(Java & Object C)各開發一次。直接用HTML+JavaScript開發則沒有這種問題,因為每個作業系統都有瀏覽器,也就都可以直接解讀這種App。以技術層面看,如果「不用」這種架構開發App的原因,我認為有三個:
1. 速度不夠快,如即時互動的遊戲程式
2. 較難直接與資料庫等伺服端功能結合
3. 一般程式師覺得傳統程式語言功能強於網頁JavaScript語言的成見!
如昨天討論,速度對於目前公司想開發的App來說不是問題(需求不高)。
至於與資料庫的互動只是開發者對於JavaScript程式的通訊功能技術掌握的程度不夠而已,以我目前熟悉的技術是可以用HTML+JavaScript與伺服端資料庫或程式順暢溝通的,所以才能指導學生做很多完全不使用外掛元件(Flash、Java Applet或ActiveX)的網頁連線遊戲。
這些技術或許開發出來的遊戲效能略略不如直接用Java或Object C開發的原生碼程式,但是確實可以與伺服端資料庫及各種程式功能無縫接軌,不只是你需要的報名系統,甚至簡單的通訊軟體都可以做得出來!其實Google的所有網頁程式,以及FaceBook早期開發(包括互動遊戲)也都是這麼做的!
簡單說,即使是已經寫好的那些Java App,我估計找我的其他學生重新用HTML+JavaScript改寫的時間,比起讓(新員工名諱)重新學Java App繼續製作的時間還更快!而且我聽(新員工名諱)說那個系統被搞得相當複雜,還夾雜有PHP程式元件等怪怪的東西,所以讓她聽得相當迷惑,因為照我們所知技術,要達到目標功能根本不需要這麼複雜的!
Java+PHP真的是很奇怪的組合?理論上我們可以用Java搭配資料庫寫成一般視窗程式(exe),也可以使用PHP搭配資料庫寫成網頁程式,都可以完全達到需求的功能,如果會做成這樣,可能原因之一是確實有些資源在某一程式函式庫中不支援,所以外叫其他語言的功能,以前我用VB6寫程式就常常需要呼叫API(實際上是C語言函式庫)。
但是這麼簡單的功能應該任何語言都能獨立完成的!所以我不免會判斷為第二個原因:就是程式師功力不夠,不會用主要使用的程式達到目的,就亂亂搜一些撇步,或忍不住使用之前自己比較熟悉的另一種語言的功能。我指導過很多學生開發商業系統,聰明但是功力還不夠深的程式師非常容易開發出這種過度「複雜」的程式!反正老闆們不會看內容,只看結果功能,所以都不會被質疑 (我自己也是這樣過來的)。換言之,我猜想目前已開發的程式不是甚麼值得珍藏研究,並以之為基礎繼續開發的好作品。
以上請您參考!
張逸中
限會員,要發表迴響,請先登入