世の中を便利にするフレームワーク
こんにちは、エセ外国人の…じゃなかったバックエンドエンジニアのなとはんです。
蒸し暑いニッポンの夏にへばりそうになっていませんかー?僕は冷房をガンガンにかけてへっちゃらです!笑。
育ちは日本だけれども、体はなぜか外国のままなので平熱が37度あるのです。そんなわけで風鈴とか簾とか風情を楽しみながら暑さをしのぐ〜なんて悠著なことは言ってられません。マジで命の危機に直面しますから。
それはさておき、僕が暑さに弱いということをお話しできたので、本題へ参りましょう。
フレームワークとはなんぞや
↑こちらは僕の写真ではないです。ラスマス・ラードフという方で、カナダの変態さんなのですが、PHPという言語を1994年に作られたそうです。変態らしさがお顔に現れて居ますね。
変態なだけでなく、独占欲が弱かったので、作ったPHPをオープンソースで解放し色々な人がその変態プロジェクトに協力できるようにしたんです。変態の鏡ですよね。見習わないといけません。そんな彼のおかげで、今日のPHPやPHPに関わる変態さんが在るわけです。感謝。
PHPは汎用プログラミング言語(サーバーサイドスクリプト)の一つで、C言語やpython、Javaなんかと同系統の言語です。プログラミング言語というわけなので、その機能は多岐に渡り、いろーんなことができちゃうわけです。
でも、いろーんなことができちゃう代わりに、その記述の仕方(書き方)はとても複雑になってしまい長く分かりづらいのが、なかなかとっつきにくい面にもなり得ます。
そこで登場したのがフレームワークです。
よく使われるであろう機能を予め組み込んで、PHPの深い知見がなくとも簡単にウェブアプリを制作できるようにした便利なツールパックです。(めんつゆとかパスタソースとか、素材さえあればあとはかけるだけで簡単に本格料理が食べれちゃうみたいな感じです)
さぁ、それでは僕が注目するフレームワークも交えて、代表的なフレームワークを紹介していきます。
有名どころのフレームワーク
CakePHP
ケークピーエイチピー。歴史が長く世界中で人気を博している、日本でもおそらく一番有名なフレームワークです。
キャッチフレーズは『より速く、より強く、より美味しく』洒落てる感じも良いですよね。イニシャルリリースは2005年だそうです。
ポーランド人のプログラマーMichal Tatarynowiczさんがオープンソースで公開→注目を集める→財団が設立される→多くのエンジニアが共同開発に着手、という歴史を持ちます。
ケーキやクッキーを作るみたいに簡単におしゃれなサイトやアプリが作れそうです。
Laravel
ララベル。今世界中で人気ナンバーワンのフレームワークです。cakephp同様世界中にファンがいるため、コミュニティ間でのサポートはもちろん、少しググればやりたいことはだいたい見つかります。イニシャルリリースは2011年だそうです。
「ウェブ職人のための」と言えるだけの拡張性と柔軟性があるので、大小選ばずどんなプロジェクトにも活かせられるかと思います。
Taylor Otwellさんが著作者です。
ちなみにメゾンマークでもこのララベルを使って、面白いプロジェクトが進行して居ます!!! 早く公開できるようにフロントエンド・バックエンドともに頑張っていますので乞うご期待!!!
Phalcon
ファルコン。最近人気を伸ばしている、一風変わったフレームワークです。ZephirやC言語で書かれており、ウェブサーバーエクステンションとして導入されます。これにより、処理速度が格段に上がり、リソースも少なく済むため毎秒のHTTPリクエストを多くこなすことができるそうです。実は僕もまだしっかりといじれて居ないので、他サイトでのベンチマークなどを見た感想ではありますが、めっちゃ使いやすそうです。
ちなみに、Andrés Gutiérrezさん(とそのチーム)が著作者ででPHPとFalcon(ハヤブサ: 最速の動物の一種)をかけてPhalconと名付けたそうです。「めっちゃ早いんだよ!!!」というのが伝わってきますよね笑
Symfony
シンフォニー。Fabien Potencierさんによって2005年に公開された、こちらも歴史の古いフレームワークです。ウェブアプリの開発と保守を効率化させる目的で作られ、よく繰り返される処理をコンポーネント/ライブラリ化しています。
ララベルをはじめこのシンフォニーのライブラリーを使用しているフレームワークは多く、その信頼度というか裏での人気はすごいと思います。
僕はプライベートでブログを書いているんですが、このシンフォニーで作られたCMSを改造しています。とても使いやすいです。
まとめ
今や誰でもプログラミングできますし、もし英語が話せればそのプラットフォームは無限大に広がります。つまり、それだけ自由に多くを学べるのでフレームワークやCMSなどこれからどんどん便利なものが登場すると思います。
今現在僕も、エンジニアとして足らない部分を勉強中です。技術はどんどん進化していくので、新しいものを吸収しつつ、従来のものを深く学べたらいいなと思い奮闘しています。
それではまだまだ暑い日が続きますので、みなさまお体に気をつけてください。
また次回お会いしましょう!