PCがあれば何でもできる!

へっぽこアラサープログラマーが、覚えたての知識を得意げにお届けします

PHPとJavaScriptのフレームワークについて簡単に調べてみました

time 2013/12/23

PHPとJavaScriptのフレームワークについて簡単に調べてみました

PHPの開発環境を作って簡単なプログラムを組んでみようと思っているのですが、その際にフレームワークを導入するべきか迷ったので、調べてみました。
「PHP」と「JavaScript」の2つに焦点を当ててます。

sponsored link

■PHPフレームワーク

概要については下記のサイトが参考になります。
PHPフレームワーク – PHPプロ!
※2007年の記事なので、このページ以外はあまり参考にはならないかもです。

有名なフレームワークが何種類もあり、デファクトスタンダードはない状態。トレンドについては、下記のサイトが参考になります。
PHPフレームワークのベンチマーク比較と2013年のトレンド | blog*org

 

各フレームワークの特徴について、ざっと調べはしてみたものの、どれも基本的にはPHPフレームワーク – PHPプロ!のページの通りだなという印象でした。ファイル構成やコードの書き方にルールを作り、そのルール通りに作れば、工数を抑えつつ品質の高いものができる。PHPがシンプルな言語ということは、プログラムが大きくなる程、作業的にもコード的にも冗長になるはずなので、それを抑えるためにノウハウを凝縮していったら、結果的にフレームワークになった、という感じなんでしょうか。

ただ、確かに便利になる反面、問題に感じる部分もありました。それは各フレームワークの色が強すぎて、それぞれがまるで別言語のようになってしまっている点です。PHPがシンプルな機能しか持たないということは、その分フレームワークに機能が寄せられるわけで、ある意味必然なのかもしれません。それこそデファクトスタンダードがあれば嬉しいところなのですが…勉強する側はたまったものではないですね^^;

そういう意味では、PHPフレームワーク選択の最終解としては、フレームワークの特徴とプロジェクトの内容が合致したものをその都度選ぶ、そして足りない知識もその都度勉強するということで間違っていないと思います。そもそも私はまだ素のPHPすら、まともに知らないので、現時点ではフレームワークを使わず開発をしてみることにします。

 

■JavaScriptフレームワーク

概要については下記のサイトが参考になります。
JavaScript フレームワークの比較
フレームワークを使用する目的としては、クロスブラウザ対応の観点が入っていること以外は、基本的にPHPと変わらなそうです。

各フレームワークについて調べようとしたのですが、種類が豊富過ぎて時間がかかりそうなので、ここ最近でよく使われていそうな「jQuery」と「Backbone.js」に焦点を当てることにしました。

・jQuery.js

独自のセレクタ記法によってコードを省略できる。
.NETのLinqのような感覚でDOMを操作できる。(複数の要素や属性をまとめて操作、メソッドチェーン)
クロスブラウザにある程度対応してくれている。
jQuery入門講座 チュートリアル-jQueryのメリット
jQuery 日本語リファレンス

PHPのようにルールを守らせると言うよりは、便利機能をまとめた追加ライブラリと言った感じ。作りもシンプルで邪魔にならなそう。

・Backbone.js

MVC構築をサポートするフレームワーク。jQueryの上位互換を目標として作られている。「Underscore.js」というjQueryと同じような機能を持つライブラリに依存している。
MVCなので規模の大きいプログラム向け。
Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか – Tous Les Jours 攻防記
JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ - Publickey

.NET。のWPFでもMVC(正確にはMVVM)が主流になって来ているように、Webでもクライアント側でリッチな表現をしなければならなくなったことから、ソースの複雑化に苦労しているようだ。

 

どちらも好印象でした。Linqを知っている分、勉強する時間もかからなそうです。
ただ、すぐに覚えたいところなのですが、やはりまずは素のコードを覚えないことには利便性がわからなそうなので、こちらも現時点では使わずに開発をしてみることにします。

sponsored link

down

コメントする




プロフィール

土斐崎 将範

土斐崎 将範

フリーランス/エンジニア (主にサーバサイド、その他広く浅く) 自宅の作業場は冷蔵庫の隣。 キッチンエンジニアとして日々精進しています。



sponsored link