
如圖所示,最近博客來網路書店VB程式設計類書的排行榜盤據前兩名都是使用B4A這個軟體製作Android App的書,也讓我寫的書只能「屈居」第三。就當我是攻擊對手,間接拉抬自己的作品排名吧?我真的忍不住想提醒這些買書的人士,多考慮一下,B4A用處不大的!因為我自己就嘗試學過也用過,同時因為工作的需要,分析評估過其他的App解決方案,結論是學B4A真的沒用。其實在金石堂書店排行榜上,B4A的書也熱銷過一陣子,現在已下滑到二三十名之外了!
B4A的全名是Basic For Android,簡單說就是使用VB語言設計Android App的工具軟體。Basic是最多程式設計入門者學習的語言,早期(VB6時代及以前)被專家譏為初學者的玩具,功能廣度與效能都比C語言差很多,但是到了.NET時代,因為基底函式庫的整合,目前VB已經與C#等語言平起平坐,我自己工作時的首選語言就是VB!
但是近年來App的需求興起,真的給VB愛用者一個大麻煩,因為行動裝置主流的Android系統是不支援VB的,想設計App就必須改用比VB難用好幾倍的Java語言,即使是會用Java的高手都難免生產力降低(開發速度變慢)的狀況。我剛看到B4A時也是見獵心喜,甚至帶學生去聽過原作者開講的一天研習課程。回來與資深工程師一起將整本書的主要內容都讀過,還寫出部分程式做測試評估,結論是擺在一邊,B4A始終沒有參與過我們的實際開發工作。
這個軟體的源起其實是微軟推銷自己的行動裝置作業平台Mobile 6的時候,一個以色列的協力廠商開發的,算是精簡版的VB,但是後來Mobile作業系統在市場消失了,真正興起的是Android!所以該公司就想將這套VB移植到Android系統,但是因為作業系統本質上的差異太大,最終只是變成一個VB到Java程式專案的翻譯器!
如果你實際用過B4A,就會發現其實和Java一樣難用,完全沒有想像中VB的圖形化操作便利性,只有程式語法「相似」,但也不是完全一樣。當我學會如何使用B4A時發現我也已經學會操作Java專案了,那就直接用Java吧!何必隔靴搔癢多個B4A來翻譯呢?
另一方面,我的老闆在意的是:這個軟體可以搞定iPhone的App嗎?當然不行!都說了是4A,For Android嘛!所以回歸到我的團隊熟悉的HTML5就可以只寫一個JavaScript為主的網頁程式就兼顧兩個主流的行動裝置作業系統了!B4A只解決了VB使用者不熟悉Java語法的問題,但是老實說Java最麻煩的部分並不是程式碼的語法(再難也不過就是C語言的語法嘛!),而是專案架構與周邊資源運用的方式,這方面B4A一點都沒簡化!所以我說要學B4A,不如乾脆直接學Android Java比較快。
總之,鄉下老師不騙人的,不管你是高手還是初學者,都不會從B4A得到任何讓你滿意的效果。想用VB開發Android App目前還是一個不切實際的幻想,B4A其實還是一個Java專案而已,建議你直接學Java,或者改攻HTML5架構的App製作模式(學好JavaScript+CSS+HTML),都比浪費時間學B4A有價值得多!
限會員,要發表迴響,請先登入







