看板 Soft_Job 關於我們 聯絡資訊
最近剛好接觸到 elm-lang https://elm-lang.org/ 意外的感覺這個跟react 跟angular 相較起來很有效率 還沒仔細嘗試 func lang 的功能 不知道有沒有先進用過 elm 來開發前端? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.101.105 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1579321918.A.A6A.html ※ 編輯: qitisland (61.227.101.105 臺灣), 01/18/2020 12:32:56
CoNsTaR: 和人互動的東西 (UI/UX/IO...) 用函數式做是想不開還是.. 01/18 13:51
CoNsTaR: . 01/18 13:51
OhGNM: Sovmedcare有玩過,可以去Github看看 01/18 14:55
Phenomenon: 為什麼跟人互動就不能函數式? 01/18 18:47
CoNsTaR: 要比喻的話,操作型語言(例物件導向)之於點陣圖 01/18 23:06
CoNsTaR: 就像定義型語言(例函數式)之於向量圖 01/18 23:06
CoNsTaR: 點陣圖你哪邊須要什麼就加上去就好,適合隨時修改、新增 01/18 23:06
CoNsTaR: 、刪除,也適合複雜、難以規約的圖 01/18 23:06
CoNsTaR: 向量圖希望把圖規約成幾何圖形,畫成沒有誤差之後就不去 01/18 23:06
CoNsTaR: 動它,適合商標、圖示之類不會變、簡約、有組織的圖 01/18 23:06
CoNsTaR: 如果你想要用函數式做 UI/UX 的話,你可能須要把人的習慣 01/18 23:06
CoNsTaR: 、覺得方不方便、喜好,背後的原因都找出來用程式建模, 01/18 23:06
CoNsTaR: 否則程式會變超亂超難懂,就像硬要把照片轉成 svg 一樣, 01/18 23:06
CoNsTaR: 裡面的向量根本看不懂,也失去了函數式萬物皆有道理的初 01/18 23:06
CoNsTaR: 衷 01/18 23:06
CoNsTaR: 可能你常常會覺得程式裡某個片段或某部分用函數式很適合 01/18 23:06
CoNsTaR: ,但這不代表整個程式都適合規約成函數式 01/18 23:06
zeroshine: 現在 UI 走 functional 是顯學吧 約束簡化狀態改變的 01/19 00:52
zeroshine: 度 是在 UI 這種容易有複雜狀態共享中很需要的一件事 01/19 00:54
zeroshine: ^複雜 01/19 00:56
CoNsTaR: 先分成用函數式建立 framework,和用函數式使用 framewor 01/19 01:53
CoNsTaR: k,我想原 Po 問的是後者 01/19 01:53
CoNsTaR: 函數式建立框架就像圖片邊界用向量表示,或許很適合,但 01/19 01:53
CoNsTaR: 不代表邊界以外的部分也適合用向量 01/19 01:53
CoNsTaR: 而且,目前只是發現函數式的某些特性有利於設計 UI 框架 01/19 01:53
CoNsTaR: 而已,不是整個 functional 都適合 UI 01/19 01:53
CoNsTaR: 舉個例子,目前的函數式語言普遍不承認 subtyping 就是一 01/19 01:53
CoNsTaR: 個造成難以真正使用純函數式設計 UI 框架的原因 01/19 01:53
CoNsTaR: 像 Rust 就是因為不承認 subtyping,所以雖然它也很函數 01/19 01:53
CoNsTaR: 式,但是到現在也還沒有堪用的 UI framework(這個問題已 01/19 01:53
CoNsTaR: 經被討論過很久了) 01/19 01:53
CoNsTaR: 更何況是 elm 這種純函數式的語言,而且還是使用框架而 01/19 01:53
CoNsTaR: 不是建立框架 01/19 01:53
radishs: https://www.noredink.com/ 語言作者工作的公司,都是用 01/19 14:03
radishs: elm 開發完成前端,看不出來不適合在哪裡 01/19 14:04
radishs: http://builtwithelm.co/ 有更多使用的網站 01/19 14:08
radishs: https://youtu.be/jl1tGiUiTtI 作者講端框架的趨同演化 01/19 14:14
radishs: *前端框架 01/19 14:14
CoNsTaR: 我已經把問題跟你講了,也告訴你有 subtyping 的語言比 01/19 23:09
CoNsTaR: 較適合,要不要用就你的問題啦 01/19 23:09
CoNsTaR: (補充一下,如果不要 subtyping,那就要有 dependent ty 01/19 23:09
CoNsTaR: pes 以及一個很好的模組系統,但這樣也不會比較簡單就是 01/19 23:09
CoNsTaR: 了 01/19 23:09
CoNsTaR: 再隨便舉個例子,關於作者的 talk,你有沒有發現 div、bu 01/19 23:09
CoNsTaR: tton 等等都是函數,不是建構子? 01/19 23:09
CoNsTaR: 這意味著什麼?他把函數當作降階的 GADT 來用,為什麼不 01/19 23:09
CoNsTaR: 用真正 type safe、immutable、it compiles it runs 的 G 01/19 23:09
CoNsTaR: ADT 呢?因為沒有 subtyping 01/19 23:09
CoNsTaR: 要是你不認為這些問題是問題,那就當作是沒問題吧... 01/19 23:09
caasih: functional GUI 的一種做法是將 input 看成 steam ,然後 01/21 00:33
caasih: 把 UI 和使用者行為設計成方便組合的樣子,好把 input 01/21 00:34
caasih: 轉換成每個 frame 該畫的畫面,好奇這種做法也必須要倚靠 01/21 00:35
caasih: subtyping 嗎? 01/21 00:35
qwdfbn: 生態差太多了,要做認真的產品再考慮考慮吧。玩玩就沒差囉 01/21 12:06
qwdfbn: 用 elm, purescript 等語言去開發就是種浪漫而已~ 01/21 12:07
CoNsTaR: 一樣啊,除非你的 UI 元件種類是固定寫死的 01/25 08:36
CoNsTaR: 問題是出在 modeling input,要兼顧 ad-hoc、type safty 01/25 08:36
CoNsTaR: 和 decidability 01/25 08:36
CoNsTaR: 如果須要的 types 都用某些未知方法生出來了,那你講的東 01/25 08:36
CoNsTaR: 西就是 obvious 沒錯 01/25 08:36