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

AngularJSを使ってタグベースのはてブビューアを作ってみた

f:id:hogesuke_1:20150330180058p:plain

はてブビューア Skimii
http://skimii.net

作ったもの

タグベースのはてブビューアを作りました。
ウォッチしたいキーワードをタグとして登録すると、ブックマークされたエントリをタグごとに一覧表示します。

Skimii

作った理由

自分の興味対象にピンポイントでアクセスしたいという理由です。 はてなブックマーク公式では、かなり大きなくくりでのカテゴリ分けなので、ウォッチしたい対象にピンポイントでアクセスしにくいなぁと感じていました。

タグごとにエントリを表示できるので、対象を絞ることができノイズの少ない情報を得られるかと思います。

しかしながら…

インタレスト機能 - はてなブックマークヘルプ
すでに公式で同じものが提供されています。作成途中で気づいた…

ただ、公式には無い機能もあります。

  • ブックマーク数の閾値設定
  • すでに読んだエントリを表示しない設定

構成

  • フロントエンド:AngularJS1.3、Bootstrap3
  • バックエンド:Ruby + Sinatra
  • サーバ:さくらVPS 1G
  • DB:MySQL
  • HTTPサーバ:Nginx
  • APサーバ:Unicorn

AngularJSの感想

Angularの最初の印象は、便利すごい最高って感じで完全に浮かれてた。これがあれば何でも簡単に作れると感じた。ただ、どんなものでもそうだけど正しい使い方をしなければだんだんと辛みが積もってくる。

自分の場合、Angularの正しい使い方がよく分からなくて、だいぶ右往左往した。そして、少し前の反Angular的なノリに便乗して、自分ワルクナイ、Angularワルイみたいな言い訳をしていた。

ただ、辛みが頂点に達して、どうにか改善しようと調べ始めるとだいたい解決策が存在して、それを適用するとかなり改善されるというブレイクスルーを何度か経験した。やっぱり自分が悪かったんや…。
しかし、これはかなり初心者的な話しなので、Angularはやっぱり最強だってことじゃなくて、最初の取っ付きやすさに反してAngularもそれなりに習得大変だなという感想。

ただ、ほんとにミニマムなツールであれば、辛みに気づく前に完成するので、そういうところで使うと最強であるかもしれない。

Angularで2つ作ったので、次はAngular2の正式リリースまで冬眠しようと思う。

Sinatraの感想

シンプルでいい。前にRailsに取り組んだときは覚えること多くてかなり辛かった思い出があるので、このシンプルさは本当にうれしい。

ただ、規模が大きくなったり複数人で開発するとなった場合は、Railsのレールが大いに機能するのだろうと思う。その点、sinatraは大規模な開発は弱いかもしれない。 だけど、自分が趣味で作る規模であればSinatraで十分だし、情報も多く転がってるのでこれからもお世話になりそう。

次に向けて

このWebアプリ作るのに4ヶ月かかっていて、ちょっと時間かかりすぎだなぁって思ってる。2ヶ月目ぐらいで雑に動くものはできてるんだけど、そこから詰めるのにさらに2ヶ月かかっている。
次は、ミニマムで雑だけど使えるものを目指して短時間での開発を意識したい。Reactで何か作る。1ヶ月でリリースしたいなぁ。

参考

はてブAPIでwebサービスを作りたい全ての人に向けて書きました
作成にあたり参考にしました。ありがとうございます。