読者です 読者をやめる 読者になる 読者になる

Node.js+React+ReduxでTwitterクライアントを作った

ReactとReduxの習作として、ブラウザで動くTwitterクライアントを作った。

サーバーサイドはNode.js。Expressも使っている。
JavaScriptだけでこういったものが作れるのだからすごい。

APIとやり取りをして情報を送受信し、それを元にビューを構築。
ユーザーのアクションを受け取ってまたAPIとやり取りをして。
といった、フロントエンド開発っぽいことをやれたのはよかった。

特にホーム画面は、SPAっぽいものを作れたと思う。

無論、いろいろと課題も残っているけど。
サーバーサイドレンダリングをやれていないから初回のレンダリングに時間が掛かってしまうし、タイムラインはREST APIではなくStreaming APIで自動取得できるようにしたかった。
時間がなくて断念した。

開発スピード、というのは今後の大きな課題だと思う。

とはいえ、所期の目的は達成できた。

ReactやReduxを理解するためにはある程度規模があったほうがいいということでTwitterクライアントにしたが、実際に勉強になった。
コンポーネントはステートレスであるように心掛け、Reduxで管理している状態を受け取るだけ、というお作法を自分なりに実践できた。

Gitの理解も多少は進んだ。
やはり実際に使うことでしか、理解は深まらない。こういう時はどうすればいいんだろうと調べ、実際に使うからこそ、覚える。


今年いろいろやってきたことの総決算という感じで、よかった。
開発を進める度に課題は発生するが、一つ一つにはそれほど苦しむことはなかった。自分の引き出しで対応できるものが多く、立ち止まって考え込んでしまうことはほとんど無かった気がする。

プログラミングを勉強し始めた頃は、どうすればいいのか検討もつかずに途方に暮れることが度々あった。
やりたいことを実現するのに何をすればいいのか、さっぱり分からなくて。

今回は、そういうことは無かった。
課題にぶつかった時、どういう風に解決していくべきなのか、大凡の当たりがつく。

そうすれば、調べるのも簡単になる。
調べる対象も、「解決方法」や「アプローチ」ではなく、「具体的な実装方法」になるので、比較的見つけやすい。

以前に比べれば地力がついたということだろう。

当たりはつくのだ。大まかなゴールは自分で見つけられる(それがベストの解法とは限らないけど)。
ただ、それを実装していくのに時間が掛かってしまう。


まだまだ初心者だし、サーバーサイドの知識はまだかなり浅く、インフラに至ってはさっぱりなので、来年も頑張っていきましょう。