takecian

Diary

30 Dec 2018

気になっていること

今気になっている技術

技術的なところでいうと先月書いた Playground driven development いいなという気持ちは変わっておらず、追加で英語のべんきょうもかねて Functional Swift Conferenceの動画を見てた。

まだ全部見てないけど特にいいなと思ったのが Compositional UI Styling というトーク。デザインの設定を細切れにした関数を結合することで行うようにしようという試み。

結構簡潔にできそうで少し試してみた。

1つ2つのUIに適応するだけだとあまりメリットなさそうだけど、例えば色の設定とか複数のUIに適応したいものを関するとして作っておいて、その関数を使って求める適応するとメンテナンスがしやすくているさそう例えばこんな感じ。

let style = styleViewBackgroundColor(.red) <>
            styleViewBorder(color: .blue, width: 10)

このコードは背景を赤色にしてボーダーを青色、太さ10に設定する関数を作っています。この style は (UIView) -> Void型で、つまり関数なので、UIに適応することができる。

let button = UIButton()
let label = UILabel()

style(button)
style(label)

コードはボタンとラベルに背景色とボーダーの設定をしています。コードでデザインの定義ができるとメンテナンスがしやすい気がします。それに関数型プログラミングって感じある。状態を持たずにシンプルな関数を合成してやりたいことをやっていくってパズル要素もあって楽しい。

このような関数をたくさん作ったものをライブラリとしてまとめてみた。(ComposableStyling)[https://github.com/takecian/ComposableStyling]。 スターはまだない(誰かつけて欲しい)

後は Flutter も 1.0 になったし年に一つの言語に触れなさいという話もあるので Dart を触ってみようか。

#去年は Python を勉強してた。

競プロも最近止まってるからまた少しずつ再開しよう。育児が始まると AtCoder みたいな固定時間でやるのは難しそうだけど問題解くくらいはできるかな。