LoginSignup
6
10

More than 5 years have passed since last update.

普段マネジメントしている人から、Webアプリケーションの作成方法を聞かれた話

Last updated at Posted at 2016-10-16

作成したい動機


  • WEBアプリケーションを自分でも開発できるようになりたい(特にスタートアップフェーズのプロダクトの場合)
  • エンジニアと同じ目線でコミュニケーションしたい

作成したいと言ってきた人のスペック


  • 素人レベルですが、htmlとcss(SCSS)は少し書ける
  • javaを少し研修で触ったことがある
  • pythonを少し勉強している

出来れば、完全素人向けに書いてほしいとのこと。

本人も結構無茶を言っていると認識していましたが、聞かれたので真面目に考えてみた。でも、到底ペライチで説明できる代物では無いので、ざっくりと最短で行けそうな方向性を示そうかと。

Webアプリケーションを作成する上で必要なもの、ざっくりと


  • httpのプロトコル
  • フロント(html, css, js)(chromeなどのブラウザに表示する部分を担当)
  • Webサーバー&アプリケーションサーバー(Java, Node.js, Ruby)(フロントとミドルウェアや外部サーバーとのやり取りをしたりする)
  • ミドルウェア(Database, Nginx, Redis)(データ格納用のソフトウェアなど、用途に応じたソフトウェアのこと)
  • インフラ(クラウド、物理サーバーやネットワーク、スイッチなど)(主にハードウェアのこと)

かなり大雑把な説明ですが、ざっくりこんな感じでしょうか?細かく言うとさらに色々あるので、こんなもので。。。

学習コストが少なめな組み合わせ


■httpプロトコル(Webの通信原理となります)

とりあえず、getとpostの違いだけ分かればよいかと。

■フロント(jQuery)

Reactとかモダンなのやったほうが良いのでしょうが、覚えることが多すぎるので、最初はこれでシンプルにやって、慣れてきたらReactとかのほうが良い気がします。(jQueryなら聞いた場合、答えられる人多いでしょうし。)

■Webサーバー&アプリケーションサーバー(Node.js)

JavaとかPHPだと、Webサーバーが必要で、そちらの設定も覚える必要があり大変です。Node.jsは、単体で動作します。また、フロントでjs使うので学習コストは低くなるかと。

jsの学習は、JavaScript 第6版(サイ本)を読んでおくと良いです。ES2015の仕様には対応していないのですが、基本を知るには問題無いかと。

■ミドルウェア

Mysqlが良いと思います。奥が深過ぎるので、さらりとやると良いかと。

■インフラ

とりあえず、ローカルでやると思うので、クラウドは使わない方向で。LinuxMintとかUbuntuとかWindowsとかMacとか、好きなの使えばいいと思います。

もし、クラウドを使うならPaaSとか呼ばれている、OSとか言語とか準備済みのクラウドが良いと思います。Node.jsが使える中でおすすめは、Google App Engineです。

■Github(ソースコード管理ツール)

マストでは無いです。でも、こちらはプライベートでもGistなど色々と使えるので、使えるようになっておくと良いかと。こちらに上げてくれれば、コメントしたり、修正したりすることが出来るようになります。

やる順番


とりあえず、フロントとNode.jsだけでシンプルに始めるのが良いかと。
その後、徐々にMysqlと繋いでみたり、GAEに乗っけてみたりしてみるとよいかと思います。

あとはググってひたすら、手を動かすのみ


現在のコンピュータの動作原理である、「ノイマン型コンピュータ」を作ったフォン・ノイマン氏いわく、

In mathematics you don't understand things. You just get used to them.
「数学では物事を理解するということはなくて、慣れるにすぎないのだ。」

とのことです。超天才でも理解せずに慣れているにすぎないなら、僕らも慣れるしかない。手を動かそう!!

昔に、Pythonやろうとして、本をしっかり読んでからやったけど、結局手を動かして必要な部分だけ本を読んだほうが、覚えが速かった経験があります。。。(今思えばググれば、本要らなかった気すらします。。。)

まとめ


こんな解説じゃ、ダメですかね?とりあえず、来週感想を聞いてみます。ダメそうなら修正します。

→ 追記しました。2016-10-17

6
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
10