本日はフレームワークのついてのお話です。
昨日までのはこちら
100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて
100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて
100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1
100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1
100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1
100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1
フレームワーク
フレームワーク
とはなんでしょうか?
フレームワーク
はプログラミングにおいて目的に応じた一般的な機能が実装されたものです。
管理機構等を検討する時間を削減して、開発に置ける工数の削減や
品質の向上に役立つものです。
目的別では
ソフトウェアフレームワーク
Web アプリケーションフレームワーク
などが挙げられますが、よく用いられる用途としては
WEBサイトの構築です。
ライブラリ
ライブラリ
は汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものです。
目的別では
機械学習
WEB開発
画像処理
音声加工
など様々なものがありますが、これらを含めて
機能を実現したものがフレームワーク
ということになります。
汎用フレームワーク
言語別に様々なフレームワークがあるので紹介していきます。
Ruby on Rails
Ruby on Rails
はオープンソースのWebアプリケーションフレームワークです。
単にRailsと呼ばれます。
Rubyで書かれており、Model
,View
,Controller
のMVCアーキテクチャに基づいて構築されていて
アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されています。
Spring Framework
Javaプラットフォーム向けのオープンソースアプリケーションフレームワークで
単にSpring
とも呼ばれます。
Model View Controller
データベースアクセス
テスト機能
バッチ処理
認証機能
など様々な機能を提供します。
Laravel
オープンソースのPHPで書かれたWebアプリケーションフレームワークです。
GitHubでのスター獲得数がPHP, Ruby, Python等のバックエンド系プログラミング言語の
フレームワーク中で最も多いなど、人気のフレームワークの1つとなっているようです。
Vue.js
Vue
はWebアプリケーションにおけるユーザーインターフェイスを構築するための
オープンソースのJavaScriptフレームワークです。
他のJavaScriptライブラリを使用するプロジェクトへの導入において
容易になるように設計されている一方で
高機能なシングルページアプリケーションSPA
を構築することも可能で担っています。
Django
Django
はPython言語で書かれたWEBアプリケーションフレームワークです。
ジャンゴ
と呼びます(dは発音しない)
Pythonでは他にもWEBアプリケーションを作成するためのフレームワークがありますが
データベース周りの処理や認証機能などきめ細かな機能が備わっているので
開発工数の削減に貢献しますが、学習コストは高めです。
Ruby On Railsと似たようなチュートリアルが有るので、これを試してみて
進められるかどうかを判断するのが良いでしょう。
まとめ
最近の開発ではほとんどがフレームワークを用いた開発です。
フレームワークの概念や種類などを押さえておきましょう。
初めからフレームワークをやろうとすると必ず挫折します。
フレームワークを覚えるのは言語になれ、アプリケーションの作り方などが
分かってきてから学習するのが良いでしょう。
君がエンジニアになるまであと56日
作者の情報
乙pyのHP:
http://www.otupy.net/
Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter:
https://twitter.com/otupython