Translate

2017/07/30

FMX的設計硬傷,如何做出正確的跨平台UI設計?


最近再一次體驗Delphi在行動平台上的開發,接觸了許多官方和部落客的教學文章,做出來的APP卻總覺得只算是差強人意,視覺上有驚艷,但是體驗卻跟不上視覺所帶來的強烈感受。

大部分功能單一的元件沒有問題,複合功能多的用起來會有【可以用,但有說不上來的怪怪感】,整理起來不脫以下情形:


體感效果遲滯
在實機操作上,上下滑動很明顯感受到流暢度不足,用起來卡卡的。

特殊的元件擴充功能在Sample區才找得到
官方的Sample目錄有許多要傳達給開發人的設計方法,但是大多就是【Demo】上的應用,實際商用還是有一段距離,但是現有的元件擴充功能也放在這裡,【真的可以拿來用嗎?】的內心OS不斷地再腦海裡發出無盡 Echo。

如果真的好用,直接整合到內建元件中不是更好嗎?在新版的Doc非常豐富,要完整介紹擴充功能肯定是可行的!

想來想去,只有一種可能性:


框架的特性所造成的硬傷,使它在平台上的表現無法這麼完美。


FMX的FireUI原理是使用圖像引擎,動態繪製出平台物件給使用者看、動態模擬物件事件供使用者互動,正因如此,它的表現方式註定了要給使用者帶來良好互動體驗的高困難度。

Delphi 很清楚這個道理,從建立FMX新專案裡所自帶的六個樣板中就可以看出端倪。
Blank 也要算嗎?好吧,那就算是 7 個樣板



為何一定要做的和原生APP的習慣一樣?應該發揮自己擅長的特色來設計才是!



FMX擅長的是什麼,當然是【資料庫程式設計】啊!不然是要寫啥!


以一個在Android常見的列表清單功能為例:

圖片來源

Delphi FMX 也可以做到上圖展示的功能,但卻一定會遇到上面兩個狀況,如果硬要達成【一模一樣】的目標,這對開發者和使用者都是一種折磨。

然而,Delphi FMX 是以提供了另一種設計方式來達成這個效果



平平一樣都可以達成目標,面對限制,可以選擇死嗑障礙,或是繞過障礙。



就以『葉問』電影中,葉問曾和洪師傅說過一句話作結尾:



【不要跟它硬拼,試著切它中路】

沒有留言:

張貼留言

DataSnap REST API Authorization with PHP

About Authentication with DataSet REST JavaScript client. In connection.js: function setCredentials(user, password) { connectionInf...