読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

Twitterを作る 第1回 概要

Twitterを作る 連載 Django React python program

これからTwitterを作って行くところを少しずつ公開していきたいと思う。 下記のような環境で作成していく。

Django

Djangopythonフレームワーク。 慣れているCakePHPの方が早いが面白くないのでDjangoを練習しつつ作成。 (python3.5 + Django1.9.7)

ちなみにtwitterRuby on RailsからJavaVMに移行していっている様で、pythonとは何の関係もなさそう。 ただ、Instagramdjangoで作成されているらしい。 また、pythonGoogleでよく利用されているし、良い言語であることは間違いなさそう。

実際に、使ってみてまだちょっとしか経っていないがかなり好きになってきている。 ひとまず現状の理由としては下記のようなものがあげられる。

管理画面が勝手に作られる

adminページがあり、DBやモデルの作成が進んで行くと勝手に管理画面が作られていく。 仕様の細かい案件等では使いづらいかもしれないが、 こうやって一人で勝手に作っていったり要件のゆるい案件では非常に役立つし無駄な工数削減になる。

情報が見つかりやすい

公式のドキュメントにはわりと欲しい情報が載っているし、 検索すればそこそこすぐに情報が見つかりハマりにくい気がする。 もしかすると英語前提かも知れないがプログラムなのであまり関係ないだろう。

進化してきている

何かやりたいことがある時、古い情報が見つかると、「面倒だな…」と思うことがあるが、 最新の情報をよくよく見ていると結構洗練されていたりする。 最新のWEB開発が好きな人は結構ハマるのではないかと思う。

面倒な部分

慣れていないと環境構築が結構面倒かもしれない。 今のところWindowsMySQLに接続する方法が分かっていなかったりする。 (サーバーにあげて動作確認している)

React + webpack + superagent + material-ui

Twitterは基本的にSPAっぽいので、基本的にjavascriptで作成し、サーバー側はAPIとして動かしていく必要がある。 そうなるとReactかAngular2になってくると思うが、今回はちょっと型管理が面倒なのでReactを選んだ。

サーバーとの通信はsuperagentを利用し、webpackでビルドする。 とりあえず、webpackで1ファイルになってくれるのはやはり非常に楽。 多くのストレスを軽減してくれる。

UIはmaterial-uiを使用する。 よく出来ていて、今回の様なアプリケーションの場合はすごく使いやすい。

アプリ名

Djangoで作成するdummyのtwitterなのでDumitterとする。

方針

可能な限り似せる。ただしすぐできる範囲。面倒なことは一切やらない。 (ほぼmaterial-uiそのまま)

あと記事の方針としてはなるべく進めていく状況や難しい箇所の説明を入れたいので、 他で調べれば出てくるような細かい技術は解説しない予定。 あくまで娯楽であり教材ではない。

公開場所

https://alphabrend.sakura.ne.jp/dumitter/

次回から実際に開発状況を公開していく予定。

Twitterを作る 第2回 認証 - アルファブレンド プログラミングチップス