普段Java EEを使ってアプリケーションを書いています。
Javaで書かれたサーバープログラムの場合Tomcatなど、Java EEだとWebSphereやGlassfishなどのアプリケーション・サーバー上にデプロイして動かすことになると思います。
RubyにもUnicornやThinなどがあると思います。
不勉強で申し訳ないのですが、私はずっと「サーバープログラムを動かすためにはアプリケーションサーバーが必要」だとばかり思っていました。
先日Node.jsの勉強を初めたのですが、Node.jsやGo言語にはアプリケーションサーバーがなく、ポートのlistenなどの処理を自分で書いて実行するものだと知りとても驚きました。
これを知ったとき、「デプロイが簡単そうだ」「処理が追いやすくてわかりやすい」など良い印象ばかり感じたのですが、同時に、「アプリケーションサーバーがなくて大丈夫なんだろうか」と疑問に思っています。
なんとなく自分の中で「アプリケーションサーバーがいい感じに処理していてくれている」という安心感があるため、いままでアプリケーション・サーバーが担当していた部分を自分で書くということに(この認識があっているのか心配ですが・・・)不安を感じています。(リッスンの仕方やメソッドの呼び方など)
なぜNode.jsやGo言語にはアプリケーション・サーバーが必要ではないのか、あるいは、なぜJavaやRubyではアプリケーション・サーバーが必要なのか教えていただきたいです。
また、アプリケーション・サーバーが存在することのメリット・デメリットもわかる方がいたら教えてほしいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。