2019年末は東京ディズニー・シーでカウントダウンに参戦しておりました川合(@Ricckn)です。すごい風で寒かった・・・。
そんなめでたい2020年ですが、Thinkingreedも年末にOSS Calendarを大幅アップデートして公開しています!
ほぼ0から作り直しに近い形でv2.0を公開しましたので、見た目、機能の変更がいくつかあるのですが、ここではOSS Calendar開発に伴い、開発して気づいたところ周りをまとめていければと思います。
thinkingreed-inc/oss-calendar: OSS Calendarは企業で使うことを想定したオープンソースのカレンダーアプリです。
モチベーション
OSS Calendarは2018年に公開したプロダクトです。
企業で使うことを想定したオープンソースのカレンダーアプリで、ゼロスクラッチで開発するとコスト高騰になりがちなカレンダーアプリの雛形として利用してもらえればという思いがあります。
昨今、React.jsやVue.jsといった仮想DOMを使ったViewライブラリ郡の発達、さらにPHPならばLaravelなどの優秀なMVCフレームワークが簡単に利用可能になっていることから、開発がしやすく、動作も機敏なOSS Calendar v2.0を開発を行おう!!と決まったのが昨年の夏ごろとなります。
技術周りについて
モチベーションの項目にも書きましたが、React.js、またはVue.jsを使うことと、v1.0で利用しているLaravelは引き続き利用する流れとなり、最終的に開発担当者がVue.jsを使っていたため、Vue.jsにて実装が始まりました。
- Laravel 5.8(主にAPIサーバー)
- Vue.js(Nuxt.js、Vuetify)
Laravelは主にAPIとして利用していますが、やはり完成度が高いです。
日本語情報も多く、メインのプロダクトであるF-RevoCRMがPHPであることもあり、大変便利に使わせていただきました。
MVCのView部分に関して、F-RevoCRMは独自のMVCフレームワーク、vTigerフレームワーク上で動いてはいますが、View部分は仮想DOMに対応していません。
その為、Vue.jsのようなフレームワークを触っていない方が開発する際は、やはりそれなりに学習コストがかかったようです。
ですが、Vue.jsの日本語での情報量の多さと、Nuxt.jsの便利さ、Vuetifyによるデザイン部分と、比較的容易に開発できました。
今後の展望
兎にも角にも、今回はGithubで公開するという選択を取りましたので、皆様からのIssue、PullRequestには迅速に対応できるようにしていきます。
機能として、まだ足りていないもの(例えば、カレンダーで1年後を選択するとき、今のままでは月次カレンダーで12回、次の月を幼くてはいけません)がありますので、これらは提案としてIssue登録していただけると助かります。
※私が勝手に追加しそうですが・・・。
また、社内的には「F-RevoCRMとの連携機能」を作成したい思いがあります。
F-RevoCRMの予定表モジュールは、SFA領域に於ける活動結果の入力をメインの機能として考えられており、弊社の方でも改良を行って、「スケジューラー」としての機能改善は行いましたが、根本的なところで少し考え方が異なります。
そこで、スケジューラーとしてはOSS Calendarを使い、連携を行い、F-RevoCRM上で活動結果の蓄積をすることで、スケジューリングの便利さと、活動登録を同時に行えるようなオプションを作成できればと考えておます。
終わりに
これからもOSS Calendarを改修していきますので、ぜひスターの登録等よろしくおねがいします。
thinkingreed-inc/oss-calendar: OSS Calendarは企業で使うことを想定したオープンソースのカレンダーアプリです。