Web技術の最近の動向
Webサービスを作るのが簡単になった
Amazon Web Services 等のクラウド環境、VPSの廉価な提供で、Webサービスを作るのが簡単になった。
- Amazon Web Services
- アマゾンが提供する CPU、メモリ、ストレージ、データベース、ネットワーク等のリソースを伸縮自在に扱えるサービス
- 月額費用 1~3千円で利用すると、VPS に比べ、スペック当たりの単価が高く・スペックも落ちるが、時間単位課金、Elastic IP、スケールアップ・ダウン、スナップショット機能が魅力
- 特に、Elastic IP によるデブロイに慣れると、「問題があってロールバックできなかったら・・・」という精神的重圧から解放される(精神上の安定 >>>> 越えられない壁 >>>> 月額費用・スペック)
- さくらのVPS
- さくらインターネットが提供する VPSサービス
- 昔から提供されていて、扱いやすく、Web上にも情報がたくさんあるサービス
- スペック当たりの単価が安く、ベンチマークも高い
- スケールアップ・ダウン、スナップショット機能がなく、柔軟性に欠けるのが難点。
- カゴヤ・クラウド/VPS
- カゴヤ・ジャパン株式会社が提供するVPSのようなクラウドサービス
- 最近使ってみて好感触だった
- スペック当たりの単価が安く、スペックも高い
- 課金は日額単位だが、1ヵ月間の利用だと月額料金で済む
- スケールアップ・ダウン、スナップショット機能がある
オープンソースソフトウェア(OSS)に便利な環境が整備されてきた
Github 等、オープンソースソフトウェア(OSS) に便利な環境が整い、作成されるアプリケーション・ライブラリも急増し、頻繁にバージョンアップされるようになった。
OSS に関しては無料で利用できるものも非常に多く、サービスも充実している。
- Github
- Gitバージョン管理システムをweb上で提供するサービス
- レポジトリの機能だけでなく、wiki、issue(バグトラッキングシステム)等も提供
- Travis CI
- オープンソースコミュニティのための継続的インテグレーション環境
- PHP5.{2|3|4|5} & {MySQL|PostgreSQL|SQLite} などの自前で構築するには手間のかかるテストも、設定ファイルに記述するだけでテストしてくれる。
- Coveralls
- コードカバレッジの履歴と統計表示を行ってくれるサービス
- Depending
- PHP用のライブラリの更新状況をモニターするツール
- Gemnasium
- Rubygems用のライブラリの更新状況をモニターするツール(そのうち npm にも対応するらしい)
- Code Climate
アプリケーション・ライブラリのためのパッケージ管理システムが登場
アプリケーション・ライブラリをインストールする環境構築が開発者に負担になって来る中で、yum や apt-get 等のOS向けのパッケージ管理システム環境だけでなく、その上で構築されるアプリケーション・ライブラリのためのパッケージ管理システムが登場するようになった。
JSONで設定ファイルを記述するものが多い。また、Node.js、Ruby の環境構築が必要になるなど、幅広い知識が必要になってきた。
software | memo |
---|---|
Oracle VM VirtualBox | Virtualbox 用環境構築 |
Chef・Puppet | サーバー環境管理 |
nvm | Node.js 用環境構築 |
phpenv | PHP 用環境構築 |
rvm・rbenv | Ruby 用環境構築 |
Berkshelf | Chef 用Cookbook管理システム |
npm | Node.js 用パッケージ管理システム |
Bundler・rubygems | Ruby 用パッケージ管理システム |
Composer | PHP 用パッケージ管理システム |
Bower | Web 用パッケージ管理システム |
フロントエンド向けのアプリケーション・ライブラリの充実
CSSに対して、継承・変数・ミックスインを提供するSass、JavaScript の結合・圧縮だけでなくそのほかの作業も自動化する Grunt が登場して、開発者の手間を軽減するようになった。
参考 >> 昨今の自分用Webアプリケーションひな形 - naoyaのはてなダイアリー
- Sass
- Compass
- Bootstrap
- フロントエンド全般にかかわるフレームワーク
- グリッドシステム、レスポンシブデザイン、ピクトグラム、ボタン等をよく利用する
- 内部では LESS を使用しているが、LESS ⇒ Sassの変換も容易。vwall/compass-twitter-bootstrap · GitHub
- Grunt
- ファイルの変更を検知して、タスクを実行する。
- JavaScript の結合・圧縮だけでなく、CSSファイルの結合・圧縮(SASSのコマンドも実行できる)、ブラウザのリロード、画像最適化などが実行できる
- Backbone.js
- JavaScript MVCフレームワーク
- JavaScript MVCフレームワークの中ではこれしか触ったことがないが、ソースコードが少なく、抵抗なく覚えることができた
- Underscore.js
- JavaScript utility library。prototype非拡張
- 誰もが一度は定義したことがある「JavaScript に足りない関数」を補ってくれる
- Backbone.js 内で利用されている