WEBアプリの開発環境は? | ごく普通の技術系サラリーマンの一生

ごく普通の技術系サラリーマンの一生

成功体験なんか役に立たない。
定年退職を迎えた普通のサラリーマンの一生を振り返り、会社生活の裏側と本質を書き綴ります。

プログラミング初心者の私が、今後どのような言語を習得して行く事がベストなのか考えて見た。

将来的に副業も見込んだ自分のスキルアップを目的とするなら、まずはWEBアプリを作れる様になるのが必須であろう。
以前はテキストエディターでHTMLコードを直接作成し、サーバーに転送してホームページを作っていた。
25年以上前の事である。

昔はこの程度で十分だった。

現在ではインタラクティブで動きのあるWEBページは普通であり、データベースとのやり取りも必須だ。
その為の開発環境も構築しなければならない。
これらを考えて、どの方向に進めるのが一番手っ取り早いのかを考えて見たい。


◆ASP.NET MVC
現在の仕事においてメインで使用しているシステムだ。
様々な言語が存在する中MVCを選んだのは、案件毎に分業が容易な事と、従来のASP.NETだと本来のWEBアプリと異なり色々と制限が多かったからである。


MVCとは、「Model」「View」「Controller」の組み合わせからWEBアプリを構築する物だ。
「View」はHTMLとJavascriptで記載され、クライアント側で処理する内容が帰って来る。
クライアント側からのリクエストは、HTMLのボタン操作で行われるが、その内容を「Controller」が判断し「Model」に伝える。
「Model」はC#で作成され、データベースとのやり取りを行った上で必要な情報を「View」まで戻してくる。
最終的にはクライアントの画面上で、Javascriptを駆使して処理・表示される流れである。

このパターンはサーバーに仕事をさせる為のプログラムをC#で作成する為、IISの環境が必要になる。
IISは個人や企業内では良く使用されているが、一般的なWEBページを動かすためのレンタルサーバーにはあまり見当たらない。故に一般向けにWEBアプリを作成する為には不向きな気がする。

しかし小規模企業向けに開発する案件には意外とあってるのかも、とも考えている

また作成する上では、デザインを指定するBootstrapが自動でセットされる事もありがたい、
なお、現在はASP.NET Coreに統合されている。

 


◆HTML/PHP
従来手法であるHTMLでWEBサイトを作成する場合だが、クライアント側はJavaScriptで動きを付けるが、サーバー側ではPHPを使用するのが一般的の様だ。

PHPはWindowsでも使用できるので、開発環境を構築し活用するのには最も便利かと思われる。
従来はHTMLタブで禁断のレイアウトを行っていたが、最近はCSSを活用するのが普通の様だ。
また、より簡単にデザイン性を追求する場合はBootstrapを使用する事も有りだ。
最近はBootstrapで作成されたフリーのテンプレートも多数公開されているので、一昔前のHTMLだけで作成したWEBサイトよりかなりスタイリッシュな物が簡単に出来るようになった。


◆WordPress
WordPressは、昨今のレンタルサーバーに初めからインストールされている程メジャーになって来たWEBサイト作成ツールであり、操作性としてはBLOGサービスのシステムに似ている。


各種設定画面から必要な項目を選択し入力する事で簡単にサイトが作成出来る物で、様々な見栄えの良いレイアウトやテーマが用意されている。
因みにサーバー側の仕事はPHPが行っている。
開発や動作確認は実際にインストールされているサーバーの環境が必要なのが問題と考える。
WordPressを使う事が前提のサイトの開発依頼もある為、本格的に開発を行うつもりであれば、自前でサーバーを設置するのが早いかも知れない。


インタラクティブなWEBサイトを構築する上では、何処にどの様な仕事をさせるかが重要である。

サーバーに関しては、企業向けWEBアプリはIISが、WEBサイトについてはApacheと思われる。

言語はやはりHTML+Javascriptが基本、WordPressはデータが残らないので今回は対象外としよう。

WEBアプリはこのままMVCを極めるが、WEBサイトはやはりPHPを使用するのが妥当であろう。

 

と言う事で、現在手を付けた事の無いApacheサーバーの構築とPHPを活用したHTMLの作成を習得する必要があると判断した。

ま、直ぐに動く事は出来ないので、取りあえずMVCの習得をこのまま続け、別件で少しBootstrapを使用したレイアウトのスキルアップでも図って見ようと思っている。

 

今後の、WEBサイト開発のスキルアップにも、きっと役に立つはずである。