エンジニア採用で勉強したこと ②フレームワーク・ライブラリ

こんにちは。エンジニア採用初級者のkinoponです。
前回はWebの基本構造と言語について勉強をしました。
今回はライブラリ/フレームワークについて勉強をします。

相変わらず参考書籍はこちらです。(著者の方にリプをいただき感激w)

そもそもライブラリとフレームワークの違いとは

なんとなく面接でよく聞く用語でしたし、言葉の語感は知ってました。
書籍によると・・

ライブラリ:よく使う処理コードをまとめたもの

ファイル読み込む、Webサイトにログイン、文章を単語に分解など
よく使うプログラムを汎用化したもので採用ではプロダクトの特徴を伝える目的で使われる。フレームワークに比べ細かい話。

フレームワーク:効率よくアプリケーションを作る考え方+基本的な部品
Webアプリケーション作成の枠組みを利用すること。言語とセットで覚える。ライブラリに比べると基本のセット、テンプレートの枠組みのようなもの。

・・なんとなくわかったという感じです。

フレームワークの理解を深めために以下の動画も確認しました。



フロントエンドのライブラリとフレームワーク

・jQuery:JavaScriptライブラリ
低コストで簡単。シンプルなWebアプリならいける。

・React:JavaScriptフレームワーク
Facebook主導で開発されている。
SPAやモバイルアプリで使われている。

・Vue.js:JavaScriptフレームワーク
一人の天才主導の開発だそうです。
WebアプリのUI開発に用いられるフレームワーク
Angularを洗練して使いやすくしている。日本で人気

・Angular:JavaScriptフレームワーク
Google主導で開発されている。
複雑な処理のあるページをコンパクトにまとめたい
フロントエンド開発に向いている。結構複雑。

・Nuxt.js:VueベースのJavaScriptフレームワーク
UIはVue.jsでそれ以外はWebアプリ開発に必要な機能が組み込まれている。noteも利用している。

・Next.js:ReactベースのJavaScriptフレームワーク

前回紹介したこちらでも話は重複しているかもです。

バックエンドのライブラリとフレームワーク

・Spring Framework:Java フレームワーク

Javaで使われている、Webアプリ+Javaで動作するアプリも作れる

・Play Framework:Java Scalaフレームワーク

Java Scalaで使われ、特にScalaでは確固たる地位

・Laravel :PHP フレームワーク

開発の自由度が高い。最もよく使われているPHPフレームワーク
以前に人気であったのがCakePHPというフレームワーク

・Ruby on Rails:Ruby フレームワーク
最も有名なWebアプリケーションフレームワーク。
高速で作れる、初心者でもわかりやすく作れる。
クックパッドや食べログで採用された実績

・Django:Pythonフレームワーク
高機能Webアプリケーションフレームワーク

・Flask:Pythonフレームワーク

無駄のないシンプルな構造。拡張性もあるので柔軟で使いやすい。

・TensorFlow:ライブラリ

Google開発。機械学習・ディープラーニングのために利用されるオープンソースライブラリ。

・React Native:JavaScriptフレームワーク

iOSとAndroidのアプリを作るフレームワーク。
1つのコードでiOSとAndroid両方で動くものが作れる。
Reactよは別物

・Unity:ゲームを作るための総合開発環境
iOS Android Mac windows、コンシューマーなど幅広く対応


エンジニアの方が見たら色々言いたいことはあるんだろうなと思うのですが、あくまで初心者が勉強用に強引な理解をしていると思ってください(ディフェンス)

エンジニア採用面接で人事が横で聞いていることに
こういう違いがあったんだな〜と理解が出来たのが嬉しかったのと
ちょっととっかかりがあってよかったです。

自社の採用している求人要件と照らし合わせてみると上記で
大体カバーされていました。

宇宙語がちょっとずつ身近になってきます。

次はデータベースにチャレンジです!


この記事が気に入ったらサポートをしてみませんか?