- ベストアンサー
Web開発は何を学ぶべきでしょうか
HTML5とCSS3とJavascriptとJQueryとBootStrapは少し解ります。 この後何を学ぶべきでしょうか サーバサイドではなく、React.jsやAngularJSやBackborn.jsなどなど クライアントサイドについての質問です。 お手数でなければ、おすすめ頂ける理由も教えて頂けると嬉しいです。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
現在の案件で普通にWebデザイナさんとしてやっていくには、既に基本は覚えている状態のようですね。 質問の内容から察するに、フロントエンドエンジニアとしてやっていきたいように見えていますので、その前提でお話をさせていただきます。 あなたの現在の状態がわかりませんが、学生さんであれば自分で好きな技術を選別してサイトを作っていく、社会人としてその技術を活用しているなら、現在の案件に合わせて必要な技術を入れていく通路を辿っていけば良いのではないでしょうか? Webの世界は技術進歩が早いので特定のクライアントサイドの技術を習得しても、数年後にはトレンドが変わってしまうものなのですし、作られるサイトに応じてその選択肢は変わります。 例えば、ブログザイトに若干の動的な部分をつけたい場合は、AngularJSの様な大掛かりな仕掛けは読み込み速度低下を嫌って使われず、jQueryをどうやって高速に読み込ませるかに心血を注いでいたりします。 また、質問内容にある様なJSの世界は、文化的にプログラマの自由に寄った民主主義の文化があって2~3年するとイケてるフレームワークの名前が変わりますので、"今"イケているフレームワークを勉強しても、もらった案件が3年前に開始されたものであれば、勉強したものとは違うフレームワークが使われているでしょう。 上記の理由から、特定の技術を勉強しても案件で生かせる"打率が良くない"ので、もらった案件に合わせるのが一番効率的な選択肢になります。 そこをあえて棚に上げてフロント系のおすすめの回答をするなら、SCSS、AngularJS、TypeScriptでしょうか。 理由は、AnguarJSは細かいカスタマイズは効きづらいですが、リッチなページを作るのに必要な技術が一通り入っているのでこういう機能があるというのを体験しやすいので。 TypeScriptは今の所のAltJSの本命でその上でECMAScript6の機能の体験版として使えるからです。 SCSSは案件で生かしやすい技術ですが、JS関連技術は勉強しても実案件で活かせないかもしれません。 そこはご理解お願いいたします。
その他の回答 (4)
- m_matsubara
- ベストアンサー率48% (80/166)
…まぁ、私個人としては、フロントエンドエンジニアは、JSONでデータをやり取りするので、お互いその調整ができる程度に、バックエンドのコードもある程度読める人が一番嬉しいですけどね。
お礼
私も便乗して個人的な事を書きますと、エンジニアの気持ちを汲んでくれる、 デザイナーさんが一番嬉しいです。 納期直前のデザイン変更やめてください>< 試験日程後半にそういう無慈悲な事は無しの方向でお願いします。 直感的に簡単に思えても、作りの事情とかで簡単ではない時 あるんです。。 上にあるパーツ下にするだけでしんどい時あるんですよ。 特に他の人が作ったところなんてキツイんです!
- pringlez
- ベストアンサー率36% (598/1630)
>絶対的にWebのクライアント作成能力が不足しております。 >初心者も甚だしいレベルと痛感しています。 それはさすがに分かります。「何を学ぶべきでしょうか」と 自分に何が必要かすら、把握できていないということですから。 繰り返しになりますが、あなたの望む「Web開発」をやってみればいいと思います。そうすれば自分に何が足りないか知ることが出来ると思います。 すでにやっているのにまだ理解できないということなら、自分がすごい・こんなの作りたいと思ったサイト、今の自分には実装できなさそうな動きのサイトのソースを見ればいいと思いますよ。
お礼
申し訳ない。たぶんあなたと私は通じ合えない。 続ける必要がないように思います。
- pringlez
- ベストアンサー率36% (598/1630)
あなたの言う「Web開発」が何を指しているかによるでしょう。 一般論で言えば「Web開発」なら真っ先にサーバーサイド言語を学ぶべきです。JavaとかPHPとかRubyとか。それが出てこないということは、一般的な「Web開発」とは食い違っているからだと思います。 そこはさておき、目的は勉強ではないはずです。まずは自分が何をしたいのかをよく考えることです。そしてそのために必要なのは何で、今不足しているのは何か考えればいいだけです。 あなたに何が必要で、あなたに何が不足しているかはあなたにしか分からないでしょう。 とりあえずあなたの望む「Web開発」をやってみればいいと思います。そうすれば自分に何が足りないか知ることが出来ると思います。本で勉強するのもいいですが、実技はより重要ですよ。
お礼
ご回答ありがとうございました。 今不足しているのはクライアントサイドの知識です。 特に皆様がどういった理由でjsのフレームワークを選択しているのか または、選択しないのかに興味があります。 npmやbowerは使われているのかや cssにsassは必要なのか また、開発環境は何を用いているのかなど。 多岐にわたって興味があります。 今はAtomというエディタを使っています。 Emmet便利でした。 サーバサイドは最近はgolangをお試し中ですね。 まんまGAEにデプロイできるので便利です。 ローカルのデータベースならPostgreSQLかSQLite3で十分かなと思っています。 CassandraとHBaseは試したことあるんですけどね。 今度試すのはMongoDBかなーくらいに思ってます。 MySQLとMariaDBはやる気ありません。 もともとC言語出身なのでLinuxとNetBSDのカーネルソースとか見るのは好きです。 特にnetとfs周り。 低レベルのsocketAPIは使えます。主にTCPですけどね。 httpd(Apache、nginx)、Tomcat、sshd、設定もひと通りできます。 JavaとかC#は仕事で十分です。 PHPとRubyはやる気ありません。 PythonはreStructuredTextを使ったことがある程度です。 ですので、絶対的にWebのクライアント作成能力が不足しております。 初心者も甚だしいレベルと痛感しています。 自分で書いたJQueryでDOMをガリガリしているソースを見るとやばいと思いました。
- b0a0a
- ベストアンサー率49% (156/313)
Web開発と言ってもいろいろあると思います。 別にそれらのフレームワークを学ぶのが基本の教養というわけでもないので、 ここから先は自分の理想に向けて特化して行くのがいいのではないでしょうか? 例えばWebアプリケーションの方向であれば、更なるJSとAPIの勉強が必要になってきます。
お礼
ご回答ありがとうございます。 WebViewとブラウザ上とで考慮する事が違ったり、奥が深いなと思いました。 セキュリティひとつとってもむずいと思いました。OAuthめぇ(笑) 今までネイティブアプリがあれば十分だと思っていたのが、いけなかったと 思って急いで穴埋め中です。 本当はOpenGLでゲーム作る方に時間割きたいんですけどね。 更なるとおっしゃられた部分をさらりとお伺いしたいと切に思っております。 実践が大事なのは肌に染みこんでおりますが、先人の意見をできるだけ 幅広く聞く事も重要と心底理解しております。 気軽なご意見もありがたく受け止めますので、ご助言頂けると幸いです。 何も情報を含んでいない、啓蒙的な言葉だけはおやめください。 よろしくお願い致します。
お礼
ご回答ありがとうございます。 仕事では指定されている場合は、粛々とこなすので 決まった事には従う派です。 あまりにひどいと愚痴に出てしまうかもしれませんがご愛嬌です(汗) 普段は楽ちんなサーバ側で、フロントエンドは人手が足りない時のお手伝いです。 クライアントは対象環境が多くて大変なのに、なぜかあなどる人が多くていつも オンスケで終わらないんですよね。 この質問の内容は自分で全て管理している開発に適用するつもりですので、 気兼ねなく新しい事を取り入れようと思っております。 SCSS、AngularJS、TypeScript興味ありありです。 Javascriptの継承がどうも好きになれませんで、 ES6を心待ちにしております。 AltJS初耳でした。調査する事が増えて嬉しいです。 「jQueryをどうやって高速に読み込ませるかに心血を注ぐ」は C使いとしては胸熱です(笑) Javascriptの基本が解っていないので、 DOMのプロパティにほとんど全ての内部データを読み書きするようにしてしましました。 処理コストやセキュリティを考えるとダメな気がしています。 表示と内部データのズレが厄介なバグになりそうと思い内部にデータを 持たない方針にしたのに無理があった気がします。 こういうのが厄介なので、データバインディングやMVCという事が叫ばれているのかなと 勝手に想像しておりました。 データ書き換えとDOM反映がセットになってしまうと非効率な処理もあると思いますので、 分離しているのが、AngularJSやReact.jsなのかなと勝手に思っています。 現状のトレンドがどの地点にあるのかを、幅広いご意見から探りたいと思ったしだいです。 まったく理解はしておりませんが「Web Components」という言葉も気になっております。 貴重なご意見の数々、勉強になりました。