今作ってるKobo書籍検索サイトを 自分のGithub に上げた。
以下のような点は参考になると思う
- AngularJS における Controller, Service の扱い方
- AngularJS の開発手法 (Jasmine と Angular Mocks によるTest やテンプレ作成など)
- 国際化
- Travis CI による継続的インテグレーションとGithub 連携
逆に以下の点は網羅していない。今後の課題かな
- HTML テンプレート分割 ng-include
- 独自Directive
- e2e テスト
- ng-route html5 モードの場合 (これちゃんとやるにはwebサーバの設定が色々必要らしい)
利用外部API
API Key は隠してあるので、README にあるように、自分のAPI Key 使うようにしてください。
kimono ってサービスが最近あって、これが便利。毎日スクレイピングするページの場所と要素を選択するだけで毎日それを見に行ってサービス側で保存してくれる。開発者はAPIとしてそこにアクセスするだけでデータを取って来れる。今回はJSONPを用いてデータを取得している。
あとは Rakute Web Service.。今回はこのほとんど全ての機能を利用している。
AngularJS 雑感
開発期間はだいたい土日を使って3週間くらい。 このフレームワークの効率、恐ろしす。
ただねー、SEOを考えると色々ひどい部分があるw h1 要素を{{main.title}} みたいにクロールされるからひどいもんだよ。ここら辺対応してるサービス(AngularJS SEO で検索)もあるみたいだが、これに金払うのもなー。。
でも基本的にこれから作るWebアプリでjQueryという選択は間違いなくない。AngularJSを選択するだろう。てかAngularJS と jQueryは連携ができるので、超便利なjQueryプラグインがあって、どうしてもそれを使いたいときはjQueryを引っ張ってくるかも。
アップデートが激しい。今回は1.2.10 という最新版を使っているが、既に ng-translate は AngularJS の1.1.0 までを対象みたいなbowerの設定になっていたので、自分で fork して新しくbower に登録して 1.2.10 で動くようにした。そうしないと ng-animate が使えなくなっちゃうので。。 といった感じで bower のバージョンの依存関係がもしかしたらちょっとめんどくさくなることもありえる。まぁ一般的な ng-resource とか ng-route とかは ちゃんと本家 Angular のバージョンと合わせてるから、それ以外のモジュールを入れようとする場合にはそういう問題が起きそう。