移動應用上,好的設計是不是對開發者的代碼邏輯有益?
題主初學 Android 不久,最近關注到 @NovaDNG 前輩的一系列關於 Anroid Design 的回答。我猜想那些 UI 設計比較怪異,或者說沒有好好利用 Anroid Design 的 app 是不是會影響到開發者在開發時的代碼邏輯,簡潔度或者代碼優雅度? 歡迎有 Android 開發方面經驗的 designer 和 developer 來指教一下?
謝邀。
我自己覺得,設計的好壞和代碼質量有間接的關係,尤其是對於個人開發者。
如果一個開發者對於Android Design有著比較好的理解,通常他已經身經百戰,比那些亂用UI元素的人不知強到哪裡去了。
當然,這個影響並不是很大,最主要還是需要看開發者本身編碼的經驗。打個比方,如果一個人之前從事J2ME、J2EE開發很久,轉向Android開發,最初他的UI設計也許會不好,但是不代表他編碼水平差。
理論上……不會……
但是有這麼幾點可能出現的影響:
1.如果不使用標準的Android控制項,自定義的話會增加工作量
2.如果設計水平很高的話,布局文件會簡潔一些,相當於減少了工作量
3.如果設計水平很高,設計了很多很炫的交互效果,工作量會大增
4.如果真的連ActionBar都不屑於用,那就得多寫幾行代碼把這東西去掉了==
5.Fragment和Activity大概是我能想到對代碼結構影響最大的東西吧,但是這個在導航層級上體現比較明顯,其他的地方影響也不是很大。
比如說我……我寫的代碼就在優雅和簡潔的左側,但是中間隔著一道銀河……
個人認為不會……好的設計會讓代碼更複雜,因為需要更多的代碼去實現創新的部分 ^_^
首先看你怎麼界定「好的設計」,遵循Android設計規範不代表就算是好的設計,這只是一個底線或是基礎,設計師在這個設計規範上的發揮才是設計的部分,同樣開發者需要更牛技術才能讓設計變為應用中可操作的現實,設計雖易,實現不易。想想一些創新的優秀設計,例如G+的橡皮筋式下拉刷新,實現起來,一定會比僅在actionbar上裝一個刷新按鈕要複雜得多,所謂的代碼「簡潔度」「優雅度」都降低了,但應用本身變得更「簡潔」和「優雅」。使用自定義控制項,給用戶眼前一亮的感覺,需要自己編寫代碼完成本身使用一個系統控制項就能搞定的功能,操作的創新,如下拉刷新,滑動刪除,需要重寫系統組件,這些都增加了代碼的複雜度和開發的工作量,對比左右兩個選擇時間的對話框,
是不是好的設計另說,左邊的實現了類似iOS7的對話框背景模糊,選擇時間的方式也是自定義的方式,右邊則是簡單的調用了系統的TimePicker控制項,兩者的開發複雜程度不可同日而語
相反的是如果僅使用系統控制項,每一個控制項都是照搬系統控制項組合實現應用的功能,改改主題色啊什麼的,是最省時省力的做法,但這不算是「好的設計」,甚至還未觸及設計的部分,畢竟用的都是別人現成的
拋開計量談毒性都是耍流氓。好的設計應該是「流暢完成目標」的那些設計方案中,對代碼最友善的那個。
而反過來說,方便開發的設計是好設計,就不成立了。因為:粗劣的設計各有各的粗劣,而優秀的設計只有那麼一兩個。
無論 iOS 還是 Android,明明面對的情況平台設計規範無法覆蓋到,還硬要去套用,只會更顯拙劣。陷入這樣的思維,抽屜導航和下拉刷新都不會出現了...design 不僅僅是指UI,樓上有幾位說的狹隘了
正常的開發流程是: 產品經理設計原型——UI和交互根據原型框架,設計視覺稿和交互稿——開發依據是交互稿和視覺稿。 產品經理在整個過程審核和把關,因為他是原始需求的輸出者,他得知道項目進展過程中,有沒有違背原始初衷。
所以最原始的設計有產品經理完成,他懂得一點開發,能夠將產品設計得對開發者邏輯有益,換句話就是: 開發難度不會太為難,為以後的功能擴展留有餘地。
推薦閱讀: