AbemaTVのサービスがはじまって以来ずっと、ずっとずっとそう思わされていました。思わせられ続けていました。そんな折、勤め先でいろいろなことがあり時間が生まれたので、BaberuTVの開発に着手しました。なにを使っているのかBaberuTVでは、できる限り最新の流行を踏襲することを大前提としています。ビルド関係JavaScriptはいわゆるES.nextの構文やAPIをふんだんに使い、webpackを用いてバンドルを行っています。4にもなっていない構文も使っているため、多くのウェブブラウザーとNode.jsでは当然動きません。2016に合致するようにトランスパイルさせています。2016の仕様に準拠させているため、最新のウェブブラウザーでなければ動作しません。個人で開発しているウェブサービスなので気にすることではないでしょう。HTTP/2での接続を前提としていてバンドルさせる意義は薄いのですが、現状のJavaScript周辺のエコシステムがバンドルさせることを前提としているため、そちらにあわせました。最新技術をキャッチアップするという目的意識から外れるようなことをあえてする理由もありません。UIUIを構築するためのライブラリーとしてReactを使っています。これは流行しているから、というだけではなくAbemaTVを踏襲しました。AbemaTVではFluxの実装としてFluxibleを使っていますが、BaberuTVではなにも使っていません。contextを子孫コンポーネントに引き渡して、コンポーネントをまたいだ処理を行っています。これは小規模に済ませ、あまり複雑になりすぎないようにということを意図していますが、大規模になるとまわらなくなるのである程度のタイミングでAbemaTVと同様にFluxibleを使おうと考えています。Edge以外のウェブブラウザーではネイティブ動作しないため、hls.jsを使っています。おわりにBaberuTVはGitHubで開発と運用をしています。現状コミットをしているのはわたしだけですが、まずはじめにIssueを作り、Projectで進行状況の確認ができるようにしています。Requestを作ってコミットをマージすることによって関連するIssueをクローズさせるという運用をしています。これは普通のソフトウェア開発を踏襲させたかったためです。普通が一番効率が良いものであるとわたしは固く信じています。BaberuTVのレポジトリーはbaberutv/baberutvです。LicenseのOSSです。Requestをお送りください。心より歓迎いたします。keyboard_arrow_leftピクシブ株式会社を退職しますペンと剣keyboard_arrow_right運営者情報プライバシーポリシ。