質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.13%

今はPHP、RUBYがサーバサイトでは主流ですが、Node.jsはいつごろ実務で、十分に使えるようになりますか?

解決済

回答 3

投稿

  • 評価
  • クリップ 3
  • VIEW 5,450
退会済みユーザー

退会済みユーザー

今はPHP、RUBYがサーバサイトでは主流ですが、Node.jsはいつごろ実務で、十分に使えるようになりますか?

また、jQueryを学んだのですが、
JSをガリガリ素で書くことが少なくなっているので、次に学ぶのであればJS自体でなく、
アンギュラJSにするのが、今は良いのでしょうか?

その後フロントをやりながらNodejsの勉強をやり、将来サーバサイドにも参加するという形が良いのかなと思っています。

将来はネイティブアプリをハイブリットアプリが侵食していくと聞いているので、
JS関連を突き詰めていくのは、非常に将来性がありますよね。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2016/02/22 17:58

    こちらの質問が他のユーザから「プログラミングに関係がない質問」という指摘を受けました
    teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。
    「質問を編集する」ボタンから編集を行い、具体的に困っている理由や解決したいことを明確に記入していただくと、回答が得られやすくなります。

  • 退会済みユーザー

    2016/04/11 19:05

    こちらの質問が他のユーザから「問題・課題が含まれていない質問」という指摘を受けました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 3

+5

普通に実務でNodeJSを使っている会社もありますよ。
使いたくなったらとか、使わなくてはいけなくなったら使えばよいのではないでしょうか。

次に学ぶものですが、これに関しては質問者次第だと思います。

JavaScriptフレームワークはそもそも素のJavaScriptがあるからこそ成り立っているのでフレームワークを勉強したとしても理解する必要は出てくると思います。
結局のところ、用途にあったものを勉強したら良いと思います。(最近の盛り上がりがあるのはAngularやReactでしょうけど、素で素早く対応できるのであれば素で良いでしょうし)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/15 17:17

    そうですね。極端な話それだけでも良いです。

    キャンセル

  • 2016/02/15 17:54

    ありがとうございます。
    Node.jsはすでに現場によっては使われているのですね。
    使っている所は、PHP>RUBY>>Node.jsですが、今も使っているところはあり、今後増えていくということですね。

    キャンセル

  • 2016/02/19 16:22

    Meteorというライブラリは、ハイブリトアプリ、サーバサイド、クライアントサイドすべてできるそうなので、jQueryからステップアップするには一番効率的で幅広く、アンギュラより新しく将来性があるというわけではないのでしょうか?

    まだ新しいだけに仕事がないし、はやるかもわからないし、日本語の情報はないし、
    JSそのものができれば、ハイブリトアプリ、サーバサイド、クライアントサイドすべてできるので、MeteorはJSそのものができれば必要ないのでしょうか?

    キャンセル

checkベストアンサー

+1

単純に実務で使えるか否かで言えば、
Webエンジニアなら業務に取り入れるべきと言い切れる程度には実用的に使えます。
但し、単純なWebサーバーとしては日本国内では地位を築いているPHPやRubyより流行る事はなさそうです。

わかり易い使い方ですと、静的コンテンツのジェネレータですかね。
うちの職場ではCoffeeScript(LiveScript)、Jade、Stylusの環境で静的コンテンツを生成していますが、
これらに一度触ってしまうともう生のJS、HTML、CSSを書くのがかったるくてやってられません。

PHPやRunyのフレームワークを使う場合、
フレームワークに付いているテンプレートエンジンの関係でHTML部分を置き換える事は難しいですが、
Node.jsを使ってJSやCSSを生成して利用するというのが今後の主流になるでしょう。


AngularJSに関してですが、一番大きなメリットはオブザーバーパターンです。

例を交えて説明します。
jQueryは基本的には処理の流れを書くものです。
なのでAjax通信でユーザー一覧tableを書き換える時はこのようなフローになります

1.Ajax通信を行う
2.結果が帰ってきたらユーザー一覧table内の全tr要素を削除する
3.結果を解析し、tr要素を生成してユーザー一覧tableに差し込む

対してAngularJSはHTML上にオブジェクトを設置するというイメージで配置出来ます。

1.ユーザー一覧tableに「変数usersの値を参照してよしなにtrを生成しろ」と命令しておく
2.Ajax通信を行う
3.結果が帰ってきたら変数usersの値を更新する
4.変数usersを見張ってたユーザー一覧tableが「あ、変数usersが更新されてる!」と察知し、自分で勝手に配下のtr要素を書き換える

これだけではオブザーバーパターンでやるメリットは分かりにくいかとは思いますが、
ユーザーは商品を幾つか購入しているから、購入履歴をDLする必要がある。
どんな商品を購入したかの情報も欲しいから商品マスタもDLしてくる…という風にロジックが肥大化してくると、
jQueryでは収集がつかなくなってきます。

このオブザーバーパターンを実現しているのがデータバインディングという技術で、
この概念や技術はAngularJS以外にも沢山のJSフレームワークで用いられています。

