違いを知るとアプリ作成効率が上がる
今回は「プログラミング言語とフレームワークの違い」です。
「あれっ、RubyとRuby on Railsって何が違うんだっけ?」という人に向けた内容になります。
学習初期は、言語とフレームワークが一緒になって自分が何をしているのかわからなくなりがちです。
この2つを明確に意識して学べるようになると、アプリを作成するときにフレームワークが果たしている役割がわかるため、作成効率が劇的に上がります。それではみていきましょう!
フレームワークは開発速度を上げるツール
フレームワークとは、アプリをつくりやすくするツールです。鍋をつくるときに、食材を買い、野菜を切り、肉を切り、出汁をとって、味付けし、ご飯を炊いて、調理するのでは時間がかかります。
しかし、鍋用に切られた野菜・肉を買う、鍋の素を買う、レトルトごはんを買う。これだけで鍋は完成します。ゼロから作ったときより高速でつくることができます。
プログラミング言語単独でアプリをつくるのは、食材から鍋をつくるのと一緒です。一方で、フレームワークを使うことは、用意されたパッケージを買ってきて鍋をつくるのと同じです。
フレームワークを使えば、セキュリティ対策、データの保存、バリデーション(不正な入力対策)などアプリをつくるため必要な機能があらかじめ用意されています。
あらかじめ用意された機能を組み合わせることで簡単にアプリを作成できます。こうした機能を組み合わせるだけで簡単にアプリをつくれてしまうのがフレームワークのメリットです。
時代が進むにつれて開発速度が必要になってきたため、便利なツールが登場してきたわけです。
伸びる学習法
フレームワークが裏で行う処理を理解しながら学習を進めることです。鍋でいえば、肉と野菜を切ったり、出汁の入った調味料があるからおいしいとわかった上で鍋を食べるみたいなものです。
データベースに保存するときは、通常SQL文が必要です。しかし、フレームワークを使えば、裏でSQL文が走っているためあまり意識しません。
この時に裏で何が行われているか理解しながら学習を進めることに価値があります。複雑なデータ処理をしようとすると、フレームワークでは対応できなくなります。
この時に、裏側の処理を知らないと、どうすればいいのかわからなくなってしまうからです。
まとめ
・セキュリティ対策、データの保存の簡易化、制作速度の向上などがメリット
・応用が効かなくなるので、裏側の仕組みを理解して使うことが成長の秘訣
フレームワークにはそれぞれ設計思想があります。Ruby on Railsの思想には「設定より規約を」があります。「まずはアプリのルールを守った上で、どうしても必要な場合だけ独自ルールをつくる」という意味です。
この方が設定をつくる必要がなく、誰が見ても同じルールで書かれているため理解が早く高速でアプリをつくれるのです。
フレームワークごとの設計思想の違いを意識しながら学習すると、楽しみが増してきます。ぜひ色々な言語やフレームワークにチャレンジしてみてください。
コメント