社内で開催している開発コンテストでスライドアプリをElectronで作成してみた。
muryoimpl/slippr
作ったもの
テキストエリアに markdown かいたら preview 画面に変換されたHTMLが表示されて、全画面表示にするとスライド表示されて、前後のスライドに移動できるというもの。
おまけで、タイマー機能、rabbit のような現在のスライドと残りの表示、PDF印刷機能をつけている。
以下がこれを使って社内で雑にwebpackについて紹介したときのスライドをPDF印刷機能を使って出力したもの。
作った動機としては、frontend 周りの自主練をしていた時期に作ろうと思って止まっていたものを開発コンテストを理由に新たにReact, Redux使って作り始めた。
Linux で使えて、特にネットワークが必要なく、凝ったものを作る必要がないときにパッと作れるアプリが欲しかった、がスライドアプリを作ろうと思った動機。
作り始めてから marp なるものがあることを知ったけど、React, Reduxの勉強兼ねて作ってるからいっかーという気持ち。
雑にLTするぶんには使えるかな、と思う。なんとか動くところまでもっていけた。
作ってみて
実際に開発してみると、以前frontendの開発を避けていたときより、思ったより簡単に実現できるんだな、と思った。
勿論、ツールが揃ってきたいい時代というのが大きいのだけれども、苦手意識を持たずに調べて実装すると意外にできるものだな。
しかし不慣れなもので、CSSとかちょっとした動きつけるのとか結構たいへんだった。テストをつけられなかったのが心残り。
ちょうど webpacker が話題にあがっていたときに babel, webpack に触れていたのはただの偶然。更にお仕事でもちらっとReact, Redux使うことになったのも偶然。
いろんなものに触れておくのは大事ということを体験した。どこから何が起こるかはわからない。
開発コンテストについて
社内の開発コンテストは、以下のいくつかの動機で始めたもの。
- 普段のお仕事で使わない技術を使って何かを作ってみる
- 普段一緒に仕事をしない人とプロジェクトを組んで作業をする
- ある技術に知見があるがここにいるよ、という紹介
- 部署やチームをまたがったコミュニケーションの促進
ちょっと運営に噛んでいるので、エントリ数を増やすために私は個人参加してるのですが
このあたりの話は、関西Ruby会議2017 で話しすることになりそう。
で、来週から社内で投票を行って競う予定になっているので、それなりの結果がでるといいな。