ブログ

ryuzeeによるブログ記事。不定期更新
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料)

(続)スライド公開用のアプリケーションを作っている話

全国1000万人の寿司職人のみなさんこんばんは。

昨年の12月28日に公開した、AWSを使ってスライドを公開するデモアプリを作ってみた話の続きです。

どんなアプリかは、デモ環境を見ていただくと早いと思いますが、端的にいえば、

  • SlideshareとかSpeaker Deckのようなサービスのオープンソース版
  • たぶん自分だけのスライドを公開したり、社内用に使えたりする
  • CakePHPとjQueryを使いまくっている
  • AWSの機能をかなり使っており、SPOFのない高可用性アーキテクチャ
  • パワーポイントとPDFに対応
  • アップロードしたファイルや変換済ファイルは全てAmazon S3に保存
  • Flash Playerなしで表示
  • ムダに国際化対応済
  • ムダにフルResponsiveなのでiPhoneとかでもいける
  • MITライセンス
  • コードはGitHubにおいてある

という感じのものです。以下のようにサイトのスライドを埋め込むこともできるようになっています。

利用技術

使っている技術をメモ代わりに。

PHP系

  • CakePHP : アプリケーション開発用のフレームワーク。最新は3系だが、とりあえず枯れている2.xを利用
  • aws-sdk-php : PHPからAWSを操作するSDK。ここでは2.8系の最新版を利用
  • cakedc/migrations : CakePHPでデータベースのマイグレーションをするのに利用
  • cakedc/search : CakePHPで楽に検索機能をつけられる
  • slywalker/boost_cake : CakePHPでBootstrapを簡単に扱える
  • lorenzo/cakephp-sqs : CakePHPでAmazon SQSを簡単に扱える
  • cakephp/debug_kit : CakePHPでの開発の際のデバッグツール
  • tholu/php-packer : Javascriptの難読化用ライブラリ

Javasctipt系

  • jQuery : 言うまでもない
  • jQuery UI : これも言うまでもない
  • bxSlider : 画像を使ったコンテンツを表示するプレイヤー。すごくオプションがたくさんある
  • jQuery.equalHeights : 要素の高さを均等に保つjQueryのプラグイン
  • Lazy Load : 画像などの読み込みを遅延でおこなうjQueryのプラグイン
  • Sticky-Kit : スクロールした場合でも要素の表示を固定するjQueryのプラグイン

目的

なんのためにやっているか、今後どうするかの自分向けの整理

  • コード書かないと技術の勘所がなくなるのでその維持
  • Architecting on AWSのリファレンス実装
  • フロントエンドはフルJavascriptで書き換える。真面目にJavascriptのテスト書く
  • Electronあたりでデスクトップ用のクライアント作るのを試す
  • 一人で地味にモダンに開発する
  • 美味そうな寿司スライドをみて(・∀・)ニヤニヤする