作者bmzz (bmzz)
看板Soft_Job
標題Re: [討論] 未來JS based將是App開發主流?
時間Mon Feb 27 16:40:30 2017
我個人的經驗是,
跨平台方案在解決 90% 的場景時,可能只需要 70% 的力氣就可以完成雙平台。
但剩下的 10% 場景,你可能得花 N 倍的時間才能搞定。
N 是多少,看造化,可能接近無限大。
就看你的 APP 有沒有遇到這 10% 的場景,或是 APP 妥協去劣化,避開不易辦到的事。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.109.5
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1488184833.A.148.html
1F:推 YahooTaiwan: 我比較想知道,這 10% 是什麼場景? 02/27 16:54
基本上這個 10% 是我亂說的(誤
10% 的意思只是一種比例上的感覺,當然不會剛好是 10%..
2F:推 gotptt: native派:森77 我就是不想學新的啦 02/27 18:02
3F:推 Masakiad: 可以塞native lib,想知道為什麼寫成lib就變n超大,直 02/27 19:36
4F:→ Masakiad: 接native就不會 02/27 19:36
舉一個例子,在 Ionic 裡面呼叫原生有(調參數),但 Ionic 沒有的鍵盤。
(可以自行去查網頁能跳的鍵盤有哪幾種..)
你可能想說那我寫個 native lib 呼叫原生鍵盤,
然後你會發現 Ionic 的輸入框,點擊是網頁事件,你無法阻擋他不跳鍵盤,
雖然你可以監聽到他被點擊。
然後我試過 disable 輸入框,用點擊事件跳原生..但游標不會閃。
也試過在原生那端監聽鍵盤彈起來,我強制先收下網頁的,再跳自己的,然後
你會覺得他卡卡的。
而且輸入時我還要從原生那邊收到的,傳給網頁上的輸入框..
還有一些細節忘了,總之弄了好久好不容易疑似搞定了..
最後在使用者給我快速切換兩個輸入框時,又引發了其他怪異現象..
我最後是寫了一整套網頁版本的鍵盤(還是略不順),才讓客戶接受。
如果原生調參數 30 秒搞定,那這個 N 是多少?
5F:推 TSW: 個人經驗是稍微複雜的動畫、手勢等都會很麻煩,塞lib也無法解 02/27 20:39
6F:→ TSW: 決,最後都是劣化處理。 02/27 20:39
7F:→ TSW: 之前光是一個 pull to refresh 動畫效能就搞得我要死要活 02/27 20:45
8F:→ TSW: RN的ListView之前有bug會霸佔gesture responeder使得我沒辦法 02/27 20:49
9F:→ TSW: 在RN裡面刻自己的 pull to refresh 給每一個 ListView 02/27 20:50
10F:→ TSW: 別人包好的不是效能太渣就是不能自訂成設計要的樣子 02/27 20:51
11F:→ TSW: 最後礙於開發成本的關係就改設計劣化處理了。 02/27 20:53
12F:推 TSW: 其他的部分倒是開發的很快又很順。 02/27 20:56
13F:→ TSW: 上面的部分不是說 JS base 不好,而是想表達 RN 沒有那麼美好 02/27 20:58
14F:推 maxqq: 我刻一個簡單的 app 用原生寫 一個禮拜就寫完 覺得還好 02/27 21:42
15F:→ maxqq: 雙平台頂多三個禮拜 抄捷徑有時只是更費力 02/27 21:43
※ 編輯: bmzz (114.44.109.5), 02/27/2017 23:56:31
16F:推 oneheat: 只做普通的app重點應該擺在維護成本沒錯。 02/28 00:15
17F:→ oneheat: 做比較進階的app還用js就很自找麻煩了。 02/28 00:16
18F:推 GoalBased: 連鍵盤都沒有 根本沒法用= = 02/28 00:21
19F:推 gotptt: 我都用JNI的c畫圖 超級native 02/28 14:36