🩴

フレームワーク/フロントエンド・バックエンドエンジニアとは

2023/10/19に公開

この記事でわかること

  • フレームワークの概要
  • Webフレームワークについて

転職活動をしているときに知識不足と感じたため、改めて学習することにしました。

フレームワークについて

フレームワークは、特定の目的や用途に合わせて設計されたソフトウェアの基本的な骨組みやルールのセットのことです。
イメージとしては「開発に必要な機能があらかじめ用意された枠組み」のことです。
この枠組みが確立していることで、開発する時間を短縮することができます。

フレームワークの種類とは

フレームワークは数多く存在しており、具体的な例をあげると以下の通りです。

  • Webフレームワーク
  • モバイルアプリケーションフレームワーク
  • ゲーム開発フレームワーク
  • データベースアクセスフレームワーク
  • クラウドコンピューティングフレームワーク
  • テストフレームワーク

今記事では、「webフレームワーク」に焦点を当てて学習します。

webフレームワーク

Webフレームワークはウェブ開発を迅速かつ効率的に行うためのツールであり、共通の課題や問題に対するソリューションを提供します。
プログラミング言語に依存しPython、Ruby、JavaScriptなどがあります。

モバイルアプリケーションフレームワーク

ゲーム開発やアプリケーションを開発するためのフレームワークのことです。
プログラミング言語では、SwiftやObjective-C、Javaなどがあります。

データベースアクセスフレームワーク

データベースとのやり取りを効率化するためのフレームワークです。
一例としてHibernateやEntity Frameworkがあります。

クラウドコンピューティングフレームワーク

クラウドプラットフォームを活用するためのフレームワークやライブラリが存在し、アプリケーションのデプロイメント、スケーリング、セキュリティをサポートします。

テストフレームワーク

ソフトウェアテストを自動化するためのフレームワークのことです。

webフレームワークとは

Webフレームワークは、ウェブアプリケーション開発において使用されるソフトウェアの基盤です。これらのフレームワークは、ウェブアプリケーションの構築、開発、保守を容易にするためのツール、ライブラリ、設計パターン、標準規則を提供します。
またwebフレームワークは「フロントエンドフレームワーク」と「バックエンドフレームワーク」に分けられます。

フロントエンドフレームワークとは

HTML、CSS、JavaScriptを使用して、ユーザーがブラウザで対話する部分を設計、構築、管理します。代表的なフレームワークは以下の通りです。

  • React (Facebookが開発したフレームワーク,JSライブラリ)
  • Angular (Googleが開発したフレームワーク)

現状の感覚だと「React」を採用しているケースが多いと考えています。

Reactについて詳しく

2013年にリリースされて人気が高まっているJSライブラリのことです。Webアプリの見た目を宣言的に記述することができることに加え、シンプルな記述が可能です。メリットとしてはコードの可読性を高めることや、品質が維持しやすいことが挙げられます。

フロントエンドエンジニアの仕事内容

ユーザー視点でデザイン面を考えてUI/UXの向上を目指すお仕事です。webデザイナーが作成したデザインをプログラミング言語を使って、サイト上に反映させます。
重要なポイントとしては、webデザイナーとコミュニケーションをとって、相手の意図を誤らないように注意することや、自分の考えと加えてしまうとクライアントとのトラブルにもつながるので、相手の意図を正確に読み取る力が必要です。

UI/UXとは?
  • UI(ユーザーインターフェース)
    サービスとユーザーとの接点のことで、リンクが見やすい、フォントが見やすいのこと
    UIを向上させるということは、サイトが見やすく改善されるという意味となる

  • UX(ユーザーエクスペリエンス)
    ユーザー体験のことで、アプリの読み込み速度、何か購入したい場合のわかりやすさのこと
    UXを向上させるということは、これらが改善されるという意味となる

バッグエンドフレームワークとは

ウェブアプリケーションの中核を構築するための重要なツールであり、セキュアで効率的なサーバーサイドコードを開発するためのフレームワークです。代表的なフレームワークは以下の通りです。

  • Ruby on Rails (Rubyプログラミング言語に基づき、Webアプリケーション開発を迅速化)
  • Django (Pythonプログラミング言語に基づき、高度なセキュリティと堅牢な設計が可能)
バッグエンドエンジニアの仕事内容

バッグエンドエンジニアは、システムの要件定義から、全体設計、サーバーの設計と構築、データベースの設計と構築、プログラム開発、保守・運用まで多岐にわたります。代表的な仕事内容は以下の通りです。

  • Webサービスの構築
  • 企業向けの業務システムの構築

主にユーザーの購入履歴や閲覧履歴など機能面の実装を行います。工場であれば製品の在庫状況などをデータベースで管理できるシステムを実装します。黙々と作業する印象ですが、フロントエンドエンジニアやクライアントなどコミュニケーションが必要になることが多いです。またデータベース知識やセキュリティ意識が必要になるため、日々学習する成長意欲や責任感が必要となることが多いと考えられます。

まとめ

  • フレームワークとは「開発に必要な機能があらかじめ用意された枠組み」のこと
  • フロントエンドエンジニアはデザイン面からユーザーが使いやすいようにUI/UXの向上を目指す
  • バッグエンドエンジニアは購入履歴などデータベースで管理できるようにする

以上で今記事を終わります。ご閲覧ありがとうございました。

Discussion