ショウのプログラミング教室

0から始めるWebアプリ第2弾 ソフトウェア開発スキル

前回はWebアプリを開発する上で必要となるスキルをソフトウェア開発(コーディング)以外も含めて調べてみました

今回はWebアプリのメインとなるソフトウェア開発に絞って必要なスキルを詳しく見ていきます

Webアプリを作成するのに適した言語

まずは開発に使用する言語についてです
Webアプリ開発はフロンドエンドとバッグエンドの開発に分けることができます

フロントエンド

主にユーザが目にする画面等のブラウザ上で動作するものです

フロントエンドでよく使用される言語は以下となります

バックエンド

Webアプリの核となる処理を行う部分でWebサーバ側で動作するものです

バックエンドでよく使用される言語は以下となります

これらに共通しているのはWebアプリケーションフレームワークが優秀だという点です
PHPならCakePHP
RubyならRuby on Rails
PythonならDjango
JavaならSpring Framework
CSS/JavaScriptならBootstrap

Webアプリケーションフレームワーク

WebアプリケーションフレームワークとはWebアプリを作成するのに必要な機能を簡単に実装できるようにまとめたものとなります
Webアプリで必須となる、ログイン画面やデータベースとのやりとり等が用意されています

各フレームワークの特徴

次に各フレームワークの特徴を紹介します

プログラムを学ぶ

CakePHP

Ruby on Railsの概念の多くを取り入れており、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークと言われています

以下のような特徴があります

Ruby on Rails

オープンソースのWebアプリケーションフレームワークです
RoRまたは単にRailsと呼ばれています
その名にも示されているようにRubyで書かれています

以下のような特徴があります

Django

Pythonで実装されたWebアプリケーションフレームワークです
拡張性、柔軟性が高く、シンプルなWebアプリであれば、数分で作れるといわれています

以下のような特徴があります

Spring Framework

オープンソースのWebアプリケーションフレームワークです
システムの仕様変更が容易で拡張性、安定性などが高い

以下のような特徴があります

Bootstrap

レスポンシブデザインのcss,javascript,font, iconなどを提供するフレームワークです
これだけはフロントエンドのフレームワークのため、上であげているようなバックエンドのフレームワークと組み合わせて使用します

以下のような特徴があります

私はPythonで開発を行いたかったので、Djangoを勉強中です
以下のサイトが詳しく解説されているのでおすすめです

https://django.kurodigi.com/

デザインパターン

次にプログラムを組む際に必要となる考え方についてです
デザインパターンとはプログラミングにおいて汎用的に使用できる設計方法のことです
今までの優秀なエンジニアたちがプログラムを組む際に簡単にできるように生み出した設計のノウハウをまとめたものです
有名なものにGoF(Gnag of Four)の23のパターンがあります

Webアプリケーションでは以下のデザインパターンがよく使用されます

最近ではMVCモデルはもう古いと言われているようです
私が調べた中で気になったのはSAMパターンです
SAMはState-Action-Modelの略で、State,Action,Modelの3層に分離して設計する手法です
以下のサイトにて詳しく説明されているので気になった方は見てみてください

まとめ

今回はWebアプリのソフトウェア開発の際に必要なスキルについてでした
まとめると以下の3つを学習していけばWebアプリが開発できるようです

次回は私が開発しているソースを紹介しながらもう少し深く掘り下げていきます

モバイルバージョンを終了