web系の話。よくわかんなくなったので調べたことまとめとく。
まずフロントエンド、定義よくわかんないけど視覚的な部分?
- HTML
- CSS
- JavaScript
このへんは必須っぽい。
JavaScriptのフレームワーク
React.js、Vue.js、Angular.jsというものがあるらしい。
俺はProgateにあったのでReact勉強したけど、アジア圏ではVueのが人気らしい。
あと、厳密にはReactがライブラリでVueはフレームワークに当たるのだとか。知らんけど。
React, Vue.js はフレームワーク?ライブラリ? - Qiita
それで考えるとVue触ってたほうが良かったのではと思わなくもない。ただ最近Vueの仕様変更がどうのこうので色々あったらしいので、結果オーライ?よぐわがんね
Reactのフレームワーク
Reactをより良い感じに作れるやつ。
- CRA(create-react-app)
- Gatsby
- Next.js
みたいなのがあるらしい。
ReactのフレームワークとしてNext.jsを採用した3つの理由|Playground発!アプリ開発会社の技術ブログ
これとか読むと、ブログ系はGatsbyで、アプリって感じのやつはNext.jsって感じなのかなぁ。よくわかんね。
バックエンド
これも定義よくわかんないけど、サーバーを動かすときに使う言語っぽい。
ざっくりと選択肢は
があるっぽい。さらに言えばNode.jsという、サーバーサイドをJavaScriptでやる方法もあるらしい。ただこれは向き不向きが大きくて、小規模でリアルタイム通信のあるWebアプリケーションが良いんだとか。チャットボットみたいなの作るならNode.jsが良いのかもしれん。
更に上3つは
- PHP/Laravel
- Python/Django
- Ruby/Ruby on Rails
という進化系を持っているようだ。フレームワークと呼ばれるやつで、これを使うと凄いいい感じかつ素早くウェブアプリが作れるらしい。
この3つの比較は死ぬほど読んでみたんだけど結局よくわからん。
Webフレームワークとして、Python/Django、PHP/Laravel、Ruby on Rails、それぞれの強みは何だと思いますか? - Quora
これの回答読むと、
- Django→DL/ML(ディープラーニングと機械学習)やOCR(スキャンとかで文字とか読み取るやつ)を使うならこれ
- Laravel→PHP使えるやつが多いからエンジニアの確保がしやすい(つまり仕事が多いし、雇う側からするとやすくなりやすい)あと、オールインワン的らしい
- Ruby on Rails→日本人が生み出してるから勉強が死ぬほどしやすいらしい。
って感じ。これだけ読むとDjangoいいじゃんと思うのだけど、学習コストが高いとかでんでんでおすすめされてなかったり。後普通に仕事が少ないっぽい。
phpが仕事のことを考えると最強感あったり、RailsはVueを使う上で楽なところがあったりとか色々あるっぽい。
---
結果よくわかんねーのだけども、ProgateにRuby on Railsがあるので、とりあえずRuby学ぼうかなと思う。初学者の王道らしいし。
後は個人的にNode.jsを学んでみたいぐらいか。
- Ruby→Ruby on Rails→Node.js
とやったあとに、学んだ内容を加味したり、Udemyの無料コース色々見ながら何ができるのか考えよう。現状だと方向性を決めることすらできん
方向を決めるだけでも基本的な知識が必要になるのだなぁと思うなどでした。