Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20151205フルスクラッチcms作成のノウハウ With Laravel

2,025 views

Published on

Remixing Vol.3 with オールアバウト and LIG
https://remixing.doorkeeper.jp/events/34982
で発表した資料になります。
CMS開発を汎用CMSを使うのかフルスクラッチするのか。
また、LaravelでフルスクラッチCMSを作る時のノウハウなどについて。

Published in: Engineering
  • Be the first to comment

20151205フルスクラッチcms作成のノウハウ With Laravel

  1. 1. フルスクラッチ CMS作成ノウハウ With Laravel 株式会社オールアバウト 吉田 拓実 (@y_takky2014) 1
  2. 2. 自己紹介 吉田拓実(Yoshida Takumi) @y_takky2014 https://twitter.com/y_takky2014 http://qiita.com/takky 趣味 Copyright 2015 All About,inc. 2
  3. 3. 最近のお仕事 All About Japanの新規開発 Copyright 2015 All About,inc. 3
  4. 4. 今回伝えたいこと フルスクラッチでCMSを開発する際の メリット・デメリット LaravelでCMSを開発する良さ 開発のノウハウ Copyright 2015 All About,inc. 4
  5. 5. CMS何使ってます? Copyright 2015 All About,inc. 5
  6. 6. 汎用CMSを案件で使うメリット 権限管理・画像アップロード・ プレビュー機能など基本的なものは 揃っている 実装の必要がほぼない Copyright 2015 All About,inc. 6 UPLOAD PREVIEW
  7. 7. 汎用CMSのデメリット 拡張しづらい データの持ち方がCMS依存 要件が複雑だとコアに手を入れないと 実現不可なことも・・・ CMS自体のアップデートや プラグインのアップデートができない Copyright 2015 All About,inc. 7
  8. 8. 汎用CMSの限界と今回の要件 CMSも多言語化する 外部ライターも執筆する。 IDとして自社のログインサービスを 使用する Copyright 2015 All About,inc. 8
  9. 9. 管理する要素 記事 執筆者 テーマ(トップページのデザイン設定) タグ 記事タイプが3種類 まとめっぽいもの 1ページもの 旅行の日程みたいに日毎に ページングするもの Copyright 2015 All About,inc. 9 汎用CMSの限界と今回の要件
  10. 10. フルスクラッチを決断した理由 要件を満たせる汎用CMSがなかった 要件満たすように改修しても 同じくらいの工数がかかりそうだった 幸いにもリソースに余裕があった 今後の拡張やメンテのことを考えて 汎用CMSでメディアの長期運営は難しい 一時期WordPressで実装していたことも・・ Copyright 2015 All About,inc. 10
  11. 11. CMSをフルスクラッチで作る メリット 社内の細かい要望を叶えられる Copyright 2015 All About,inc. 11 この機能では画像アップロードの 時にトリミングを こっちではトリミング機能いらない
  12. 12. CMSをフルスクラッチで作る メリット 社内の細かい要望を叶えられる Copyright 2015 All About,inc. 12 この機能では画像アップロードの 時にトリミングを こっちではトリミング機能いらない 編集中にミスってブラウザバック して編集内容なくなるから アラート出すようにして
  13. 13. 記事データの活用が容易 Copyright 2015 All About,inc. 13 CMSをフルスクラッチで作る メリット CMS DB Front RSS API
  14. 14. リリース後のメンテナンス 機能拡張が容易 Copyright 2015 All About,inc. 14 CMSをフルスクラッチで作る メリット 新しく記事をまとめ直した ページを作りたい
  15. 15. フルスクラッチのデメリット 各機能の実装が必要 コード量・開発工数は多い Copyright 2015 All About,inc. 15 UPLOAD TRIMMING PREVIEW ROLE
  16. 16. ここまでのまとめ Copyright 2015 All About,inc. 16 フルスクラッチ 汎用CMS 自分で機能の実装が必要 機能が用意されている 工数がかかる 少ない工数で実装可能 拡張の実装がしやすい 拡張の実装がしにくい データの有効活用可能 CMSのデータ構造に 影響される 要件を最大限に満たすこと ができる CMSの機能内だとスムーズ に実現できる フルスクラッチ・汎用CMSの メリット・デメリットを考えて適切な選択を!
  17. 17. All About Japanのシステム構成 (サーバサイド) Copyright 2015 All About,inc. 17 Front CMS 5.5 5.6 5 Laravel
  18. 18. Laravelとは シンプルで可読性の高い コードが書ける モダンフレームワーク 最新バージョンは5.1.11 LTS(12/5現在) Laravelリファレンス 2016/1/8発売! 出版社インプレス Copyright 2015 All About,inc. 18 Laravel
  19. 19. 多言語対応 Copyright 2015 All About,inc. 19 Laravelを用いるメリット viewでの実装 言語ファイル
  20. 20. ファイルシステム Copyright 2015 All About,inc. 20 Laravelを用いるメリット ローカル ローカル ストレージ 本番 S3
  21. 21. リソースフルコントローラ コマンドラインでひな形を自動生成 メソッド + パス で処理を切り分けることができる Copyright 2015 All About,inc. 21 Laravelを用いるメリット メソッド パス アクション GET /article index GET /article/create create POST /article store GET /article/{id} show GET /article/{id}/edit edit PUT/PATCH /article/{id} update DELETE /article/{id} destriy
  22. 22. Validator Copyright 2015 All About,inc. 22 Laravelを用いるメリット integer 整数であること email メールアドレスであること image 画像ファイル(jpg,png,bmp・・・)であること required 入力が存在するかバリデート alpha_dash アルファベットと-,_であること
  23. 23. Eloquent ORM LaravelのORM 便利メソッド・機能が複数用意されている クエリスコープ よく使う検索条件をメソッド化 Copyright 2015 All About,inc. 23 Laravelを用いるメリット
  24. 24. Composerでライブラリ管理 PHPの依存管理システム ライブラリの導入が用意に Packagist Copyright 2015 All About,inc. 24 Laravelを用いるメリット
  25. 25. Ace Responsive Admin Template Bootstrapをwrapしたテンプレート デザインを知らなくてもかっこいいUIが 作れる Copyright 2015 All About,inc. 25
  26. 26. 汎用CMSにあるこんな機能が バインドされている 画像ギャラリー カラーピッカー DateTimepicker ドラック&ドロップでファイルアップロード Copyright 2015 All About,inc. 26 Ace Responsive Admin Template
  27. 27. Ace Admin + Laravelでの 開発ノウハウ Select2 Select boxを使いやすくする jQueryライブラリ 検索機能がつくselect boxを作成可能 1行で実装可能 Copyright 2015 All About,inc. 27
  28. 28. 画像処理 intervention/imageというライブラリを使う Laravelに対応している画像処理のライブラリ LaravelのRequestを元に画像ファイルの 生成ができる Copyright 2015 All About,inc. 28 Ace Admin + Laravelでの 開発ノウハウ crop($width,$height,$x,$y) 幅・高さ・座標でトリミング resize($width,$height) 幅・高さにリサイズ encode($format) 指定した形式に変更 filesize() 画像のファイルサイズを取得 text($text, $x, $y) 座標の位置にテキストを付与す る
  29. 29. エンジニア視点から見たCMS 作成のメリット いろいろな技術に触れられる サーバーサイド、フロントエンド フレームワークの使い方 HTML Javascript/jQuery ライブラリ DBの読み書き・トランザクション 新卒・若手エンジニアの育成とかにも おすすめ Copyright 2015 All About,inc. 29
  30. 30. まとめ フルスクラッチで作るメリット 長期間のメディア運営のために メンテナンス性・拡張性 細かい仕様に応えることが可能 データの有効活用 案件に応じた使い分けが必要 短期間で実装したい CMSの機能で十分 というときは、汎用CMSを使うことも視野に Copyright 2015 All About,inc. 30
  31. 31. オールアバウトでの CMS開発ノウハウまとめ Laravel + Ace Responsive Admin Template を使用 Laravelでデフォルトである機能が CMS構築の際に便利に使える リソースフルコントローラ Validation ファイルシステム Ace Responsive Admin Templateを 使うことで エンジニアでもかっこいいUIのCMS Copyright 2015 All About,inc. 31
  32. 32. 募集しています!!! 企画・編集の人と一緒に各種サービスや 社内システム開発をしたい WEBエンジニア オールアバウトのインフラを支える インフラエンジニア Copyright 2015 All About,inc. 32
  33. 33. アドベントカレンダーやってます Copyright 2015 All About,inc. 33
  34. 34. ご清聴ありがとうございました Copyright 2015 All About,inc. 34

×