今はPHP、RUBYがサーバサイトでは主流ですが、Node.jsはいつごろ実務で、十分に使えるようになりますか?
また、jQueryを学んだのですが、
JSをガリガリ素で書くことが少なくなっているので、次に学ぶのであればJS自体でなく、
アンギュラJSにするのが、今は良いのでしょうか?
その後フロントをやりながらNodejsの勉強をやり、将来サーバサイドにも参加するという形が良いのかなと思っています。
将来はネイティブアプリをハイブリットアプリが侵食していくと聞いているので、
JS関連を突き詰めていくのは、非常に将来性がありますよね。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
普通に実務でNodeJSを使っている会社もありますよ。
使いたくなったらとか、使わなくてはいけなくなったら使えばよいのではないでしょうか。
次に学ぶものですが、これに関しては質問者次第だと思います。
JavaScriptフレームワークはそもそも素のJavaScriptがあるからこそ成り立っているのでフレームワークを勉強したとしても理解する必要は出てくると思います。
結局のところ、用途にあったものを勉強したら良いと思います。(最近の盛り上がりがあるのはAngularやReactでしょうけど、素で素早く対応できるのであれば素で良いでしょうし)
投稿2016/02/15 07:14
編集2016/02/15 07:18総合スコア2158
0
ベストアンサー
単純に実務で使えるか否かで言えば、
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/16 03:21
総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/02/19 07:22
2016/02/19 08:19
2016/02/19 13:49
退会済みユーザー
2016/02/20 05:50
2016/02/21 05:44
退会済みユーザー
2016/02/22 09:31
退会済みユーザー
2016/02/22 10: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/16 02:31
総合スコア158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/02/16 02:48
2016/02/16 06:07
退会済みユーザー
2016/02/19 03:21
退会済みユーザー
2016/02/19 07:22
2016/02/20 09:11
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/02/15 07:45
2016/02/15 07:51 編集
退会済みユーザー
2016/02/15 08:16
2016/02/15 08:17
退会済みユーザー
2016/02/15 08:54
退会済みユーザー
2016/02/19 07:22