AngularJSの他にもReact.js等様々なJSのフレームワークが群雄割拠していますので、
今すぐにやる必要はありませんが、今後を考えると出来る、概念を知るに越したことはないでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/21 14:44

    在宅云々ですが、GitやSSHの技術があるので、セキュリティ上は大した問題にはなりません。
    まぁ、いくらセキュアでもリモート作業者に機密情報を渡す以上、ノートPCごと盗まれたりスタバの作業中に後ろから見られる等、いくらでも考えられますので、その辺でどうなるかという話はあります。

    ですので、そのプロジェクトやその会社がどう考えるかだけの問題なので、実際に就職活動やクラウドワークで相手の企業と対話しないかぎりどうにもならないと思います。
    そこにフロントエンドやバックエンドの差異はありません。

    >もう時代はReact * meteor一択です。
    いやいやいや…ご自身でAngularJSと仰ったのではないですか!
    AngularJS+TypeScriptが絶対に流行るから絶対にそれでやれと言った覚えはありません。

    きっと今の質問者さんに何を教えても混乱するばかりで
    自ら勉強する事はないと思うのでレスを止めます。

    まずはjQueryをWebアプリを自分の手で構築して、
    その後色々と自分の手で触って目で見て判断してください。

    キャンセル

  • 2016/02/22 18:31

    うまく伝わってないようですね。

    >>>
    もう時代はReact * meteor一択です。
    https://teratail.com/questions/27334

    上記は下記W3Qのコメントで、私のコメントではありません。
    下記のようなコメントがありましたがどうですかということをお聞きしたかったのです。
    w3q.jp/t/9579

    ただなぜかURLが変更されています。
    もしかするとライバルサイトのリンクなので変更されたのかもしれませんね。

    キャンセル

  • 2016/02/22 19:05

    在宅での仕事という形態から言えば、クライアントサイドもサーバサイドも需要や仕事が請けられる可能性は同じなのですね。

    サーバの方が厳しいのかと思っていました。

    キャンセル

0

さて、node.jsですがこれは海外では特に多く使われています。
https://github.com/nodejs/node-v0.x-archive/wiki/Projects,-Applications,-and-Companies-Using-Node
有名なところでは、LinkedIn / netflix / paypal / NASA / conde nast / intuitでしょうか。
国内では、サイバーエージェントやニコニコ動画で有名なドワンゴなど、node.jsを使っている企業はいくつもありますが、いずれもまだ「node.jsでほぼ全部やっています!」というところはないですね。
一部または実験的なところでの利用が多いようです。

ただしサーバーサイドのjsは、jQueryを中心としたjsに比べて覚えることが多いので、やや大変かもしれません。
AngularやReactをやりつつ、開発環境としてgulp/gruntを覚える過程でnodeを覚えるのがいいかもです

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/02/19 12:21

    >>>
    そうですね。日本語の情報が少ない間は、英語のドキュメントを読めないとnode.jsやreact.js/Angularは厳しいでしょうね。

    WEB上では上記二つは、まだ数年はほとんど日本語の情報はないのですね。
    日本語で学びたい場合は、本を購入するしかないですね。
    需要はあるのに残念ですね。数年後ならだいぶ増えているかもしれませんね。


    >>>
    ただし、在宅での仕事となるとRubyでもPHPでもかなりのスキルを求められます。
    サーバーサイドは「ちょっとだけ触ったことがあります」程度にして、HTML5/CSS3と相性の良いAngularJSもしくはCSSフレームワークのBootstrapを触っておくほうが、
    『仕事になるか』という意味では良いと思いますね。

    とても貴重な意見大変ありがとうございます。
    サーバサイトはセキュリティが絡むので、実務経験はあまり問わないが、その代わり、独学で、問い合わせフォームなどを作ったくらいでは、
    まず在宅で仕事を請けるのは不可能なのですね。
    独学程度では、いくら頑張っても、数年のサーバサイドでのプログラミング経験が必須という所が、ほとんどなのでしょうか?

    在宅での仕事が希望なら、それよりもセキュリティがサーバサイドまでは、厳しくない、デザイン、コーディング、JSでのインタラクティブな部分に特化して、
    そこを独学でもよいので極めて行って、サーバサイドは、問い合わせフォームなどプラグインを導入できるが、フルスクラッチや細かい変更はできない程度で十分ということでしょうか?

    仕事でかかわった人から、サーバサイドができる人があまりおらず、クライアントサイドよりも、そちらの方をできるようになったら、
    仕事が沢山あるよといわれたのですが、その会社はかなり稀なタイプで、ほぼ独学でWEBアプリをnodeでできるようになっても、在宅での仕事はほぼないのでしょうか?
    また仮にPHPやRUBYに変更したところで、ほぼ結果は変わらないということでしょうか?

    キャンセル

  • 2016/02/19 16:22

    Meteorというライブラリは、ハイブリトアプリ、サーバサイド、クライアントサイドすべてできるそうなので、jQueryからステップアップするには一番効率的で幅広く、アンギュラより新しく将来性があるというわけではないのでしょうか?

    まだ新しいだけに仕事がないし、はやるかもわからないし、日本語の情報はないし、
    JSそのものができれば、ハイブリトアプリ、サーバサイド、クライアントサイドすべてできるので、MeteorはJSそのものができれば必要ないのでしょうか?

    キャンセル

  • 2016/02/20 18:11

    node.js と angularJS と meteor を比べてる時点で、あなたが「何がなんだかわかってない」ということは分かりましたので、お好きなのを覚えて挫折するか、現状で必要とされている(取引先などから要望のある)ライブラリを覚えるのが良いと思います。


    そのうえで、どうしても「サーバ側を書きたい!」というのであれば、ご質問レベルから察するに、PHPを覚えられるのが一番近道だと思います。


    なお、ご参考までにいうとMeteor は「node.js, angularJS, React.js, Cordova/PhoneGap」あたりを組み合わせたプラットフォームともいうべきフレームワークなので、もちろんMeteorを使えばすべて作れますが、厳しいことを言うようですがこの理解ではおそらくマスターできないのではないでしょうか。


    ■最後に:同じ質問をすべての回答者にマルチ投稿するのはやめてください。これをするくらいであれば、このスレッドを終了させ、新しく質問を立ててください。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.13%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる
  • トップ
  • PHPに関する質問
  • 今はPHP、RUBYがサーバサイトでは主流ですが、Node.jsはいつごろ実務で、十分に使えるようになりますか?